Baremetal NIC list should return a list

Since the list_nics* methods were changed to use raw HTTP client rather
than the ironic client, they return a dict rather than a list. Instead
of getting this:

[{'address': '00:11:22:33:44:55', ...}, ...]

We get this:

{'ports': [{'address': '00:11:22:33:44:55', ...}, ...]}

This change removes this outer dict and returns to the old behaviour of
returning a list. This affects list_nics and list_nics_for_machine.

Change-Id: I3cb9ef5d97cf911cb4897b00ab4cef77b76efaa4
This commit is contained in:
Mark Goddard 2017-12-06 15:59:28 +00:00 committed by Julia Kreger
parent faaf5f024b
commit 9bc4e1373b
2 changed files with 9 additions and 8 deletions

View File

@ -8812,24 +8812,25 @@ class OpenStackCloud(
def list_nics(self):
msg = "Error fetching machine port list"
return self._baremetal_client.get("/ports",
data = self._baremetal_client.get("/ports",
microversion="1.6",
error_message=msg)
return data['ports']
def list_nics_for_machine(self, uuid):
"""Returns a list of ports present on the machine node.
:param uuid: String representing machine UUID value in
order to identify the machine.
:returns: A dictionary containing containing a list of ports,
associated with the label "ports".
:returns: A list of ports.
"""
msg = "Error fetching port list for node {node_id}".format(
node_id=uuid)
url = "/nodes/{node_id}/ports".format(node_id=uuid)
return self._baremetal_client.get(url,
data = self._baremetal_client.get(url,
microversion="1.6",
error_message=msg)
return data['ports']
def get_nic_by_mac(self, mac):
try:

View File

@ -49,8 +49,8 @@ class TestBaremetalPort(base.IronicTestCase):
])
return_value = self.op_cloud.list_nics()
self.assertEqual(2, len(return_value['ports']))
self.assertEqual(self.fake_baremetal_port, return_value['ports'][0])
self.assertEqual(2, len(return_value))
self.assertEqual(self.fake_baremetal_port, return_value[0])
self.assert_calls()
def test_list_nics_failure(self):
@ -75,8 +75,8 @@ class TestBaremetalPort(base.IronicTestCase):
return_value = self.op_cloud.list_nics_for_machine(
self.fake_baremetal_node['uuid'])
self.assertEqual(2, len(return_value['ports']))
self.assertEqual(self.fake_baremetal_port, return_value['ports'][0])
self.assertEqual(2, len(return_value))
self.assertEqual(self.fake_baremetal_port, return_value[0])
self.assert_calls()
def test_list_nics_for_machine_failure(self):