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


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to