def _init_adapters(): # Generate a list of active adapters ids = scsiutil._genHostList(ISCSI_PROCNAME) util.SMlog(ids) adapter = {} for host in ids: try: # For Backward compatibility if hasattr(iscsilib, 'get_targetIQN'): targetIQN = iscsilib.get_targetIQN(host) else: targetIQN = util.get_single_entry(glob.glob(\ '/sys/class/iscsi_host/host%s/device/session*/iscsi_session*/targetname' % host)[0]) if hasattr(iscsilib, 'get_targetIP_and_port'): (addr, port) = iscsilib.get_targetIP_and_port(host) else: addr = util.get_single_entry(glob.glob(\ '/sys/class/iscsi_host/host%s/device/session*/connection*/iscsi_connection*/persistent_address' % host)[0]) port = util.get_single_entry(glob.glob(\ '/sys/class/iscsi_host/host%s/device/session*/connection*/iscsi_connection*/persistent_port' % host)[0]) entry = "%s:%s" % (addr,port) adapter[entry] = host except Exception, e: pass
def refresh(sid, npaths): # Refresh the multipath status util.SMlog("Refreshing LUN %s" % sid) if len(sid): path = DEVBYIDPATH + "/scsi-" + sid if not os.path.exists(path): scsiutil.rescan(scsiutil._genHostList("")) if not util.wait_for_path(path, 60): raise xs_errors.XenError('Device not appeared yet') _refresh_DMP(sid, npaths) else: raise xs_errors.XenError('MPath not written yet')
def _init_adapters(): # Generate a list of active adapters ids = scsiutil._genHostList(ISCSI_PROCNAME) util.SMlog(ids) adapter = {} for host in ids: try: targetIQN = iscsilib.get_targetIQN(host) (addr, port) = iscsilib.get_targetIP_and_port(host) entry = "%s:%s" % (addr, port) adapter[entry] = host except Exception, e: pass
def refresh(sid,npaths): # Refresh the multipath status util.SMlog("Refreshing LUN %s" % sid) if len(sid): path = DEVBYIDPATH + "/scsi-" + sid if not os.path.exists(path): scsiutil.rescan(scsiutil._genHostList("")) if not util.wait_for_path(path,60): raise xs_errors.XenError('Device not appeared yet') if not (mpp_luncheck.is_RdacLun(sid)): _refresh_DMP(sid,npaths) else: _refresh_MPP(sid,npaths) else: raise xs_errors.XenError('MPath not written yet')
def _init_adapters(self): # Generate a list of active adapters ids = scsiutil._genHostList(ISCSI_PROCNAME) util.SMlog(ids) self._adapter = {} for host in ids: try: targetIQN = iscsilib.get_targetIQN(host) if targetIQN != self.targetIQN: continue (addr, port) = iscsilib.get_targetIP_and_port(host) entry = "%s:%s" % (addr, port) self._adapter[entry] = host except: pass self._devs = scsiutil.cacheSCSIidentifiers()
def _init_adapters(self): # Generate a list of active adapters ids = scsiutil._genHostList(ISCSI_PROCNAME) util.SMlog(ids) self.adapter = {} for host in ids: try: targetIQN = iscsilib.get_targetIQN(host) if targetIQN != self.targetIQN: continue (addr, port) = iscsilib.get_targetIP_and_port(host) entry = "%s:%s" % (addr,port) self.adapter[entry] = host except: pass self.devs = scsiutil.cacheSCSIidentifiers()
def _init_adapters(): # Generate a list of active adapters ids = scsiutil._genHostList(ISCSI_PROCNAME) util.SMlog(ids) adapter = {} for host in ids: try: targetIQN = util.get_single_entry(glob.glob(\ '/sys/class/iscsi_host/host%s/device/session*/iscsi_session*/targetname' % host)[0]) addr = util.get_single_entry(glob.glob(\ '/sys/class/iscsi_host/host%s/device/session*/connection*/iscsi_connection*/persistent_address' % host)[0]) port = util.get_single_entry(glob.glob(\ '/sys/class/iscsi_host/host%s/device/session*/connection*/iscsi_connection*/persistent_port' % host)[0]) entry = "%s:%s" % (addr, port) adapter[entry] = host except Exception, e: pass
def _init_adapters(): # Generate a list of active adapters ids = scsiutil._genHostList(ISCSI_PROCNAME) util.SMlog(ids) adapter = {} for host in ids: try: targetIQN = util.get_single_entry(glob.glob(\ '/sys/class/iscsi_host/host%s/device/session*/iscsi_session*/targetname' % host)[0]) addr = util.get_single_entry(glob.glob(\ '/sys/class/iscsi_host/host%s/device/session*/connection*/iscsi_connection*/persistent_address' % host)[0]) port = util.get_single_entry(glob.glob(\ '/sys/class/iscsi_host/host%s/device/session*/connection*/iscsi_connection*/persistent_port' % host)[0]) entry = "%s:%s" % (addr,port) adapter[entry] = host except Exception, e: pass
def refresh(sid, npaths): # Fix udev bug (?): make sure it updates /dev/disk/by-id # Trigger the old way, if possible if os.path.exists("/sbin/udevtrigger"): util.pread2(["/sbin/udevtrigger"]) else: util.pread2(["/sbin/udevadm", "trigger"]) # Refresh the multipath status util.SMlog("Refreshing LUN %s" % sid) if len(sid): path = DEVBYIDPATH + "/scsi-" + sid if not os.path.exists(path): scsiutil.rescan(scsiutil._genHostList("")) if not util.wait_for_path(path, 60): raise xs_errors.XenError('Device not appeared yet') if not (mpp_luncheck.is_RdacLun(sid)): _refresh_DMP(sid, npaths) else: _refresh_MPP(sid, npaths) else: raise xs_errors.XenError('MPath not written yet')
def refresh(sid,npaths): # Fix udev bug (?): make sure it updates /dev/disk/by-id # Trigger the old way, if possible if os.path.exists("/sbin/udevtrigger"): util.pread2(["/sbin/udevtrigger"]) else: util.pread2(["/sbin/udevadm","trigger"]) # Refresh the multipath status util.SMlog("Refreshing LUN %s" % sid) if len(sid): path = DEVBYIDPATH + "/scsi-" + sid if not os.path.exists(path): scsiutil.rescan(scsiutil._genHostList("")) if not util.wait_for_path(path,60): raise xs_errors.XenError('Device not appeared yet') if not (mpp_luncheck.is_RdacLun(sid)): _refresh_DMP(sid,npaths) else: _refresh_MPP(sid,npaths) else: raise xs_errors.XenError('MPath not written yet')
def _init_adapters(): # Generate a list of active adapters ids = scsiutil._genHostList(ISCSI_PROCNAME) util.SMlog("Host ids: %s" % ids) adapter = {} for host in ids: try: if hasattr(iscsilib, 'get_targetIP_and_port'): (addr, port) = iscsilib.get_targetIP_and_port(host) else: addr = util.get_single_entry( glob.glob( '/sys/class/iscsi_host/host%s/device/session*/connection*/iscsi_connection*/persistent_address' % host)[0]) port = util.get_single_entry( glob.glob( '/sys/class/iscsi_host/host%s/device/session*/connection*/iscsi_connection*/persistent_port' % host)[0]) adapter[host] = (addr, port) except Exception, e: XenCertPrint("Ignore host %d IP because of exception %s" % (host, str(e)))