def get_fc_hctl_mappings(self): from infi.hbaapi import get_ports_generator result = {} for local_port in get_ports_generator().iter_ports(): for remote_port in local_port.discovered_ports: result[remote_port.hct] = (local_port, remote_port,) return result
def test_iterface(self, mock): from .test_generators import get_list_of_generators from infi.hbaapi import get_ports_collection, get_ports_generator mock.return_value = get_list_of_generators() generator = get_ports_generator() self.assertEqual(mock.call_count, 1) available_generators = [item for item in generator.iter_generators()] self.assertEqual(len(available_generators), 1) collection = get_ports_collection() self.assertEqual(len(collection.get_ports()), 0)
def get_fc_hctl_mappings(self): from infi.hbaapi import get_ports_generator result = {} for local_port in get_ports_generator().iter_ports(): for remote_port in local_port.discovered_ports: result[remote_port.hct] = ( local_port, remote_port, ) return result
def get_hct(hba_port_wwn, remote_port_wwn): from infi.hbaapi import get_ports_generator port_hct = (-1, 0, -1) for hba_port in get_ports_generator().iter_ports(): if not (hba_port.port_wwn == hba_port_wwn): continue for remote_port in hba_port.discovered_ports: if remote_port.port_wwn == remote_port_wwn: port_hct = remote_port.hct return port_hct
def get_list_of_multipath_devices(self): from infi.hbaapi import get_ports_generator ports = list(get_ports_generator().iter_ports()) multipaths = [] multipath_device_paths = self.parse_paths_list(self.read_multipaths_list()) for mpath_dev_path in multipath_device_paths: info = self.parse_single_paths_list(mpath_dev_path, self.read_single_paths_list(mpath_dev_path)) if info is None: continue vendor_id, product_id, load_balance = info['vendor_id'], info['product_id'], info['load_balance'] paths = [SolarisSinglePathEntry(p['initiator_port_name'], p['target_port_name'], p['state'], p['disabled'], mpath_dev_path, ports) for p in info['paths']] mpath_dev_path = path.join('/devices', mpath_dev_path.lstrip('/')) if \ 'array-controller' in mpath_dev_path else mpath_dev_path multipaths.append(SolarisMultipathEntry(mpath_dev_path, vendor_id, product_id, load_balance, paths)) return multipaths
def __init__(self): from infi.hbaapi import get_ports_generator from infi.hbaapi.generators.hbaapi import HbaApi self._ports = list(get_ports_generator().iter_ports()) self._port_mappings = list(HbaApi().iter_port_mappings())