Skip to content

Commit

Permalink
Merge pull request #42 from rd4398/rohand-issue#279
Browse files Browse the repository at this point in the history
'openstack node network list' command bug fix
  • Loading branch information
tzumainn authored Aug 17, 2022
2 parents 8256f49 + 7164727 commit 2e43b70
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 21 deletions.
39 changes: 30 additions & 9 deletions esiclient/tests/unit/v1/test_node_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ def setUp(self):
"address": "cc:cc:cc:cc:cc:cc",
"internal_info": {'tenant_vif_port_id': 'neutron_port_uuid_2'}
})
self.port4 = utils.create_mock_object({
"uuid": "port_uuid_4",
"node_uuid": "11111111-2222-3333-4444-bbbbbbbbbbbb",
"address": "dd:dd:dd:dd:dd:dd",
"internal_info": {'tenant_vif_port_id': 'neutron_port_uuid_4'}
})
self.node1 = utils.create_mock_object({
"uuid": "11111111-2222-3333-4444-aaaaaaaaaaaa",
"name": "node1"
Expand Down Expand Up @@ -106,14 +112,30 @@ def test_take_action(self):

parsed_args = self.check_parser(self.cmd, arglist, verifylist)

results = self.cmd.take_action(parsed_args)
expected = (
["Node", "MAC Address", "Port", "Network", "Fixed IP"],
[['node1', 'aa:aa:aa:aa:aa:aa', 'node1', 'test_network', '1.1.1.1'],
['node2', 'bb:bb:bb:bb:bb:bb', None, None, None],
['node2', 'cc:cc:cc:cc:cc:cc', 'node2', 'test_network', '2.2.2.2']]
)
self.assertEqual(expected, results)
self.app.client_manager.baremetal.port.list.\
assert_called_once_with(detail=True)

def test_take_action_neutron_port_does_not_exist(self):
self.app.client_manager.baremetal.port.list.\
return_value = [self.port4]

arglist = []
verifylist = []

parsed_args = self.check_parser(self.cmd, arglist, verifylist)

results = self.cmd.take_action(parsed_args)
expected = (
["Node", "MAC Address", "Port", "Network", "Fixed IP"],
[["node1", "aa:aa:aa:aa:aa:aa",
"node1", "test_network", "1.1.1.1"],
["node2", "bb:bb:bb:bb:bb:bb", None, None, None],
["node2", "cc:cc:cc:cc:cc:cc",
"node2", "test_network", "2.2.2.2"]]
[["node2", "dd:dd:dd:dd:dd:dd", None, None, None]]
)
self.assertEqual(expected, results)
self.app.client_manager.baremetal.port.list.\
Expand All @@ -130,10 +152,9 @@ def test_take_action_node_filter(self):

results = self.cmd.take_action(parsed_args)
expected = (
["Node", "MAC Address", "Port", "Network", "Fixed IP"],
[["node2", "bb:bb:bb:bb:bb:bb", None, None, None],
["node2", "cc:cc:cc:cc:cc:cc",
"node2", "test_network", "2.2.2.2"]]
["Node", "MAC Address", "Port", "Network", "Fixed IP"],
[['node2', 'bb:bb:bb:bb:bb:bb', None, None, None],
['node2', 'cc:cc:cc:cc:cc:cc', 'node2', 'test_network', '2.2.2.2']]
)
self.assertEqual(expected, results)
self.app.client_manager.baremetal.port.list.\
Expand Down
25 changes: 13 additions & 12 deletions esiclient/v1/node_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,30 +74,31 @@ def take_action(self, parsed_args):
if node.uuid == port.node_uuid), None).name

neutron_port_id = port.internal_info.get('tenant_vif_port_id')
neutron_port = None

if neutron_port_id:
neutron_port = next((np for np in neutron_ports
if np.id == neutron_port_id), None)

if neutron_port is not None:
network_id = neutron_port.network_id

if filter_network:
network_name = utils.get_network_display_name(
filter_network)
else:
network = next((network for network in networks
if network.id == network_id), None)
network_name = utils.get_network_display_name(network)

if not filter_network or filter_network.id == network_id:
if filter_network:
network = filter_network
else:
network = next((network for network in networks
if network.id == network_id), None)

network_name = utils.get_network_display_name(network)
fixed_ip = ''
if neutron_port.fixed_ips and \
len(neutron_port.fixed_ips) > 0:
fixed_ip = neutron_port.fixed_ips[0]['ip_address']
data.append([node_name, port.address,
neutron_port.name,
network_name,
fixed_ip])
data.append([node_name, port.address,
neutron_port.name,
network_name,
fixed_ip])
elif not filter_network:
data.append([node_name, port.address, None, None, None])

Expand Down

0 comments on commit 2e43b70

Please sign in to comment.