tests: Stub out privsep modules
The libvirt driver makes a number of calls to privsep which weren't
adequately mocked, resulting in failures like the below on hosts that
differed from the gate (read: RHEL):
2019-03-29 05:31:45,075 ERROR [nova.compute.manager] Instance failed to spawn
Traceback (most recent call last):
...
File "nova/virt/libvirt/driver.py", line 3912, in _get_guest_disk_config
self.disk_cachemode,
File "nova/virt/libvirt/driver.py", line 416, in disk_cachemode
if not nova.privsep.utils.supports_direct_io(CONF.instances_path):
File "nova/privsep/utils.py", line 62, in supports_direct_io
{'path': dirpath, 'ex': e})
File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
self.force_reraise()
File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
six.reraise(self.type_, self.value, self.tb)
File "nova/privsep/utils.py", line 45, in supports_direct_io
fd = os.open(testfile, os.O_CREAT | os.O_WRONLY | os.O_DIRECT)
OSError: [Errno 2] No such file or directory: '../nova/instances/.directio.test'
Change-Id: If01e08a16dfdb2e539430fef3e4ba8b4e022626b
This commit is contained in:
@@ -45,6 +45,8 @@ class ServersTestBase(base.ServersTestBase):
|
||||
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')
|
||||
|
||||
Reference in New Issue
Block a user