def setUp(self): super(NWFilterTestCase, self).setUp() self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.fw = firewall.NWFilterFirewall(FakeVirtAPI(), host=host.Host("qemu:///system"))
def setUp(self): super(ServersTestBase, self).setUp() # Replace libvirt with fakelibvirt self.useFixture(fake_imagebackend.ImageBackendFixture()) self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.driver.libvirt_utils', fake_libvirt_utils)) self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.driver.libvirt', fakelibvirt)) self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.host.libvirt', fakelibvirt)) self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.guest.libvirt', fakelibvirt)) self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.useFixture(nova_fixtures.PlacementFixture()) # Mock the 'get_connection' function, as we're going to need to provide # custom capabilities for each test _p = mock.patch('nova.virt.libvirt.host.Host.get_connection') self.mock_conn = _p.start() self.addCleanup(_p.stop)
def setUp(self): white_list = [ '{"vendor_id":"8086","product_id":"1528"}', '{"vendor_id":"8086","product_id":"1515"}' ] self.flags(passthrough_whitelist=white_list, group='pci') # PFs will be removed from pools, unless these has been specifically # requested. This is especially needed in cases where PFs and VFs have # the same vendor/product id pci_alias = [ '{"vendor_id":"8086", "product_id":"1528", "name":"%s",' ' "device_type":"%s"}' % (self.pfs_alias_name, fields.PciDeviceType.SRIOV_PF), '{"vendor_id":"8086", "product_id":"1515", "name":"%s"}' % self.vfs_alias_name ] self.flags(alias=pci_alias, group='pci') super(SRIOVServersTest, self).setUp() # Replace libvirt with fakelibvirt self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.driver.libvirt_utils', fake_libvirt_utils)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.driver.libvirt', fakelibvirt)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.host.libvirt', fakelibvirt)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.guest.libvirt', fakelibvirt)) self.useFixture(fakelibvirt.FakeLibvirtFixture())
def setUp(self): super(LibvirtVolumeBaseTestCase, self).setUp() self.executes = [] def fake_execute(*cmd, **kwargs): self.executes.append(cmd) return None, None self.stub_out('nova.utils.execute', fake_execute) self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.fake_host = host.Host("qemu:///system") self.connr = { 'ip': '127.0.0.1', 'initiator': 'fake_initiator', 'host': 'fake_host' } self.disk_info = { "bus": "virtio", "dev": "vde", "type": "disk", } self.name = 'volume-00000001' self.location = '10.0.2.15:3260' self.iqn = 'iqn.2010-10.org.openstack:%s' % self.name self.vol = {'id': 1, 'name': self.name} self.uuid = '875a8070-d0b9-4949-8b31-104d125c9a64' self.user = '******'
def setUp(self): super(_LibvirtEvacuateTest, self).setUp() self.useFixture(nova_fixtures.NeutronFixture(self)) fake_network.set_stub_network_methods(self) self.useFixture(nova_fixtures.PlacementFixture()) api_fixture = self.useFixture( nova_fixtures.OSAPIFixture(api_version='v2.1')) self.api = api_fixture.admin_api # force_down and evacuate without onSharedStorage self.api.microversion = '2.14' fake_image.stub_out_image_service(self) self.addCleanup(fake_image.FakeImageService_reset) fake_notifier.stub_notifier(self) self.addCleanup(fake_notifier.reset) self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.start_service('conductor') self.start_service('scheduler') self.flags(compute_driver='libvirt.LibvirtDriver') self.compute0 = self._start_compute('compute0') # Choice of image id and flavor are arbitrary. Fixed for consistency. self.image_id = fake_image.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID self.flavor_id = next(flavor for flavor in self.api.get_flavors() if flavor['name'] == 'm1.tiny')['id']
def setUp(self): self.flags(instances_path=self.useFixture(fixtures.TempDir()).path) self.computes = {} self.compute_rp_uuids = {} super(ServersTestBase, self).setUp() self.useFixture(fake_imagebackend.ImageBackendFixture()) self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.useFixture(fixtures.MockPatch( 'nova.virt.libvirt.LibvirtDriver._create_image', return_value=(False, False))) self.useFixture(fixtures.MockPatch( 'nova.virt.libvirt.LibvirtDriver._get_local_gb_info', return_value={'total': 128, 'used': 44, 'free': 84})) self.useFixture(fixtures.MockPatch( 'nova.virt.libvirt.driver.libvirt_utils.is_valid_hostname', return_value=True)) self.useFixture(fixtures.MockPatch( 'nova.virt.libvirt.driver.libvirt_utils.file_open', side_effect=lambda *a, **k: io.BytesIO(b''))) self.useFixture(fixtures.MockPatch( 'nova.privsep.utils.supports_direct_io', return_value=True)) self.useFixture(fixtures.MockPatch( 'nova.virt.libvirt.host.Host.get_online_cpus', return_value=set(range(16)))) # Mock the 'get_connection' function, as we're going to need to provide # custom capabilities for each test _p = mock.patch('nova.virt.libvirt.host.Host.get_connection') self.mock_conn = _p.start() self.addCleanup(_p.stop)
def setUp(self): super(IptablesFirewallTestCase, self).setUp() self.useFixture(lock_fixture.ExternalLockFixture()) self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.fw = firewall.IptablesFirewallDriver( host=host.Host("qemu:///system"))
def setUp(self): super(ServersTestBase, self).setUp() # Replace libvirt with fakelibvirt self.useFixture(fake_imagebackend.ImageBackendFixture()) self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.driver.libvirt', fakelibvirt)) self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.host.libvirt', fakelibvirt)) self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.guest.libvirt', fakelibvirt)) self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.useFixture(func_fixtures.PlacementFixture()) self.stub_out('nova.privsep.utils.supports_direct_io', lambda _: True) # Mock the 'get_connection' function, as we're going to need to provide # custom capabilities for each test _p = mock.patch('nova.virt.libvirt.host.Host.get_connection') self.mock_conn = _p.start() self.addCleanup(_p.stop) # As above, mock the 'get_arch' function as we may need to provide # different host architectures during some tests. _a = mock.patch('nova.virt.libvirt.utils.get_arch') self.mock_arch = _a.start() # Default to X86_64 self.mock_arch.return_value = obj_fields.Architecture.X86_64 self.addCleanup(_a.stop)
def _get_base_class(self): # We do this because it has the side-effect of loading all the # volume drivers self.useFixture(fakelibvirt.FakeLibvirtFixture()) driver.LibvirtDriver(fake.FakeVirtAPI(), False) return volume.LibvirtBaseVolumeDriver
def setUp(self): super(LibvirtProviderUsageBaseTestCase, self).setUp() self.useFixture(fakelibvirt.FakeLibvirtFixture(stub_os_vif=False)) if self.STUB_INIT_HOST: self.useFixture( fixtures.MockPatch( 'nova.virt.libvirt.driver.LibvirtDriver.init_host')) self.useFixture( fixtures.MockPatch('nova.virt.libvirt.driver.LibvirtDriver.spawn'))
def setUp(self): super(GuestTestCase, self).setUp() self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.host = host.Host("qemu:///system") self.context = context.get_admin_context() self.domain = mock.Mock(spec=fakelibvirt.virDomain) self.guest = libvirt_guest.Guest(self.domain)
def setUp(self): super(MigrationMonitorTestCase, self).setUp() self.useFixture(fakelibvirt.FakeLibvirtFixture()) flavor = objects.Flavor(memory_mb=2048, swap=0, vcpu_weight=None, root_gb=1, id=2, name=u'm1.small', ephemeral_gb=0, rxtx_factor=1.0, flavorid=u'1', vcpus=1, extra_specs={}) instance = { 'id': 1, 'uuid': '32dfcb37-5af1-552b-357c-be8c3aa38310', 'memory_kb': '1024000', 'basepath': '/some/path', 'bridge_name': 'br100', 'display_name': "Acme webserver", 'vcpus': 2, 'project_id': 'fake', 'bridge': 'br101', 'image_ref': '155d900f-4e14-4e4c-a73d-069cbf4541e6', 'root_gb': 10, 'ephemeral_gb': 20, 'instance_type_id': '5', # m1.small 'extra_specs': {}, 'system_metadata': { 'image_disk_format': 'raw', }, 'flavor': flavor, 'new_flavor': None, 'old_flavor': None, 'pci_devices': objects.PciDeviceList(), 'numa_topology': None, 'config_drive': None, 'vm_mode': None, 'kernel_id': None, 'ramdisk_id': None, 'os_type': 'linux', 'user_id': '838a72b0-0d54-4827-8fd6-fb1227633ceb', 'ephemeral_key_uuid': None, 'vcpu_model': None, 'host': 'fake-host', 'task_state': None, } self.instance = objects.Instance(**instance) self.conn = fakelibvirt.Connection("qemu:///system") self.dom = fakelibvirt.Domain(self.conn, "<domain/>", True) self.host = host.Host("qemu:///system") self.guest = libvirt_guest.Guest(self.dom)
def setUp(self): super(LibvirtReportTraitsTests, self).setUp() self.useFixture(fakelibvirt.FakeLibvirtFixture(stub_os_vif=False)) self.useFixture( fixtures.MockPatch( 'nova.virt.libvirt.driver.LibvirtDriver.init_host')) self.assertEqual([], self._get_all_providers()) self.compute = self._start_compute(CONF.host) nodename = self.compute.manager._get_nodename(None) self.host_uuid = self._get_provider_uuid_by_host(nodename)
def setUp(self): super(DomainJobInfoTestCase, self).setUp() self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.conn = fakelibvirt.openAuth("qemu:///system", [[], lambda: True]) xml = ("<domain type='kvm'>" " <name>instance-0000000a</name>" "</domain>") self.dom = self.conn.createXML(xml, 0) host.DomainJobInfo._have_job_stats = True
def setUp(self): super(SharedStorageProviderUsageTestCase, self).setUp() self.useFixture(fakelibvirt.FakeLibvirtFixture(stub_os_vif=False)) self.useFixture( fixtures.MockPatch( 'nova.virt.libvirt.driver.LibvirtDriver.init_host')) self.useFixture( fixtures.MockPatch('nova.virt.libvirt.driver.LibvirtDriver.spawn')) self.compute = self._start_compute(CONF.host) nodename = self.compute.manager._get_nodename(None) self.host_uuid = self._get_provider_uuid_by_host(nodename)
def setUp(self): super(ServersTestBase, self).setUp() # Replace libvirt with fakelibvirt self.useFixture(fake_imagebackend.ImageBackendFixture()) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.driver.libvirt', fakelibvirt)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.host.libvirt', fakelibvirt)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.guest.libvirt', fakelibvirt)) self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.useFixture( fixtures.MockPatch('nova.virt.libvirt.LibvirtDriver._create_image', return_value=(False, False))) self.useFixture( fixtures.MockPatch( 'nova.virt.libvirt.LibvirtDriver._get_local_gb_info', return_value={ 'total': 128, 'used': 44, 'free': 84 })) self.useFixture( fixtures.MockPatch( 'nova.virt.libvirt.driver.libvirt_utils.is_valid_hostname', return_value=True)) self.useFixture( fixtures.MockPatch( 'nova.virt.libvirt.driver.libvirt_utils.file_open', side_effect=lambda *a, **k: io.BytesIO(b''))) self.useFixture( fixtures.MockPatch('nova.privsep.utils.supports_direct_io', return_value=True)) self.useFixture( fixtures.MockPatch('nova.virt.libvirt.host.Host.get_online_cpus', return_value=set(range(16)))) # Mock the 'get_connection' function, as we're going to need to provide # custom capabilities for each test _p = mock.patch('nova.virt.libvirt.host.Host.get_connection') self.mock_conn = _p.start() self.addCleanup(_p.stop) # Mock the 'get_arch' function as we may need to provide different host # architectures during some tests. We default to x86_64 _a = mock.patch('nova.virt.libvirt.utils.get_arch') self.mock_arch = _a.start() self.mock_arch.return_value = obj_fields.Architecture.X86_64 self.addCleanup(_a.stop)
def setUp(self): super(GuestTestCase, self).setUp() self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.host = host.Host("qemu:///system") self.context = context.get_admin_context() self.domain = mock.Mock(spec=fakelibvirt.virDomain) self.guest = libvirt_guest.Guest(self.domain) # Make RetryDecorator not actually sleep on retries self.useFixture(service_fixture.SleepFixture())
def setUp(self): super(NUMAServersTest, self).setUp() # Replace libvirt with fakelibvirt self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.driver.libvirt_utils', fake_libvirt_utils)) self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.driver.libvirt', fakelibvirt)) self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.host.libvirt', fakelibvirt)) self.useFixture(fakelibvirt.FakeLibvirtFixture())
def setUp(self): super(TestSerialConsoleLiveMigrate, self).setUp() self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.PlacementFixture()) api_fixture = self.useFixture( nova_fixtures.OSAPIFixture(api_version='v2.1')) # Replace libvirt with fakelibvirt self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.driver.libvirt_utils', fake_libvirt_utils)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.driver.libvirt', fakelibvirt)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.host.libvirt', fakelibvirt)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.guest.libvirt', fakelibvirt)) self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.admin_api = api_fixture.admin_api self.api = api_fixture.api # the image fake backend needed for image discovery nova.tests.unit.image.fake.stub_out_image_service(self) nova.tests.unit.fake_network.set_stub_network_methods(self) self.flags(compute_driver='libvirt.LibvirtDriver') self.flags(enabled=True, group="serial_console") self.flags(enabled=False, group="vnc") self.flags(enabled=False, group="spice") self.flags(use_usb_tablet=False, group="libvirt") self.flags(host="test_compute1") self.start_service('conductor') self.flags(driver='chance_scheduler', group='scheduler') self.start_service('scheduler') self.compute = self.start_service('compute', host='test_compute1') self.consoleauth = self.start_service('consoleauth') self.useFixture(cast_as_call.CastAsCall(self)) self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset) self.image_id = self.api.get_images()[0]['id'] self.flavor_id = self.api.get_flavors()[0]['id']
def setUp(self): super(RealTimeServersTest, self).setUp() # Replace libvirt with fakelibvirt self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.driver.libvirt_utils', fake_libvirt_utils)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.driver.libvirt', fakelibvirt)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.host.libvirt', fakelibvirt)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.guest.libvirt', fakelibvirt)) self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.flags(sysinfo_serial='none', group='libvirt')
def setUp(self): super(NUMAServersTest, self).setUp() # Replace libvirt with fakelibvirt self.useFixture(fake_imagebackend.ImageBackendFixture()) self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.driver.libvirt_utils', fake_libvirt_utils)) self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.driver.libvirt', fakelibvirt)) self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.host.libvirt', fakelibvirt)) self.useFixture(fixtures.MonkeyPatch( 'nova.virt.libvirt.guest.libvirt', fakelibvirt)) self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.useFixture(nova_fixtures.PlacementFixture())
def test_find_disk_lxc(self): self.useFixture(fakelibvirt.FakeLibvirtFixture()) xml = """ <domain type='lxc'> <os> <type>exe</type> </os> <devices> <filesystem type="mount"> <source dir="/myhome/rootfs"/> <target dir="/"/> </filesystem> </devices> </domain> """ virt_dom = mock.Mock(XMLDesc=mock.Mock(return_value=xml)) guest = libvirt_guest.Guest(virt_dom) disk_path, format = libvirt_utils.find_disk(guest) self.assertEqual('/myhome/disk', disk_path) self.assertIsNone(format)
def test_find_disk_parallels(self): self.useFixture(fakelibvirt.FakeLibvirtFixture()) xml = """ <domain type='parallels'> <os> <type>exe</type> </os> <devices> <filesystem type='file'>" <driver format='ploop' type='ploop'/>" <source file='/test/disk'/>" <target dir='/'/> </filesystem>" </devices> </domain> """ virt_dom = mock.Mock(XMLDesc=mock.Mock(return_value=xml)) guest = libvirt_guest.Guest(virt_dom) disk_path, format = libvirt_utils.find_disk(guest) self.assertEqual('/test/disk', disk_path) self.assertEqual('ploop', format)
def test_find_disk_block_device(self): self.useFixture(fakelibvirt.FakeLibvirtFixture()) xml = """ <domain type='kvm'> <os> <type>linux</type> </os> <devices> <disk type="block" device="disk"> <driver name="qemu" type="raw"/> <source dev="/dev/nova-vg/hello"/> <target bus="ide" dev="/dev/hda"/> </disk> </devices> </domain> """ virt_dom = mock.Mock(XMLDesc=mock.Mock(return_value=xml)) guest = libvirt_guest.Guest(virt_dom) disk_path, format = libvirt_utils.find_disk(guest) self.assertEqual('/dev/nova-vg/hello', disk_path) self.assertEqual('raw', format)
def test_find_disk_file_device(self): self.useFixture(fakelibvirt.FakeLibvirtFixture()) xml = """ <domain type='kvm'> <os> <type>linux</type> </os> <devices> <disk type="file" device="disk"> <driver name="qemu" type="qcow2" cache="none" io="native"/> <source file="/tmp/hello"/> <target bus="ide" dev="/dev/hda"/> </disk> </devices> </domain> """ virt_dom = mock.Mock(XMLDesc=mock.Mock(return_value=xml)) guest = libvirt_guest.Guest(virt_dom) disk_path, format = libvirt_utils.find_disk(guest) self.assertEqual('/tmp/hello', disk_path) self.assertEqual('qcow2', format)
def test_find_disk_rbd(self): self.useFixture(fakelibvirt.FakeLibvirtFixture()) xml = """ <domain type='kvm'> <os> <type>linux</type> </os> <devices> <disk type="network" device="disk"> <driver name="qemu" type="raw"/> <source name="pool/image" protocol="rbd"> <host name="1.2.3.4" port="456"/> </source> <target bus="virtio" dev="/dev/vda"/> </disk> </devices> </domain> """ virt_dom = mock.Mock(XMLDesc=mock.Mock(return_value=xml)) guest = libvirt_guest.Guest(virt_dom) disk_path, format = libvirt_utils.find_disk(guest) self.assertEqual('rbd:pool/image', disk_path) self.assertEqual('raw', format)
def setUp(self): super(TestSerialConsoleLiveMigrate, self).setUp() self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.GlanceFixture(self)) self.useFixture(func_fixtures.PlacementFixture()) api_fixture = self.useFixture( nova_fixtures.OSAPIFixture(api_version='v2.1')) # Replace libvirt with fakelibvirt self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.driver.libvirt', fakelibvirt)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.host.libvirt', fakelibvirt)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.guest.libvirt', fakelibvirt)) self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.admin_api = api_fixture.admin_api self.api = api_fixture.api self.flags(compute_driver='libvirt.LibvirtDriver') self.flags(enabled=True, group="serial_console") self.flags(enabled=False, group="vnc") self.flags(enabled=False, group="spice") self.flags(use_usb_tablet=False, group="libvirt") self.start_service('conductor') self.start_service('scheduler') self.compute = self.start_service('compute', host='test_compute1') self.useFixture(cast_as_call.CastAsCall(self)) self.image_id = self.api.get_images()[0]['id'] self.flavor_id = self.api.get_flavors()[0]['id']
def _setup_fakelibvirt(self): # So that the _supports_direct_io does the test based # on the current working directory, instead of the # default instances_path which doesn't exist self.flags(instances_path=self.useFixture(fixtures.TempDir()).path) # Put fakelibvirt in place if 'libvirt' in sys.modules: self.saved_libvirt = sys.modules['libvirt'] else: self.saved_libvirt = None from nova.tests.unit.virt.libvirt import fake_imagebackend from nova.tests.unit.virt.libvirt import fakelibvirt from nova.tests.unit.virt.libvirt import fake_os_brick_connector self.useFixture(fake_imagebackend.ImageBackendFixture()) self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.driver.connector', fake_os_brick_connector)) self.useFixture( fixtures.MonkeyPatch( 'nova.virt.libvirt.host.Host._conn_event_thread', lambda *args: None)) self.flags(rescue_image_id="2", rescue_kernel_id="3", rescue_ramdisk_id=None, snapshots_directory='./', sysinfo_serial='none', group='libvirt') def fake_wait(): pass def fake_detach_device_with_retry(_self, get_device_conf_func, device, live, *args, **kwargs): # Still calling detach, but instead of returning function # that actually checks if device is gone from XML, just continue # because XML never gets updated in these tests _self.detach_device(get_device_conf_func(device), live=live) return fake_wait self.stub_out( 'nova.virt.libvirt.driver.LibvirtDriver.' '_get_instance_disk_info_from_config', lambda self, guest_config, block_device_info: []) self.stub_out('nova.virt.disk.api.extend', lambda image, size: None) self.stub_out( 'nova.virt.libvirt.driver.LibvirtDriver.' 'delete_instance_files', lambda self, instance: None) self.stub_out('nova.virt.libvirt.guest.Guest.detach_device_with_retry', fake_detach_device_with_retry) self.stub_out('nova.virt.libvirt.guest.Guest.migrate', lambda self, destination, migrate_uri=None, migrate_disks =None, destination_xml=None, flags=0, bandwidth=0: None) # We can't actually make a config drive v2 because ensure_tree has # been faked out self.stub_out('nova.virt.configdrive.ConfigDriveBuilder.make_drive', lambda self, path: None)
def _setup_fakelibvirt(self): # So that the _supports_direct_io does the test based # on the current working directory, instead of the # default instances_path which doesn't exist self.flags(instances_path=self.useFixture(fixtures.TempDir()).path) # Put fakelibvirt in place if 'libvirt' in sys.modules: self.saved_libvirt = sys.modules['libvirt'] else: self.saved_libvirt = None import nova.tests.unit.virt.libvirt.fake_imagebackend as \ fake_imagebackend import nova.tests.unit.virt.libvirt.fake_libvirt_utils as \ fake_libvirt_utils import nova.tests.unit.virt.libvirt.fakelibvirt as fakelibvirt import nova.tests.unit.virt.libvirt.fake_os_brick_connector as \ fake_os_brick_connector self.useFixture(fake_imagebackend.ImageBackendFixture()) self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.driver.libvirt_utils', fake_libvirt_utils)) self.useFixture( fixtures.MonkeyPatch( 'nova.virt.libvirt.imagebackend.libvirt_utils', fake_libvirt_utils)) self.useFixture( fixtures.MonkeyPatch('nova.virt.libvirt.driver.connector', fake_os_brick_connector)) self.useFixture( fixtures.MonkeyPatch( 'nova.virt.libvirt.host.Host._conn_event_thread', lambda *args: None)) self.flags(rescue_image_id="2", rescue_kernel_id="3", rescue_ramdisk_id=None, snapshots_directory='./', sysinfo_serial='none', group='libvirt') def fake_extend(image, size): pass def fake_migrate(_self, destination, migrate_uri=None, params=None, flags=0, domain_xml=None, bandwidth=0): pass def fake_make_drive(_self, _path): pass def fake_get_instance_disk_info(_self, instance, xml=None, block_device_info=None): return '[]' def fake_delete_instance_files(_self, _instance): pass def fake_wait(): pass def fake_detach_device_with_retry(_self, get_device_conf_func, device, persistent, live, max_retry_count=7, inc_sleep_time=2, max_sleep_time=30): # Still calling detach, but instead of returning function # that actually checks if device is gone from XML, just continue # because XML never gets updated in these tests _self.detach_device(get_device_conf_func(device), persistent=persistent, live=live) return fake_wait import nova.virt.libvirt.driver self.stubs.Set(nova.virt.libvirt.driver.LibvirtDriver, '_get_instance_disk_info', fake_get_instance_disk_info) self.stubs.Set(nova.virt.libvirt.driver.disk_api, 'extend', fake_extend) self.stubs.Set(nova.virt.libvirt.driver.LibvirtDriver, 'delete_instance_files', fake_delete_instance_files) self.stubs.Set(nova.virt.libvirt.guest.Guest, 'detach_device_with_retry', fake_detach_device_with_retry) self.stubs.Set(nova.virt.libvirt.guest.Guest, 'migrate', fake_migrate) # We can't actually make a config drive v2 because ensure_tree has # been faked out self.stubs.Set(nova.virt.configdrive.ConfigDriveBuilder, 'make_drive', fake_make_drive)
def setUp(self): self.flags(compute_driver='libvirt.LibvirtDriver') self.useFixture(fakelibvirt.FakeLibvirtFixture()) self.useFixture(fixtures.MockPatchObject(host.Host, 'initialize')) super(TestLibvirtErrorNotificationSample, self).setUp()