libvirt: inject files when config drive is not requested
This patch fixes a regression introduced by [1], which made files to be injected into the root disk even if the config disk is not in use. [1] https://review.openstack.org/#/c/303335 Closes-bug: #1597521 Change-Id: I990f19943f36356760b7bf425bc59901c9cdc1de
This commit is contained in:
parent
f0bcc0de21
commit
691eb01b59
|
@ -15959,6 +15959,24 @@ class LibvirtDriverTestCase(test.NoDBTestCase):
|
|||
instance['image_ref'] = 'uuid'
|
||||
self.assertFalse(func(instance, disk_mapping))
|
||||
|
||||
@mock.patch(
|
||||
'nova.virt.libvirt.driver.LibvirtDriver._try_fetch_image_cache')
|
||||
@mock.patch('nova.virt.libvirt.driver.LibvirtDriver._inject_data')
|
||||
@mock.patch('nova.virt.libvirt.driver.imagecache')
|
||||
def test_data_not_injects_with_configdrive(self, mock_image, mock_inject,
|
||||
mock_fetch):
|
||||
self.flags(inject_partition=-1, group='libvirt')
|
||||
|
||||
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
|
||||
# config_drive is True by default, configdrive.required_by()
|
||||
# returns True
|
||||
instance_ref = self._create_instance()
|
||||
disk_images = {'image_id': None}
|
||||
|
||||
drvr._create_and_inject_local_root(self.context, instance_ref, False,
|
||||
'', disk_images, [], None, [], True, None)
|
||||
self.assertFalse(mock_inject.called)
|
||||
|
||||
@mock.patch('nova.virt.netutils.get_injected_network_template')
|
||||
@mock.patch('nova.virt.disk.api.inject_data')
|
||||
@mock.patch.object(libvirt_driver.LibvirtDriver, "_conn")
|
||||
|
|
|
@ -3044,7 +3044,8 @@ class LibvirtDriver(driver.ComputeDriver):
|
|||
network_info, admin_pass, files, inject_files,
|
||||
fallback_from_host):
|
||||
# File injection only if needed
|
||||
need_inject = inject_files and CONF.libvirt.inject_partition != -2
|
||||
need_inject = (not configdrive.required_by(instance) and
|
||||
inject_files and CONF.libvirt.inject_partition != -2)
|
||||
|
||||
# NOTE(ndipanov): Even if disk_mapping was passed in, which
|
||||
# currently happens only on rescue - we still don't want to
|
||||
|
|
Loading…
Reference in New Issue