def setUp(self): def fake_get_nw_info(cls, ctxt, instance): self.assertTrue(ctxt.is_admin) return fake_network.fake_get_instance_nw_info(self.stubs, 1, 1, spectacular=True) super(UsageInfoTestCase, self).setUp() self.stubs.Set(network_api.API, 'get_instance_nw_info', fake_get_nw_info) notifier_api._reset_drivers() self.addCleanup(notifier_api._reset_drivers) self.flags(use_local=True, group='conductor') self.flags(compute_driver='nova.virt.fake.FakeDriver', notification_driver=[test_notifier.__name__], network_manager='nova.network.manager.FlatManager') self.compute = importutils.import_object(CONF.compute_manager) self.user_id = 'fake' self.project_id = 'fake' self.context = context.RequestContext(self.user_id, self.project_id) test_notifier.NOTIFICATIONS = [] def fake_show(meh, context, id): return {'id': 1, 'properties': {'kernel_id': 1, 'ramdisk_id': 1}} self.stubs.Set(nova.tests.image.fake._FakeImageService, 'show', fake_show) fake_network.set_stub_network_methods(self.stubs) fake_instance_actions.stub_out_action_events(self.stubs)
def setUp(self): super(NotificationsTestCase, self).setUp() self.net_info = fake_network.fake_get_instance_nw_info(self.stubs, 1, 1, spectacular=True) def fake_get_nw_info(cls, ctxt, instance): self.assertTrue(ctxt.is_admin) return self.net_info self.stubs.Set(network_api.API, 'get_instance_nw_info', fake_get_nw_info) fake_network.set_stub_network_methods(self.stubs) notifier_api._reset_drivers() self.addCleanup(notifier_api._reset_drivers) self.flags(compute_driver='nova.virt.fake.FakeDriver', notification_driver=[test_notifier.__name__], network_manager='nova.network.manager.FlatManager', notify_on_state_change="vm_and_task_state", host='testhost') self.user_id = 'fake' self.project_id = 'fake' self.context = context.RequestContext(self.user_id, self.project_id) test_notifier.NOTIFICATIONS = [] self.instance = self._wrapped_create()
def setUp(self): def fake_get_nw_info(cls, ctxt, instance): self.assertTrue(ctxt.is_admin) return fake_network.fake_get_instance_nw_info(self.stubs, 1, 1, spectacular=True) super(UsageInfoTestCase, self).setUp() self.stubs.Set(network_api.API, 'get_instance_nw_info', fake_get_nw_info) notifier_api._reset_drivers() self.addCleanup(notifier_api._reset_drivers) self.flags(use_local=True, group='conductor') self.flags(compute_driver='nova.virt.fake.FakeDriver', notification_driver=[test_notifier.__name__], network_manager='nova.network.manager.FlatManager') self.compute = importutils.import_object(CONF.compute_manager) self.user_id = 'fake' self.project_id = 'fake' self.context = context.RequestContext(self.user_id, self.project_id) test_notifier.NOTIFICATIONS = [] def fake_show(meh, context, id): return {'id': 1, 'properties': {'kernel_id': 1, 'ramdisk_id': 1}} self.stubs.Set(nova.tests.image.fake._FakeImageService, 'show', fake_show) fake_network.set_stub_network_methods(self.stubs) fake_instance_actions.stub_out_action_events(self.stubs)
def setUp(self): super(NotificationsTestCase, self).setUp() self.net_info = fake_network.fake_get_instance_nw_info( self.stubs, 1, 1, spectacular=True) def fake_get_nw_info(cls, ctxt, instance): self.assertTrue(ctxt.is_admin) return self.net_info self.stubs.Set(network_api.API, 'get_instance_nw_info', fake_get_nw_info) fake_network.set_stub_network_methods(self.stubs) notifier_api._reset_drivers() self.addCleanup(notifier_api._reset_drivers) self.flags(compute_driver='nova.virt.fake.FakeDriver', notification_driver=[test_notifier.__name__], network_manager='nova.network.manager.FlatManager', notify_on_state_change="vm_and_task_state", host='testhost') self.user_id = 'fake' self.project_id = 'fake' self.context = context.RequestContext(self.user_id, self.project_id) test_notifier.NOTIFICATIONS = [] self.instance = self._wrapped_create()
def tearDown(self): try: shutil.rmtree(FLAGS.volumes_dir) except OSError: pass db.instance_destroy(self.context, self.instance_uuid) notifier_api._reset_drivers() super(VolumeTestCase, self).tearDown()
class VolumeTestCase(test.TestCase): """Test Case for volumes.""" def setUp(self): super(VolumeTestCase, self).setUp() self.compute = importutils.import_object(FLAGS.compute_manager) vol_tmpdir = tempfile.mkdtemp() self.flags(compute_driver='nova.virt.fake.FakeDriver', volumes_dir=vol_tmpdir) self.stubs.Set(nova.flags.FLAGS, 'notification_driver', ['nova.openstack.common.notifier.test_notifier']) self.volume = importutils.import_object(FLAGS.volume_manager) self.context = context.get_admin_context() instance = db.instance_create(self.context, {}) self.instance_id = instance['id'] self.instance_uuid = instance['uuid'] test_notifier.NOTIFICATIONS = [] def tearDown(self): try: shutil.rmtree(FLAGS.volumes_dir) except OSError, e: pass db.instance_destroy(self.context, self.instance_uuid) notifier_api._reset_drivers() super(VolumeTestCase, self).tearDown()
def setUp(self): super(UsageInfoTestCase, self).setUp() notifier_api._reset_drivers() self.addCleanup(notifier_api._reset_drivers) self.flags(compute_driver='nova.virt.fake.FakeDriver', host='fake', notification_driver=[test_notifier.__name__]) fake_network.set_stub_network_methods(self.stubs) self.volume = importutils.import_object(FLAGS.volume_manager) self.user_id = 'fake' self.project_id = 'fake' self.snapshot_id = 'fake' self.volume_size = 0 self.context = context.RequestContext(self.user_id, self.project_id) test_notifier.NOTIFICATIONS = []
def setUp(self): super(VolumeTestCase, self).setUp() self.compute = importutils.import_object(FLAGS.compute_manager) vol_tmpdir = tempfile.mkdtemp() notifier_api._reset_drivers() self.addCleanup(notifier_api._reset_drivers) self.flags(compute_driver='nova.virt.fake.FakeDriver', volumes_dir=vol_tmpdir, notification_driver=[test_notifier.__name__]) self.stubs.Set(iscsi.TgtAdm, '_get_target', self.fake_get_target) self.volume = importutils.import_object(FLAGS.volume_manager) self.context = context.get_admin_context() instance = db.instance_create(self.context, {}) self.instance_id = instance['id'] self.instance_uuid = instance['uuid'] test_notifier.NOTIFICATIONS = [] fake_image.stub_out_image_service(self.stubs)
def tearDown(self): notifier_api._reset_drivers() super(NotificationsTestCase, self).tearDown()
def tearDown(self): notifier_api._reset_drivers() super(NotificationsTestCase, self).tearDown()
def setUp(self): super(TestNovaNotifier, self).setUp() nova_CONF.compute_driver = 'nova.virt.fake.FakeDriver' nova_CONF.notification_driver = [nova_notifier.__name__] nova_CONF.rpc_backend = 'nova.openstack.common.rpc.impl_fake' nova_CONF.vnc_enabled = False nova_CONF.spice.enabled = False self.compute = importutils.import_object(nova_CONF.compute_manager) self.context = context.get_admin_context() fake_network.set_stub_network_methods(self.stubs) instance_data = { "display_name": "instance-1", 'OS-EXT-SRV-ATTR:instance_name': 'instance-1', "id": 1, "image_ref": "FAKE", "user_id": "FAKE", "project_id": "FAKE", "display_name": "FAKE NAME", "hostname": "abcdef", "reservation_id": "FAKE RID", "instance_type_id": 1, "architecture": "x86", "memory_mb": "1024", "root_gb": "20", "ephemeral_gb": "0", "vcpus": 1, 'node': "fakenode", "host": "fakehost", "availability_zone": "1e3ce043029547f1a61c1996d1a531a4", "created_at": '2012-05-08 20:23:41', "launched_at": '2012-05-08 20:25:45', "terminated_at": '2012-05-09 20:23:41', "os_type": "linux", "kernel_id": "kernelid", "ramdisk_id": "ramdiskid", "vm_state": vm_states.ACTIVE, "task_state": None, "access_ip_v4": "192.168.5.4", "access_ip_v6": "2001:DB8::0", "metadata": {}, "uuid": "144e08f4-00cb-11e2-888e-5453ed1bbb5f", "system_metadata": {} } self.instance = nova_instance.Instance() for key, value in instance_data.iteritems(): setattr(self.instance, key, value) self.stubs.Set(db, 'instance_info_cache_delete', self.do_nothing) self.stubs.Set(db, 'instance_destroy', self.do_nothing) self.stubs.Set(db, 'instance_system_metadata_get', self.fake_db_instance_system_metadata_get) self.stubs.Set(db, 'block_device_mapping_get_all_by_instance', lambda context, instance: {}) self.stubs.Set( db, 'instance_update_and_get_original', lambda context, uuid, kwargs: (self.instance, self.instance)) self.stubs.Set(flavors, 'extract_flavor', lambda ref: {}) # Set up to capture the notification messages generated by the # plugin and to invoke our notifier plugin. self.notifications = [] notifier_api._reset_drivers() notifier_api.add_driver(self) notifier_api.add_driver(nova_notifier) ext_mgr = test_manager.TestExtensionManager([ extension.Extension( 'test', None, None, self.Pollster(), ), ]) self.ext_mgr = ext_mgr self.gatherer = nova_notifier.DeletedInstanceStatsGatherer(ext_mgr) nova_notifier.initialize_gatherer(self.gatherer) # Terminate the instance to trigger the notification. with contextlib.nested( # Under Grizzly, Nova has moved to no-db access on the # compute node. The compute manager uses RPC to talk to # the conductor. We need to disable communication between # the nova manager and the remote system since we can't # expect the message bus to be available, or the remote # controller to be there if the message bus is online. mock.patch.object(self.compute, 'conductor_api'), # The code that looks up the instance uses a global # reference to the API, so we also have to patch that to # return our fake data. mock.patch.object(nova_notifier.instance_info_source, 'instance_get_by_uuid', self.fake_instance_ref_get), ): self.compute.terminate_instance(self.context, instance=self.instance)
def tearDown(self): notifier_api._reset_drivers() self.Pollster.instances = [] super(TestNovaNotifier, self).tearDown() nova_notifier._gatherer = None
def tearDown(self): notifier_api._reset_drivers() super(UsageInfoTestCase, self).tearDown()
def tearDown(self): notifier_api._reset_drivers() self.Pollster.instances = [] super(TestNovaNotifier, self).tearDown() nova_notifier._gatherer = None
def tearDown(self): notifier_api._reset_drivers() super(UsageInfoTestCase, self).tearDown()
def setUp(self): super(TestNovaNotifier, self).setUp() nova_CONF.compute_driver = 'nova.virt.fake.FakeDriver' nova_CONF.notification_driver = [nova_notifier.__name__] nova_CONF.rpc_backend = 'nova.openstack.common.rpc.impl_fake' nova_CONF.vnc_enabled = False nova_CONF.spice.enabled = False self.compute = importutils.import_object(nova_CONF.compute_manager) self.context = context.get_admin_context() fake_network.set_stub_network_methods(self.stubs) self.instance = {"name": "instance-1", 'OS-EXT-SRV-ATTR:instance_name': 'instance-1', "id": 1, "image_ref": "FAKE", "user_id": "FAKE", "project_id": "FAKE", "display_name": "FAKE NAME", "hostname": "abcdef", "reservation_id": "FAKE RID", "instance_type_id": 1, "architecture": "x86", "memory_mb": "1024", "root_gb": "20", "ephemeral_gb": "0", "vcpus": 1, 'node': "fakenode", "host": "fakehost", "availability_zone": "1e3ce043029547f1a61c1996d1a531a4", "created_at": '2012-05-08 20:23:41', "os_type": "linux", "kernel_id": "kernelid", "ramdisk_id": "ramdiskid", "vm_state": vm_states.ACTIVE, "access_ip_v4": "someip", "access_ip_v6": "someip", "metadata": {}, "uuid": "144e08f4-00cb-11e2-888e-5453ed1bbb5f", "system_metadata": {}} self.stubs.Set(db, 'instance_info_cache_delete', self.do_nothing) self.stubs.Set(db, 'instance_destroy', self.do_nothing) self.stubs.Set(db, 'instance_system_metadata_get', self.fake_db_instance_system_metadata_get) self.stubs.Set(db, 'block_device_mapping_get_all_by_instance', lambda context, instance: {}) self.stubs.Set(db, 'instance_update_and_get_original', lambda context, uuid, kwargs: (self.instance, self.instance)) self.stubs.Set(flavors, 'extract_flavor', lambda ref: {}) # Set up to capture the notification messages generated by the # plugin and to invoke our notifier plugin. self.notifications = [] notifier_api._reset_drivers() notifier_api.add_driver(self) notifier_api.add_driver(nova_notifier) ext_mgr = test_manager.TestExtensionManager([ extension.Extension('test', None, None, self.Pollster(), ), ]) self.ext_mgr = ext_mgr self.gatherer = nova_notifier.DeletedInstanceStatsGatherer(ext_mgr) nova_notifier.initialize_gatherer(self.gatherer) # Terminate the instance to trigger the notification. with contextlib.nested( # Under Grizzly, Nova has moved to no-db access on the # compute node. The compute manager uses RPC to talk to # the conductor. We need to disable communication between # the nova manager and the remote system since we can't # expect the message bus to be available, or the remote # controller to be there if the message bus is online. mock.patch.object(self.compute, 'conductor_api'), # The code that looks up the instance uses a global # reference to the API, so we also have to patch that to # return our fake data. mock.patch.object(nova_notifier.instance_info_source, 'instance_get_by_uuid', self.fake_instance_ref_get), ): self.compute.terminate_instance(self.context, instance=self.instance)
def tearDown(self): db.instance_destroy(self.context, self.instance_uuid) notifier_api._reset_drivers() super(VolumeTestCase, self).tearDown()