From bc1472b94c4295a855dba14f767e6d1e04f7fc11 Mon Sep 17 00:00:00 2001 From: Claudiu Belu Date: Wed, 24 Feb 2016 17:59:45 +0200 Subject: [PATCH] Hyper-V: Removes pointless check in livemigrationops Support for Windows / Hyper-V Server 2008 R2 has been deprecated in Liberty and it is no longer supported in Mitaka. This was missed in the previous commit: I1ec83f852d23758bc91da8fd8021b1bed34c63b3 Co-Authored-By: Andrei Bacos Change-Id: I389364a9111b7b115991b31798a4c32268c90dda Related-Bug: #1508066 --- hyperv/nova/livemigrationops.py | 27 +--------------------- hyperv/tests/unit/test_livemigrationops.py | 9 -------- 2 files changed, 1 insertion(+), 35 deletions(-) diff --git a/hyperv/nova/livemigrationops.py b/hyperv/nova/livemigrationops.py index a6b36bda..e3c95680 100644 --- a/hyperv/nova/livemigrationops.py +++ b/hyperv/nova/livemigrationops.py @@ -16,14 +16,12 @@ """ Management class for live migration VM operations. """ -import functools from os_win import utilsfactory from oslo_config import cfg from oslo_log import log as logging from oslo_utils import excutils -from hyperv.i18n import _ from hyperv.nova import block_device_manager from hyperv.nova import imagecache from hyperv.nova import pathutils @@ -36,25 +34,9 @@ CONF = cfg.CONF CONF.import_opt('use_cow_images', 'nova.virt.driver') -def check_os_version_requirement(function): - @functools.wraps(function) - def wrapper(self, *args, **kwds): - if not self._livemigrutils: - raise NotImplementedError(_('Live migration is supported ' - 'starting with Hyper-V Server ' - '2012')) - return function(self, *args, **kwds) - return wrapper - - class LiveMigrationOps(object): def __init__(self): - # Live migration is supported starting from Hyper-V Server 2012 - if utilsfactory.get_hostutils().check_min_windows_version(6, 2): - self._livemigrutils = utilsfactory.get_livemigrationutils() - else: - self._livemigrutils = None - + self._livemigrutils = utilsfactory.get_livemigrationutils() self._pathutils = pathutils.PathUtils() self._vmops = vmops.VMOps() self._volumeops = volumeops.VolumeOps() @@ -62,7 +44,6 @@ class LiveMigrationOps(object): self._imagecache = imagecache.ImageCache() self._block_dev_man = block_device_manager.BlockDeviceInfoManager() - @check_os_version_requirement def live_migration(self, context, instance_ref, dest, post_method, recover_method, block_migration=False, migrate_data=None): @@ -89,7 +70,6 @@ class LiveMigrationOps(object): instance_name) post_method(context, instance_ref, dest, block_migration) - @check_os_version_requirement def pre_live_migration(self, context, instance, block_device_info, network_info): LOG.debug("pre_live_migration called", instance=instance) @@ -103,20 +83,17 @@ class LiveMigrationOps(object): self._volumeops.initialize_volumes_connection(block_device_info) - @check_os_version_requirement def post_live_migration(self, context, instance, block_device_info): self._volumeops.disconnect_volumes(block_device_info) self._pathutils.get_instance_dir(instance.name, create_dir=False, remove_dir=True) - @check_os_version_requirement def post_live_migration_at_destination(self, ctxt, instance_ref, network_info, block_migration): LOG.debug("post_live_migration_at_destination called", instance=instance_ref) - @check_os_version_requirement def check_can_live_migrate_destination(self, ctxt, instance_ref, src_compute_info, dst_compute_info, block_migration=False, @@ -124,12 +101,10 @@ class LiveMigrationOps(object): LOG.debug("check_can_live_migrate_destination called", instance_ref) return {} - @check_os_version_requirement def check_can_live_migrate_destination_cleanup(self, ctxt, dest_check_data): LOG.debug("check_can_live_migrate_destination_cleanup called") - @check_os_version_requirement def check_can_live_migrate_source(self, ctxt, instance_ref, dest_check_data): LOG.debug("check_can_live_migrate_source called", instance_ref) diff --git a/hyperv/tests/unit/test_livemigrationops.py b/hyperv/tests/unit/test_livemigrationops.py index 48240c5a..4838713e 100644 --- a/hyperv/tests/unit/test_livemigrationops.py +++ b/hyperv/tests/unit/test_livemigrationops.py @@ -76,15 +76,6 @@ class LiveMigrationOpsTestCase(test_base.HyperVBaseTestCase): def test_live_migration_exception(self): self._test_live_migration(side_effect=os_win_exc.HyperVException) - def test_live_migration_wrong_os_version(self): - self._livemigrops._livemigrutils = None - self.assertRaises(NotImplementedError, - self._livemigrops.live_migration, self.context, - instance_ref=mock.DEFAULT, - dest=mock.sentinel.DESTINATION, - post_method=mock.DEFAULT, - recover_method=mock.DEFAULT) - @mock.patch('hyperv.nova.imagecache.ImageCache.get_cached_image') @mock.patch('hyperv.nova.volumeops.VolumeOps' '.initialize_volumes_connection')