def test_no_down_agents(self, _client): self.NetworkServiceContext.return_value = \ DummyNetworkServiceContext(return_value=network_context) dummy_client = MagicMock() dummy_client.list_agents.side_effect = agents_all_alive.itervalues() _client.return_value = dummy_client quantum_utils.reassign_agent_resources() dummy_client.add_router_to_l3_agent.assert_not_called() dummy_client.remove_router_from_l3_agent.assert_not_called() dummy_client.add_network_to_dhcp_agent.assert_not_called() dummy_client.remove_network_from_dhcp_agent.assert_not_called()
def cluster_departed(): if config('plugin') == 'nvp': log('Unable to re-assign agent resources for failed nodes with nvp', level=WARNING) return if config('plugin') == 'n1kv': log('Unable to re-assign agent resources for failed nodes with n1kv', level=WARNING) return if eligible_leader(None): reassign_agent_resources() CONFIGS.write_all()
def test_agents_down_relocation_required(self, _client): self.NetworkServiceContext.return_value = \ DummyNetworkServiceContext(return_value=network_context) dummy_client = MagicMock() dummy_client.list_agents.side_effect = agents_some_dead.itervalues() dummy_client.list_networks_on_dhcp_agent.return_value = \ dhcp_agent_networks dummy_client.list_routers_on_l3_agent.return_value = \ l3_agent_routers _client.return_value = dummy_client quantum_utils.reassign_agent_resources() # Ensure routers removed from dead l3 agent dummy_client.remove_router_from_l3_agent.assert_has_calls( [call(l3_agent='84a04126-38ce-11e3-9449-3c970e8b1cf7', router_id='bong'), call(l3_agent='84a04126-38ce-11e3-9449-3c970e8b1cf7', router_id='baz')], any_order=True) # and re-assigned across the remaining two live agents dummy_client.add_router_to_l3_agent.assert_has_calls( [call(l3_agent='7128198e-38ce-11e3-ba78-3c970e8b1cf7', body={'router_id': 'bong'}), call(l3_agent='72453824-38ce-11e3-938e-3c970e8b1cf7', body={'router_id': 'baz'})], any_order=True) # Ensure networks removed from dead dhcp agent dummy_client.remove_network_from_dhcp_agent.assert_has_calls( [call(dhcp_agent='53d6eefc-38cc-11e3-b3c8-3c970e8b1cf7', network_id='foo'), call(dhcp_agent='53d6eefc-38cc-11e3-b3c8-3c970e8b1cf7', network_id='bar')], any_order=True) # and re-assigned across the remaining two live agents dummy_client.add_network_to_dhcp_agent.assert_has_calls( [call(dhcp_agent='3e3550f2-38cc-11e3-9617-3c970e8b1cf7', body={'network_id': 'foo'}), call(dhcp_agent='92b8b6bc-38ce-11e3-8537-3c970e8b1cf7', body={'network_id': 'bar'})], any_order=True)
def test_no_network_context(self): self.NetworkServiceContext.return_value = \ DummyNetworkServiceContext(return_value=None) quantum_utils.reassign_agent_resources() self.log.assert_called()