def test_get_igroup_by_initiators_multiple(self): initiators = ["11:22:33:44:55:66:77:88", "88:77:66:55:44:33:22:11"] expected_igroup = { "initiator-group-os-type": "default", "initiator-group-type": "fcp", "initiator-group-name": "openstack-igroup1", } response = netapp_api.NaElement( etree.XML( """<results status="passed"> <attributes-list> <initiator-group-info> <initiator-group-alua-enabled>true</initiator-group-alua-enabled> <initiator-group-name>%(initiator-group-name)s</initiator-group-name> <initiator-group-os-type>default</initiator-group-os-type> <initiator-group-throttle-borrow>false</initiator-group-throttle-borrow> <initiator-group-throttle-reserve>0</initiator-group-throttle-reserve> <initiator-group-type>%(initiator-group-type)s</initiator-group-type> <initiator-group-use-partner>true</initiator-group-use-partner> <initiator-group-uuid>f8aa707a-57fa-11e4-ad08-123478563412 </initiator-group-uuid> <initiator-group-vsa-enabled>false</initiator-group-vsa-enabled> <initiators> <initiator-info> <initiator-name>11:22:33:44:55:66:77:88</initiator-name> </initiator-info> <initiator-info> <initiator-name>88:77:66:55:44:33:22:11</initiator-name> </initiator-info> </initiators> <vserver>cinder-iscsi</vserver> </initiator-group-info> </attributes-list> <num-records>1</num-records> </results>""" % expected_igroup ) ) self.connection.invoke_successfully.return_value = response igroups = self.client.get_igroup_by_initiators(initiators) # make these lists of dicts comparable using hashable dictionaries igroups = set([netapp_utils.hashabledict(igroup) for igroup in igroups]) expected = set([netapp_utils.hashabledict(expected_igroup)]) self.assertSetEqual(igroups, expected)
def test_get_igroup_by_initiators_multiple(self): initiators = fake.FC_FORMATTED_INITIATORS response = netapp_api.NaElement( etree.XML( """<results status="passed"> <initiator-groups> <initiator-group-info> <initiator-group-name>%(initiator-group-name)s</initiator-group-name> <initiator-group-type>%(initiator-group-type)s</initiator-group-type> <initiator-group-uuid>1477ee47-0e1f-4b35-a82c-dcca0b76fc44 </initiator-group-uuid> <initiator-group-os-type>linux</initiator-group-os-type> <initiators> <initiator-info> <initiator-name>21:00:00:24:ff:40:6c:c3</initiator-name> </initiator-info> <initiator-info> <initiator-name>21:00:00:24:ff:40:6c:c2</initiator-name> </initiator-info> </initiators> </initiator-group-info> <initiator-group-info> <initiator-group-name>openstack-igroup2</initiator-group-name> <initiator-group-type>fcp</initiator-group-type> <initiator-group-uuid>1477ee47-0e1f-4b35-a82c-dcca0b76fc44 </initiator-group-uuid> <initiator-group-os-type>linux</initiator-group-os-type> <initiators> <initiator-info> <initiator-name>21:00:00:24:ff:40:6c:c2</initiator-name> </initiator-info> </initiators> </initiator-group-info> </initiator-groups> </results>""" % fake.IGROUP1 ) ) self.connection.invoke_successfully.return_value = response igroups = self.client.get_igroup_by_initiators(initiators) # make these lists of dicts comparable using hashable dictionaries igroups = set([netapp_utils.hashabledict(igroup) for igroup in igroups]) expected = set([netapp_utils.hashabledict(fake.IGROUP1)]) self.assertSetEqual(igroups, expected)
def test_get_igroup_by_initiators_multiple(self): initiators = ['11:22:33:44:55:66:77:88', '88:77:66:55:44:33:22:11'] expected_igroup = { 'initiator-group-os-type': 'default', 'initiator-group-type': 'fcp', 'initiator-group-name': 'openstack-igroup1', } response = netapp_api.NaElement( etree.XML("""<results status="passed"> <attributes-list> <initiator-group-info> <initiator-group-alua-enabled>true</initiator-group-alua-enabled> <initiator-group-name>%(initiator-group-name)s</initiator-group-name> <initiator-group-os-type>default</initiator-group-os-type> <initiator-group-throttle-borrow>false</initiator-group-throttle-borrow> <initiator-group-throttle-reserve>0</initiator-group-throttle-reserve> <initiator-group-type>%(initiator-group-type)s</initiator-group-type> <initiator-group-use-partner>true</initiator-group-use-partner> <initiator-group-uuid>f8aa707a-57fa-11e4-ad08-123478563412 </initiator-group-uuid> <initiator-group-vsa-enabled>false</initiator-group-vsa-enabled> <initiators> <initiator-info> <initiator-name>11:22:33:44:55:66:77:88</initiator-name> </initiator-info> <initiator-info> <initiator-name>88:77:66:55:44:33:22:11</initiator-name> </initiator-info> </initiators> <vserver>cinder-iscsi</vserver> </initiator-group-info> </attributes-list> <num-records>1</num-records> </results>""" % expected_igroup)) self.connection.invoke_successfully.return_value = response igroups = self.client.get_igroup_by_initiators(initiators) # make these lists of dicts comparable using hashable dictionaries igroups = set( [netapp_utils.hashabledict(igroup) for igroup in igroups]) expected = set([netapp_utils.hashabledict(expected_igroup)]) self.assertSetEqual(igroups, expected)
def test_get_igroup_by_initiators_multiple(self): initiators = fake.FC_FORMATTED_INITIATORS response = netapp_api.NaElement( etree.XML("""<results status="passed"> <initiator-groups> <initiator-group-info> <initiator-group-name>%(initiator-group-name)s</initiator-group-name> <initiator-group-type>%(initiator-group-type)s</initiator-group-type> <initiator-group-uuid>1477ee47-0e1f-4b35-a82c-dcca0b76fc44 </initiator-group-uuid> <initiator-group-os-type>linux</initiator-group-os-type> <initiators> <initiator-info> <initiator-name>21:00:00:24:ff:40:6c:c3</initiator-name> </initiator-info> <initiator-info> <initiator-name>21:00:00:24:ff:40:6c:c2</initiator-name> </initiator-info> </initiators> </initiator-group-info> <initiator-group-info> <initiator-group-name>openstack-igroup2</initiator-group-name> <initiator-group-type>fcp</initiator-group-type> <initiator-group-uuid>1477ee47-0e1f-4b35-a82c-dcca0b76fc44 </initiator-group-uuid> <initiator-group-os-type>linux</initiator-group-os-type> <initiators> <initiator-info> <initiator-name>21:00:00:24:ff:40:6c:c2</initiator-name> </initiator-info> </initiators> </initiator-group-info> </initiator-groups> </results>""" % fake.IGROUP1)) self.connection.invoke_successfully.return_value = response igroups = self.client.get_igroup_by_initiators(initiators) # make these lists of dicts comparable using hashable dictionaries igroups = set( [netapp_utils.hashabledict(igroup) for igroup in igroups]) expected = set([netapp_utils.hashabledict(fake.IGROUP1)]) self.assertSetEqual(igroups, expected)
def test_get_igroup_by_initiators(self): initiators = [fake.FC_FORMATTED_INITIATORS[0]] response = netapp_api.NaElement( etree.XML( """<results status="passed"> <initiator-groups> <initiator-group-info> <initiator-group-name>%(initiator-group-name)s</initiator-group-name> <initiator-group-type>%(initiator-group-type)s</initiator-group-type> <initiator-group-uuid>1477ee47-0e1f-4b35-a82c-dcca0b76fc44 </initiator-group-uuid> <initiator-group-os-type>linux</initiator-group-os-type> <initiator-group-throttle-reserve>0</initiator-group-throttle-reserve> <initiator-group-throttle-borrow>false </initiator-group-throttle-borrow> <initiator-group-vsa-enabled>false</initiator-group-vsa-enabled> <initiator-group-alua-enabled>true</initiator-group-alua-enabled> <initiator-group-report-scsi-name-enabled>true </initiator-group-report-scsi-name-enabled> <initiator-group-use-partner>true</initiator-group-use-partner> <initiators> <initiator-info> <initiator-name>21:00:00:24:ff:40:6c:c3</initiator-name> </initiator-info> </initiators> </initiator-group-info> </initiator-groups> </results>""" % fake.IGROUP1 ) ) self.connection.invoke_successfully.return_value = response igroups = self.client.get_igroup_by_initiators(initiators) # make these lists of dicts comparable using hashable dictionaries igroups = set([netapp_utils.hashabledict(igroup) for igroup in igroups]) expected = set([netapp_utils.hashabledict(fake.IGROUP1)]) self.assertSetEqual(igroups, expected)
def test_get_igroup_by_initiators(self): initiators = [fake.FC_FORMATTED_INITIATORS[0]] response = netapp_api.NaElement( etree.XML("""<results status="passed"> <initiator-groups> <initiator-group-info> <initiator-group-name>%(initiator-group-name)s</initiator-group-name> <initiator-group-type>%(initiator-group-type)s</initiator-group-type> <initiator-group-uuid>1477ee47-0e1f-4b35-a82c-dcca0b76fc44 </initiator-group-uuid> <initiator-group-os-type>linux</initiator-group-os-type> <initiator-group-throttle-reserve>0</initiator-group-throttle-reserve> <initiator-group-throttle-borrow>false </initiator-group-throttle-borrow> <initiator-group-vsa-enabled>false</initiator-group-vsa-enabled> <initiator-group-alua-enabled>true</initiator-group-alua-enabled> <initiator-group-report-scsi-name-enabled>true </initiator-group-report-scsi-name-enabled> <initiator-group-use-partner>true</initiator-group-use-partner> <initiators> <initiator-info> <initiator-name>21:00:00:24:ff:40:6c:c3</initiator-name> </initiator-info> </initiators> </initiator-group-info> </initiator-groups> </results>""" % fake.IGROUP1)) self.connection.invoke_successfully.return_value = response igroups = self.client.get_igroup_by_initiators(initiators) # make these lists of dicts comparable using hashable dictionaries igroups = set( [netapp_utils.hashabledict(igroup) for igroup in igroups]) expected = set([netapp_utils.hashabledict(fake.IGROUP1)]) self.assertSetEqual(igroups, expected)
def test_get_igroup_by_initiators_multiple_pages(self): initiator = '11:22:33:44:55:66:77:88' expected_igroup1 = { 'initiator-group-os-type': 'default', 'initiator-group-type': 'fcp', 'initiator-group-name': 'openstack-igroup1', } expected_igroup2 = { 'initiator-group-os-type': 'default', 'initiator-group-type': 'fcp', 'initiator-group-name': 'openstack-igroup2', } response_1 = netapp_api.NaElement( etree.XML("""<results status="passed"> <attributes-list> <initiator-group-info> <initiator-group-alua-enabled>true</initiator-group-alua-enabled> <initiator-group-name>%(initiator-group-name)s</initiator-group-name> <initiator-group-os-type>default</initiator-group-os-type> <initiator-group-throttle-borrow>false</initiator-group-throttle-borrow> <initiator-group-throttle-reserve>0</initiator-group-throttle-reserve> <initiator-group-type>%(initiator-group-type)s</initiator-group-type> <initiator-group-use-partner>true</initiator-group-use-partner> <initiator-group-uuid>f8aa707a-57fa-11e4-ad08-123478563412 </initiator-group-uuid> <initiator-group-vsa-enabled>false</initiator-group-vsa-enabled> <initiators> <initiator-info> <initiator-name>11:22:33:44:55:66:77:88</initiator-name> </initiator-info> </initiators> <vserver>cinder-iscsi</vserver> </initiator-group-info> </attributes-list> <next-tag>12345</next-tag> <num-records>1</num-records> </results>""" % expected_igroup1)) response_2 = netapp_api.NaElement( etree.XML("""<results status="passed"> <attributes-list> <initiator-group-info> <initiator-group-alua-enabled>true</initiator-group-alua-enabled> <initiator-group-name>%(initiator-group-name)s</initiator-group-name> <initiator-group-os-type>default</initiator-group-os-type> <initiator-group-throttle-borrow>false</initiator-group-throttle-borrow> <initiator-group-throttle-reserve>0</initiator-group-throttle-reserve> <initiator-group-type>%(initiator-group-type)s</initiator-group-type> <initiator-group-use-partner>true</initiator-group-use-partner> <initiator-group-uuid>f8aa707a-57fa-11e4-ad08-123478563412 </initiator-group-uuid> <initiator-group-vsa-enabled>false</initiator-group-vsa-enabled> <initiators> <initiator-info> <initiator-name>11:22:33:44:55:66:77:88</initiator-name> </initiator-info> </initiators> <vserver>cinder-iscsi</vserver> </initiator-group-info> </attributes-list> <num-records>1</num-records> </results>""" % expected_igroup2)) self.connection.invoke_successfully.side_effect = [response_1, response_2] igroups = self.client.get_igroup_by_initiators([initiator]) # make these lists of dicts comparable using hashable dictionaries igroups = set( [netapp_utils.hashabledict(igroup) for igroup in igroups]) expected = set([netapp_utils.hashabledict(expected_igroup1), netapp_utils.hashabledict(expected_igroup2)]) self.assertSetEqual(igroups, expected)
def test_get_igroup_by_initiators_multiple_pages(self): initiator = '11:22:33:44:55:66:77:88' expected_igroup1 = { 'initiator-group-os-type': 'default', 'initiator-group-type': 'fcp', 'initiator-group-name': 'openstack-igroup1', } expected_igroup2 = { 'initiator-group-os-type': 'default', 'initiator-group-type': 'fcp', 'initiator-group-name': 'openstack-igroup2', } response_1 = netapp_api.NaElement( etree.XML("""<results status="passed"> <attributes-list> <initiator-group-info> <initiator-group-alua-enabled>true</initiator-group-alua-enabled> <initiator-group-name>%(initiator-group-name)s</initiator-group-name> <initiator-group-os-type>default</initiator-group-os-type> <initiator-group-throttle-borrow>false</initiator-group-throttle-borrow> <initiator-group-throttle-reserve>0</initiator-group-throttle-reserve> <initiator-group-type>%(initiator-group-type)s</initiator-group-type> <initiator-group-use-partner>true</initiator-group-use-partner> <initiator-group-uuid>f8aa707a-57fa-11e4-ad08-123478563412 </initiator-group-uuid> <initiator-group-vsa-enabled>false</initiator-group-vsa-enabled> <initiators> <initiator-info> <initiator-name>11:22:33:44:55:66:77:88</initiator-name> </initiator-info> </initiators> <vserver>cinder-iscsi</vserver> </initiator-group-info> </attributes-list> <next-tag>12345</next-tag> <num-records>1</num-records> </results>""" % expected_igroup1)) response_2 = netapp_api.NaElement( etree.XML("""<results status="passed"> <attributes-list> <initiator-group-info> <initiator-group-alua-enabled>true</initiator-group-alua-enabled> <initiator-group-name>%(initiator-group-name)s</initiator-group-name> <initiator-group-os-type>default</initiator-group-os-type> <initiator-group-throttle-borrow>false</initiator-group-throttle-borrow> <initiator-group-throttle-reserve>0</initiator-group-throttle-reserve> <initiator-group-type>%(initiator-group-type)s</initiator-group-type> <initiator-group-use-partner>true</initiator-group-use-partner> <initiator-group-uuid>f8aa707a-57fa-11e4-ad08-123478563412 </initiator-group-uuid> <initiator-group-vsa-enabled>false</initiator-group-vsa-enabled> <initiators> <initiator-info> <initiator-name>11:22:33:44:55:66:77:88</initiator-name> </initiator-info> </initiators> <vserver>cinder-iscsi</vserver> </initiator-group-info> </attributes-list> <num-records>1</num-records> </results>""" % expected_igroup2)) self.connection.invoke_successfully.side_effect = [ response_1, response_2 ] igroups = self.client.get_igroup_by_initiators([initiator]) # make these lists of dicts comparable using hashable dictionaries igroups = set([hashabledict(igroup) for igroup in igroups]) expected = set( [hashabledict(expected_igroup1), hashabledict(expected_igroup2)]) self.assertSetEqual(igroups, expected)