diff options
-rw-r--r-- | nova/tests/virt/libvirt/test_libvirt.py | 17 | ||||
-rw-r--r-- | nova/virt/libvirt/driver.py | 12 |
2 files changed, 24 insertions, 5 deletions
diff --git a/nova/tests/virt/libvirt/test_libvirt.py b/nova/tests/virt/libvirt/test_libvirt.py index 2478e8eea7..5a3f414a99 100644 --- a/nova/tests/virt/libvirt/test_libvirt.py +++ b/nova/tests/virt/libvirt/test_libvirt.py @@ -1445,7 +1445,8 @@ class LibvirtConnTestCase(test.TestCase): self.assertEqual("none", cfg.devices[7].action) - def test_get_guest_config_with_watchdog_action_through_flavor(self): + def _test_get_guest_config_with_watchdog_action_flavor(self, + hw_watchdog_action="hw:watchdog_action"): self.flags(virt_type='kvm', group='libvirt') conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True) @@ -1455,7 +1456,7 @@ class LibvirtConnTestCase(test.TestCase): db.flavor_extra_specs_update_or_create( self.context, flavor['flavorid'], - {'hw_watchdog_action': 'none'}) + {hw_watchdog_action: 'none'}) instance_ref = db.instance_create(self.context, self.test_instance) @@ -1466,7 +1467,7 @@ class LibvirtConnTestCase(test.TestCase): db.flavor_extra_specs_delete(self.context, flavor['flavorid'], - 'hw_watchdog_action') + hw_watchdog_action) self.assertEqual(8, len(cfg.devices)) self.assertIsInstance(cfg.devices[0], @@ -1488,6 +1489,16 @@ class LibvirtConnTestCase(test.TestCase): self.assertEqual("none", cfg.devices[7].action) + def test_get_guest_config_with_watchdog_action_through_flavor(self): + self._test_get_guest_config_with_watchdog_action_flavor() + + # TODO(pkholkin): the test accepting old property name 'hw_watchdog_action' + # should be removed in L release + def test_get_guest_config_with_watchdog_action_through_flavor_no_scope( + self): + self._test_get_guest_config_with_watchdog_action_flavor( + hw_watchdog_action="hw_watchdog_action") + def test_get_guest_config_with_watchdog_action_meta_overrides_flavor(self): self.flags(virt_type='kvm', group='libvirt') diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index 43f4762163..8a0b82d9a9 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -3441,8 +3441,16 @@ class LibvirtDriver(driver.ComputeDriver): raise exception.PciDeviceUnsupportedHypervisor( type=CONF.libvirt.virt_type) - watchdog_action = flavor.extra_specs.get('hw_watchdog_action', - 'disabled') + if 'hw_watchdog_action' in flavor.extra_specs: + LOG.warn(_LW('Old property name "hw_watchdog_action" is now ' + 'deprecated and will be removed in L release. ' + 'Use updated property name ' + '"hw:watchdog_action" instead')) + # TODO(pkholkin): accepting old property name 'hw_watchdog_action' + # should be removed in L release + watchdog_action = (flavor.extra_specs.get('hw_watchdog_action') or + flavor.extra_specs.get('hw:watchdog_action') + or 'disabled') if (image_meta is not None and image_meta.get('properties', {}).get('hw_watchdog_action')): watchdog_action = image_meta['properties']['hw_watchdog_action'] |