def test_virtual_machine_exists(self): test_utils.create_test_project('fake-domain:fake-project') test_utils.create_test_security_group('fake-domain:fake-project:default') test_utils.create_test_virtual_network('fake-domain:fake-project:left-vn') test_utils.create_test_virtual_network('fake-domain:fake-project:right-vn') st = test_utils.create_test_st(name='vm-template', virt_type='virtual-machine', intf_list=[['management', False], ['left', True], ['right', False]]) si = test_utils.create_test_si(name='vm-instance', count=2, intf_list=['', 'left-vn', 'right-vn']) def nova_oper(resource, oper, proj_name, **kwargs): if resource == 'servers' and oper == 'create': nova_vm = test_utils.FakeNovaServer(kwargs['name'], kwargs['name']) return nova_vm else: return mock.MagicMock() self.nova_mock.oper = nova_oper self.mocked_vnc.virtual_machine_create = test_utils.vm_create self.vm_manager.create_service(st, si) self.log_mock.info.assert_any_call(test_utils.AnyStringWith('Launching VM :')) self.log_mock.info.assert_any_call(test_utils.AnyStringWith('Created VM :')) self.log_mock.info.assert_any_call(test_utils.AnyStringWith(si.name)) self.log_mock.reset_mock() self.vm_manager.create_service(st, si) self.assertTrue(self.log_mock.info.call_count, 1)
def test_missing_flavor_in_template(self): test_utils.create_test_project('fake-domain:fake-project') test_utils.create_test_security_group( 'fake-domain:fake-project:default') test_utils.create_test_virtual_network( 'fake-domain:fake-project:left-vn') test_utils.create_test_virtual_network( 'fake-domain:fake-project:right-vn') st = test_utils.create_test_st(name='vm-template', virt_type='virtual-machine', intf_list=[['management', False], ['left', True], ['right', False]]) si = test_utils.create_test_si(name='vm-instance', count=2, intf_list=['', 'left-vn', 'right-vn']) def nova_oper(resource, oper, proj_name, **kwargs): if resource == 'flavors' and oper == 'find': return None else: return mock.MagicMock() self.nova_mock.oper = nova_oper st.params['flavor'] = None self.vm_manager.create_service(st, si) self.log_mock.error.assert_called_with( test_utils.AnyStringWith("Flavor not found"))
def test_nova_vm_create_fail(self): test_utils.create_test_project('fake-domain:fake-project') test_utils.create_test_security_group( 'fake-domain:fake-project:default') test_utils.create_test_virtual_network( 'fake-domain:fake-project:left-vn') test_utils.create_test_virtual_network( 'fake-domain:fake-project:right-vn') st = test_utils.create_test_st(name='vm-template', virt_type='virtual-machine', intf_list=[['management', False], ['left', True], ['right', False]]) si = test_utils.create_test_si(name='vm-instance', count=2, intf_list=['', 'left-vn', 'right-vn']) def nova_oper(resource, oper, proj_name, **kwargs): if resource == 'servers' and oper == 'create': return None else: return mock.MagicMock() self.nova_mock.oper = nova_oper self.vm_manager.create_service(st, si) self.log_mock.error.assert_any_call( test_utils.AnyStringWith('Nova vm create failed'))
def test_svc_monitor_timer_delete_shared_vn(self): project_obj = self.add_project('fake-project', 'fake-project') net_obj = self.add_vn('svc-vn-left', 'svc-vn-left', project_obj) project = config_db.ProjectSM.get('fake-project') project.virtual_networks.add('svc-vn-left') svc_monitor.timer_callback(self._svc_monitor) ServiceMonitorLogger.log_info.assert_any_call(test_utils.AnyStringWith('Deleting vn'))
def test_svc_monitor_timer_delete_vms(self): st_obj = self.add_st('fake-template', 'fake-template') si_obj = self.add_si('fake-instance', 'fake-instance', st_obj) vm_obj = self.add_vm("fake-vm", 'fake-vm', si_obj, 'virtual-machine') vm = config_db.VirtualMachineSM.get('fake-vm') config_db.ServiceInstanceSM.delete('fake-instance') vm.service_instance = 'non-existent-instance' svc_monitor.timer_callback(self._svc_monitor) ServiceMonitorLogger.log_info.assert_any_call(test_utils.AnyStringWith('Deleting VM'))
def test_svc_monitor_vrouter_service_delete(self): st_obj = self.add_st('fake-template', 'fake-template') si_obj = self.add_si('fake-instance', 'fake-instance', st_obj) vm_obj = self.add_vm("fake-vm", 'fake-vm', si_obj, 'vrouter-instance') si = config_db.ServiceInstanceSM.get('fake-instance') si.virtual_machines.add('fake-vm') vm = config_db.VirtualMachineSM.get('fake-vm') self._svc_monitor.vrouter_manager = mock.MagicMock() self._svc_monitor._vnc_subscribe_callback(si_del_info) self._svc_monitor.vrouter_manager.delete_service.assert_called_with(vm) ServiceMonitorLogger.log_info.assert_any_call(test_utils.AnyStringWith('deletion succeed'))
def test_svc_monitor_vmi_add(self): st_obj = self.add_st('fake-template', 'fake-template') si = test_utils.create_test_si(name='fake-instance', count=1, intf_list=['left-vn']) si = config_db.ServiceInstanceSM.get('fake-instance') si.service_template = 'fake-template' vm_obj = self.add_vm("fake-vm", 'fake-vm', None, 'virtual-machine') project = self.add_project('fake-project', 'fake-project') net_obj = self.add_vn('left-vn', 'left-vn', project) vmi_obj = self.add_vmi('fake-domain__fake-project__fake-instance__1__left__0', 'left-vmi', project, net_obj, vm_obj) vmi = config_db.VirtualMachineInterfaceSM.get('left-vmi') vmi.if_type = 'left' config_db.VirtualMachineInterfaceSM._cassandra.read = self.cassandra_vmi_read self._svc_monitor._vnc_subscribe_callback(vmi_add_info) ServiceMonitorLogger.log_info.assert_any_call(test_utils.AnyStringWith('updated SI'))
def test_svc_monitor_init(self): ServiceMonitorLogger.log_info.assert_any_call( test_utils.AnyStringWith('template created with uuid')) self.assertTrue(self._svc_monitor._db_resync_done)