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
This commit is contained in:
npraveen35 2017-08-18 15:48:54 +05:30 committed by Julie Pichon
parent e8a87e1478
commit 6c8e5177bc
2 changed files with 8 additions and 18 deletions

View File

@ -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 "

View File

@ -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):