From 6c8e5177bc54ba215aad310094b1eefd6ce709cf Mon Sep 17 00:00:00 2001 From: npraveen35 Date: Fri, 18 Aug 2017 15:48:54 +0530 Subject: [PATCH] Neutron agent delete: remove the wrong argument The take_action() function was calling get_agent() with the wrong attribute, causing agent deletion to fail. It turns out calling get_agent() isn't necessary; this removes the call entirely and moves the 'ignore_missing' argument to the delete_agent() function. Change-Id: Iaa3754a3be0765112f396495fa5fb2e32e6eae4e Closes-Bug: #1711301 --- openstackclient/network/v2/network_agent.py | 3 +-- .../unit/network/v2/test_network_agent.py | 23 ++++++------------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/openstackclient/network/v2/network_agent.py b/openstackclient/network/v2/network_agent.py index ed4970a48..ba2a2633b 100644 --- a/openstackclient/network/v2/network_agent.py +++ b/openstackclient/network/v2/network_agent.py @@ -134,8 +134,7 @@ class DeleteNetworkAgent(command.Command): for agent in parsed_args.network_agent: try: - obj = client.get_agent(agent, ignore_missing=False) - client.delete_agent(obj) + client.delete_agent(agent, ignore_missing=False) except Exception as e: result += 1 LOG.error(_("Failed to delete network agent with " diff --git a/openstackclient/tests/unit/network/v2/test_network_agent.py b/openstackclient/tests/unit/network/v2/test_network_agent.py index 12e40cdbc..709fb1c6c 100644 --- a/openstackclient/tests/unit/network/v2/test_network_agent.py +++ b/openstackclient/tests/unit/network/v2/test_network_agent.py @@ -121,10 +121,6 @@ class TestDeleteNetworkAgent(TestNetworkAgent): def setUp(self): super(TestDeleteNetworkAgent, self).setUp() self.network.delete_agent = mock.Mock(return_value=None) - self.network.get_agent = ( - network_fakes.FakeNetworkAgent.get_network_agents( - agents=self.network_agents) - ) # Get the command object to test self.cmd = network_agent.DeleteNetworkAgent(self.app, self.namespace) @@ -140,10 +136,8 @@ class TestDeleteNetworkAgent(TestNetworkAgent): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.take_action(parsed_args) - self.network.get_agent.assert_called_once_with( - self.network_agents[0].id, ignore_missing=False) self.network.delete_agent.assert_called_once_with( - self.network_agents[0]) + self.network_agents[0].id, ignore_missing=False) self.assertIsNone(result) def test_multi_network_agents_delete(self): @@ -160,7 +154,7 @@ class TestDeleteNetworkAgent(TestNetworkAgent): calls = [] for n in self.network_agents: - calls.append(call(n)) + calls.append(call(n.id, ignore_missing=False)) self.network.delete_agent.assert_has_calls(calls) self.assertIsNone(result) @@ -175,9 +169,9 @@ class TestDeleteNetworkAgent(TestNetworkAgent): ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) - find_mock_result = [self.network_agents[0], exceptions.CommandError] - self.network.get_agent = ( - mock.Mock(side_effect=find_mock_result) + delete_mock_result = [True, exceptions.CommandError] + self.network.delete_agent = ( + mock.Mock(side_effect=delete_mock_result) ) try: @@ -186,13 +180,10 @@ class TestDeleteNetworkAgent(TestNetworkAgent): except exceptions.CommandError as e: self.assertEqual('1 of 2 network agents failed to delete.', str(e)) - self.network.get_agent.assert_any_call( + self.network.delete_agent.assert_any_call( self.network_agents[0].id, ignore_missing=False) - self.network.get_agent.assert_any_call( + self.network.delete_agent.assert_any_call( 'unexist_network_agent', ignore_missing=False) - self.network.delete_agent.assert_called_once_with( - self.network_agents[0] - ) class TestListNetworkAgent(TestNetworkAgent):