[Pkg-xen-devel] Bug#691805: xcp-storage-managers: Wrong path in iSCSI storage driver script
Leonardo Bruno Lopes
leobruno at gmail.com
Tue Oct 30 00:05:47 UTC 2012
Package: xcp-storage-managers
Version: 0.1.1-2
Severity: important
Dear Maintainer,
I can not create an iSCSI storage resource using the following command:
xe sr-create host-uuid=<my-host-uuid> content-type=user name-label="LVM over iSCSI SR"> shared=true device-config:target=192.168.10.100 device-config:targetIQN=<here-target-iqn> device-config:SCSIid=<my-scsi-id> type=lvhdoiscsi
(Note that I created a symlink
ln -s /usr/lib/xcp/sm/LVHDoISCSISR.py /usr/lib/xcp/sm/LVHDoISCSISR
so the driver 'lvhdoiscsi' could be recognised.)
This command should print the UUID of the new SR in STDOUT if it has created the SR successfully, but It failed with these messages, among others:
There was an SR backend failure.
status: non-zero exit
stdout:
stderr: Traceback (most recent call last):
File "/usr/lib/xcp/sm/LVHDoISCSISR", line 384, in <module>
SRCommand.run(LVHDoISCSISR, DRIVER_INFO)
File "/usr/lib/xcp/sm/SRCommand.py", line 261, in run
sr = driver(cmd, cmd.sr_uuid)
File "/usr/lib/xcp/sm/SR.py", line 136, in __init__
self.load(sr_uuid)
File "/usr/lib/xcp/sm/LVHDoISCSISR", line 153, in load
self._LUNprint(sr_uuid)
File "/usr/lib/xcp/sm/LVHDoISCSISR", line 183, in _LUNprint
self.iscsi.attach(sr_uuid)
File "/usr/lib/xcp/sm/ISCSISR.py", line 274, in attach
iscsilib.ensure_daemon_running_ok(self.localIQN)
File "/usr/lib/xcp/sm/iscsilib.py", line 315, in ensure_daemon_running_ok
if not is_iscsi_daemon_running():
File "/usr/lib/xcp/sm/iscsilib.py", line 198, in is_iscsi_daemon_running
(rc,stdout,stderr) = util.doexec(cmd)
File "/usr/lib/xcp/sm/util.py", line 129, in doexec
proc = subprocess.Popen(args,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,close_fds=True)
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
So I figured out that the SR creator script was trying to execute some binary using a wrongpath.
Comparing the /usr/lib/xcp/sm/iscsilib.py script from the xcp-storage-managers Debian package with its equivalent script shipped with XCP CentOS-based distro I could confirm that they are the same.
What I did was to alter line 198 of the /usr/lib/xcp/sm/iscsilib.py file from
cmd = ["/sbin/pidof", "-s", "/sbin/iscsid"]
to
cmd = ["/bin/pidof", "-s", "/usr/sbin/iscsid"]
to reflect the actual path of the 'iscsid' binary in Debian.
However, I think it's more 'debianistic' to get this path each time the script runs (something like 'which iscsid') or make it configurable by some variable or config file.
Thanks in advance!
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=pt_BR.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages xcp-storage-managers depends on:
ii blktap-utils 2.0.90-1
ii libc6 2.13-35
ii libxenstore3.0 4.1.3-2
ii python 2.7.3~rc2-1
ii python2.7 2.7.3~rc2-2.1
ii uuid-runtime 2.20.1-5.2
Versions of packages xcp-storage-managers recommends:
ii lvm2 2.02.95-4
ii nfs-common 1:1.2.6-3
xcp-storage-managers suggests no packages.
-- no debconf information
More information about the Pkg-xen-devel
mailing list