diff --git a/watcher/decision_engine/strategy/strategies/node_resource_consolidation.py b/watcher/decision_engine/strategy/strategies/node_resource_consolidation.py index 38a46a6d5..2cae747d9 100644 --- a/watcher/decision_engine/strategy/strategies/node_resource_consolidation.py +++ b/watcher/decision_engine/strategy/strategies/node_resource_consolidation.py @@ -250,7 +250,8 @@ class NodeResourceConsolidation(base.ServerConsolidationBaseStrategy): def pre_execute(self): self._pre_execute() - self.host_choice = self.input_parameters.host_choice + self.host_choice = self.input_parameters.get('host_choice', 'auto') + self.planner = 'node_resource_consolidation' def do_execute(self, audit=None): """Strategy execution phase diff --git a/watcher/tests/decision_engine/strategy/strategies/test_node_resource_consolidation.py b/watcher/tests/decision_engine/strategy/strategies/test_node_resource_consolidation.py index cd9018970..7c598db6c 100644 --- a/watcher/tests/decision_engine/strategy/strategies/test_node_resource_consolidation.py +++ b/watcher/tests/decision_engine/strategy/strategies/test_node_resource_consolidation.py @@ -34,6 +34,17 @@ class TestNodeResourceConsolidation(TestBaseStrategy): config=mock.Mock()) self.model = self.fake_c_cluster.generate_scenario_10() self.m_c_model.return_value = self.model + self.strategy.input_parameters = {'host_choice': 'auto'} + + def test_pre_execute(self): + planner = 'node_resource_consolidation' + self.assertEqual('auto', self.strategy.host_choice) + self.assertNotEqual(planner, self.strategy.planner) + self.strategy.input_parameters.update( + {'host_choice': 'specify'}) + self.strategy.pre_execute() + self.assertEqual(planner, self.strategy.planner) + self.assertEqual('specify', self.strategy.host_choice) def test_check_resources(self): instance = [self.model.get_instance_by_uuid(