vm workload consolidation: allow cold migrations
Although Watcher supports cold migrations, the vm workload consolidation workflow only allows live migrations to be performed. We'll remove this unnecessary limitation so that stopped instances could be cold migrated. Change-Id: I4b41550f2255560febf8586722a0e02045c3a486
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
from oslo_log import log
|
||||
|
||||
from watcher._i18n import _
|
||||
from watcher.applier.actions import migration
|
||||
from watcher.common import exception
|
||||
from watcher.decision_engine.model import element
|
||||
from watcher.decision_engine.strategy.strategies import base
|
||||
@@ -196,12 +197,12 @@ class VMWorkloadConsolidation(base.ServerConsolidationBaseStrategy):
|
||||
:return: None
|
||||
"""
|
||||
instance_state_str = self.get_instance_state_str(instance)
|
||||
if instance_state_str not in (element.InstanceState.ACTIVE.value,
|
||||
element.InstanceState.PAUSED.value):
|
||||
# Watcher currently only supports live VM migration and block live
|
||||
# VM migration which both requires migrated VM to be active.
|
||||
# When supported, the cold migration may be used as a fallback
|
||||
# migration mechanism to move non active VMs.
|
||||
if instance_state_str in (element.InstanceState.ACTIVE.value,
|
||||
element.InstanceState.PAUSED.value):
|
||||
migration_type = migration.Migrate.LIVE_MIGRATION
|
||||
elif instance_state_str == element.InstanceState.STOPPED.value:
|
||||
migration_type = migration.Migrate.COLD_MIGRATION
|
||||
else:
|
||||
LOG.error(
|
||||
'Cannot live migrate: instance_uuid=%(instance_uuid)s, '
|
||||
'state=%(instance_state)s.', dict(
|
||||
@@ -209,8 +210,6 @@ class VMWorkloadConsolidation(base.ServerConsolidationBaseStrategy):
|
||||
instance_state=instance_state_str))
|
||||
return
|
||||
|
||||
migration_type = 'live'
|
||||
|
||||
# Here will makes repeated actions to enable the same compute node,
|
||||
# when migrating VMs to the destination node which is disabled.
|
||||
# Whether should we remove the same actions in the solution???
|
||||
|
||||
Reference in New Issue
Block a user