def test_plug_network_when_network_cant_be_found(self): net_id = t_constants.MOCK_NOVA_INTERFACE.net_id interface_attach = self.driver.nova_client.servers.interface_attach interface_attach.side_effect = nova_exceptions.NotFound( 404, message='Network not found') self.assertRaises(network_base.NetworkException, self.driver.plug_network, t_constants.MOCK_COMPUTE_ID, net_id)
def test_plug_port(self): port = mock.MagicMock() port.id = self.PORT_ID interface_attach = self.driver.nova_client.servers.interface_attach amphora = data_models.Amphora( id=self.AMPHORA_ID, load_balancer_id=self.LB_ID, compute_id=self.COMPUTE_ID, status=self.ACTIVE, lb_network_ip=self.LB_NET_IP, ha_port_id=self.HA_PORT_ID, ha_ip=self.HA_IP) self.driver.plug_port(amphora, port) interface_attach.assert_called_once_with(server=amphora.compute_id, net_id=None, fixed_ip=None, port_id=self.PORT_ID) # NotFound cases interface_attach.side_effect = nova_exceptions.NotFound( 1, message='Instance') self.assertRaises(network_base.AmphoraNotFound, self.driver.plug_port, amphora, port) interface_attach.side_effect = nova_exceptions.NotFound( 1, message='Network') self.assertRaises(network_base.NetworkNotFound, self.driver.plug_port, amphora, port) interface_attach.side_effect = nova_exceptions.NotFound( 1, message='bogus') self.assertRaises(network_base.PlugNetworkException, self.driver.plug_port, amphora, port) # Already plugged case should not raise an exception interface_attach.side_effect = nova_exceptions.Conflict(1) self.driver.plug_port(amphora, port) # Unknown error case interface_attach.side_effect = TypeError self.assertRaises(network_base.PlugNetworkException, self.driver.plug_port, amphora, port)
def test_plug_vip_errors_when_nova_cant_find_network_to_attach(self): lb = dmh.generate_load_balancer_tree() show_subnet = self.driver.neutron_client.show_subnet show_subnet.return_value = {'subnet': {'id': lb.vip.subnet_id}} list_security_groups = self.driver.neutron_client.list_security_groups lsc_side_effect = [None, {'security_groups': [{'id': 'lb-sec-grp1'}]}] list_security_groups.side_effect = lsc_side_effect interface_attach = self.driver.nova_client.servers.interface_attach interface_attach.side_effect = nova_exceptions.NotFound(404, "Network") self.assertRaises(network_base.PlugVIPException, self.driver.plug_vip, lb, lb.vip)