diff options
author | Jenkins <jenkins@review.openstack.org> | 2017-08-21 13:52:59 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2017-08-21 13:52:59 +0000 |
commit | 0b57b9bd801a158b9aaf4ae331ab3741a20c44fe (patch) | |
tree | 7ec6a322822f6b77068de067c8d10a1a03fd9614 | |
parent | 6fb56b1b696aa5c955152f122a4596dfa874e1aa (diff) | |
parent | 1797d73efc0601a0a664d32a127669e93bce3d45 (diff) | |
download | nova-0b57b9bd801a158b9aaf4ae331ab3741a20c44fe.tar.gz |
Merge "libvirt: Post-migration, set cache value for Cinder volume(s)" into stable/newton
-rw-r--r-- | nova/tests/unit/virt/libvirt/test_driver.py | 16 | ||||
-rw-r--r-- | nova/virt/libvirt/driver.py | 8 |
2 files changed, 10 insertions, 14 deletions
diff --git a/nova/tests/unit/virt/libvirt/test_driver.py b/nova/tests/unit/virt/libvirt/test_driver.py index 64c7688fdf..a7508a0466 100644 --- a/nova/tests/unit/virt/libvirt/test_driver.py +++ b/nova/tests/unit/virt/libvirt/test_driver.py @@ -6064,7 +6064,9 @@ class LibvirtConnTestCase(test.NoDBTestCase): @mock.patch.object(volume_drivers.LibvirtFakeVolumeDriver, 'connect_volume') @mock.patch.object(volume_drivers.LibvirtFakeVolumeDriver, 'get_config') - def test_get_volume_config(self, get_config, connect_volume): + @mock.patch.object(libvirt_driver.LibvirtDriver, '_set_cache_mode') + def test_get_volume_config(self, _set_cache_mode, + get_config, connect_volume): drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False) connection_info = {'driver_volume_type': 'fake', 'data': {'device_path': '/fake', @@ -6079,6 +6081,7 @@ class LibvirtConnTestCase(test.NoDBTestCase): get_config.return_value = mock_config config = drvr._get_volume_config(connection_info, disk_info) get_config.assert_called_once_with(connection_info, disk_info) + _set_cache_mode.assert_called_once_with(config) self.assertEqual(mock_config, config) def test_attach_invalid_volume_type(self): @@ -6169,10 +6172,8 @@ class LibvirtConnTestCase(test.NoDBTestCase): mock.patch.object(drvr, '_connect_volume'), mock.patch.object(drvr, '_get_volume_config', return_value=mock_conf), - mock.patch.object(drvr, '_set_cache_mode'), mock.patch.object(drvr, '_check_discard_for_attach_volume') - ) as (mock_connect_volume, mock_get_volume_config, - mock_set_cache_mode, mock_check_discard): + ) as (mock_connect_volume, mock_get_volume_config, mock_check_discard): for state in (power_state.RUNNING, power_state.PAUSED): mock_dom.info.return_value = [state, 512, 512, 2, 1234, 5678] @@ -6190,7 +6191,6 @@ class LibvirtConnTestCase(test.NoDBTestCase): connection_info, disk_info) mock_get_volume_config.assert_called_with( connection_info, disk_info) - mock_set_cache_mode.assert_called_with(mock_conf) mock_dom.attachDeviceFlags.assert_called_with( mock_conf.to_xml(), flags=flags) mock_check_discard.assert_called_with(mock_conf, instance) @@ -14561,9 +14561,8 @@ class LibvirtConnTestCase(test.NoDBTestCase): 'save'), mock.patch.object(drvr, '_connect_volume'), mock.patch.object(drvr, '_get_volume_config', - return_value=mock_conf), - mock.patch.object(drvr, '_set_cache_mode') - ) as (volume_save, connect_volume, get_volume_config, set_cache_mode): + return_value=mock_conf) + ) as (volume_save, connect_volume, get_volume_config): devices = drvr._get_guest_storage_config(instance, image_meta, disk_info, False, bdi, flavor, "hvm") @@ -14575,7 +14574,6 @@ class LibvirtConnTestCase(test.NoDBTestCase): get_volume_config.assert_called_with(bdm['connection_info'], {'bus': 'virtio', 'type': 'disk', 'dev': 'vdc'}) volume_save.assert_called_once_with() - self.assertEqual(3, set_cache_mode.call_count) def test_get_neutron_events(self): drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False) diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index e42616bccc..5663d5f852 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -1105,7 +1105,9 @@ class LibvirtDriver(driver.ComputeDriver): def _get_volume_config(self, connection_info, disk_info): vol_driver = self._get_volume_driver(connection_info) - return vol_driver.get_config(connection_info, disk_info) + conf = vol_driver.get_config(connection_info, disk_info) + self._set_cache_mode(conf) + return conf def _get_volume_encryptor(self, connection_info, encryption): encryptor = encryptors.get_volume_encryptor(connection_info, @@ -1158,7 +1160,6 @@ class LibvirtDriver(driver.ComputeDriver): instance, CONF.libvirt.virt_type, instance.image_meta, bdm) self._connect_volume(connection_info, disk_info) conf = self._get_volume_config(connection_info, disk_info) - self._set_cache_mode(conf) self._check_discard_for_attach_volume(conf, instance) @@ -3562,9 +3563,6 @@ class LibvirtDriver(driver.ComputeDriver): vol['connection_info'] = connection_info vol.save() - for d in devices: - self._set_cache_mode(d) - if image_meta.properties.get('hw_scsi_model'): hw_scsi_model = image_meta.properties.hw_scsi_model scsi_controller = vconfig.LibvirtConfigGuestController() |