CP-5330: Start iSCSI properly.

Recent iSCSI package (iscsi-initiator-utils) has a different way to start
(there is no more the open-iscsi script). Also use service to start
the service properly.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Reviewed-by: Zheng Li <zheng.li@citrix.com>
CP-5330: Settle udev with proper command

The old udevsettle has been replaced with 'udevadm settle'.
This makes it backward compatible.
Moreover, the try block is very big and we do not handle specific
exceptions but we need to log them, at least.

Signed-off-by: Germano Percossi <germano.percossi@citrix.com>
Reviewed-by: Zheng Li <zheng.li@citrix.com>
CP-5330: Ignore innocuous errors from iscsiadm

When asked for open sessions, recent versions of iscsiadm return a code
different than 0 if list is empty.
Our function exn_on_failure raises an exception if return code is not
zero, so we must trap the exception and continue because an empty list
is fine.

The exception could be handled in a better way but our
exception system needs to be made better.

This patch does not affect old iscsiadm behaviour

Signed-off-by: Germano Percossi <germano.percossi@citrix.com>
Reviewed-by: Zheng Li <zheng.li@citrix.com>
CP-5330: Update scsi_id call

Because scsi_id call syntax has changed, now we use the new syntax and,
if failed, fallback to the old syntax.
Another failure raises an exception.

Signed-off-by: Germano Percossi <germano.percossi@citrix.com>
Reviewed-by: Zheng Li <zheng.li@citrix.com>
Merge changes for CP-5330

GitHub: closes #18 on xapi-project/sm