Merge "Put the method add_migration() in base.py"
This commit is contained in:
commit
30104ae4ae
@ -131,6 +131,8 @@ class BaseStrategy(loadable.Loadable):
|
||||
|
||||
DATASOURCE_METRICS = []
|
||||
|
||||
MIGRATION = "migrate"
|
||||
|
||||
def __init__(self, config, osc=None):
|
||||
"""Constructor: the signature should be identical within the subclasses
|
||||
|
||||
@ -421,6 +423,18 @@ class BaseStrategy(loadable.Loadable):
|
||||
instances_to_migrate.append(instance)
|
||||
return instances_to_migrate
|
||||
|
||||
def add_action_migrate(self,
|
||||
instance,
|
||||
migration_type,
|
||||
source_node,
|
||||
destination_node):
|
||||
parameters = {'migration_type': migration_type,
|
||||
'source_node': source_node.uuid,
|
||||
'destination_node': destination_node.uuid}
|
||||
self.solution.add_action(action_type=self.MIGRATION,
|
||||
resource_id=instance.uuid,
|
||||
input_parameters=parameters)
|
||||
|
||||
|
||||
@six.add_metaclass(abc.ABCMeta)
|
||||
class DummyBaseStrategy(BaseStrategy):
|
||||
|
@ -65,7 +65,6 @@ class BasicConsolidation(base.ServerConsolidationBaseStrategy):
|
||||
instance_cpu_usage='cpu_util'),
|
||||
)
|
||||
|
||||
MIGRATION = "migrate"
|
||||
CHANGE_NOVA_SERVICE_STATE = "change_nova_service_state"
|
||||
|
||||
def __init__(self, config, osc=None):
|
||||
@ -341,18 +340,6 @@ class BasicConsolidation(base.ServerConsolidationBaseStrategy):
|
||||
resource_id=resource_id,
|
||||
input_parameters=parameters)
|
||||
|
||||
def add_migration(self,
|
||||
resource_id,
|
||||
migration_type,
|
||||
source_node,
|
||||
destination_node):
|
||||
parameters = {'migration_type': migration_type,
|
||||
'source_node': source_node,
|
||||
'destination_node': destination_node}
|
||||
self.solution.add_action(action_type=self.MIGRATION,
|
||||
resource_id=resource_id,
|
||||
input_parameters=parameters)
|
||||
|
||||
def compute_score_of_nodes(self):
|
||||
"""Calculate score of nodes based on load by VMs"""
|
||||
score = []
|
||||
@ -387,9 +374,9 @@ class BasicConsolidation(base.ServerConsolidationBaseStrategy):
|
||||
"""Create migration VM"""
|
||||
if self.compute_model.migrate_instance(
|
||||
mig_instance, mig_source_node, mig_destination_node):
|
||||
self.add_migration(mig_instance.uuid, 'live',
|
||||
mig_source_node.uuid,
|
||||
mig_destination_node.uuid)
|
||||
self.add_action_migrate(mig_instance, 'live',
|
||||
mig_source_node,
|
||||
mig_destination_node)
|
||||
|
||||
if len(self.compute_model.get_node_instances(mig_source_node)) == 0:
|
||||
self.add_action_disable_node(mig_source_node.uuid)
|
||||
|
@ -58,7 +58,6 @@ class WorkloadStabilization(base.WorkloadStabilizationBaseStrategy):
|
||||
It assumes that live migrations are possible in your cluster.
|
||||
"""
|
||||
|
||||
MIGRATION = "migrate"
|
||||
MEMOIZE = _set_memoize(CONF)
|
||||
|
||||
DATASOURCE_METRICS = ['host_cpu_usage', 'instance_cpu_usage',
|
||||
@ -474,26 +473,14 @@ class WorkloadStabilization(base.WorkloadStabilizationBaseStrategy):
|
||||
self.sd_before_audit = metric_sd
|
||||
return self.simulate_migrations(hosts_load)
|
||||
|
||||
def add_migration(self,
|
||||
resource_id,
|
||||
migration_type,
|
||||
source_node,
|
||||
destination_node):
|
||||
parameters = {'migration_type': migration_type,
|
||||
'source_node': source_node,
|
||||
'destination_node': destination_node}
|
||||
self.solution.add_action(action_type=self.MIGRATION,
|
||||
resource_id=resource_id,
|
||||
input_parameters=parameters)
|
||||
|
||||
def create_migration_instance(self, mig_instance, mig_source_node,
|
||||
mig_destination_node):
|
||||
"""Create migration VM"""
|
||||
if self.compute_model.migrate_instance(
|
||||
mig_instance, mig_source_node, mig_destination_node):
|
||||
self.add_migration(mig_instance.uuid, 'live',
|
||||
mig_source_node.uuid,
|
||||
mig_destination_node.uuid)
|
||||
self.add_action_migrate(mig_instance, 'live',
|
||||
mig_source_node,
|
||||
mig_destination_node)
|
||||
self.instance_migrations_count += 1
|
||||
|
||||
def migrate(self, instance_uuid, src_host, dst_host):
|
||||
|
Loading…
x
Reference in New Issue
Block a user