Add period input parameter to vm workload consolidation and
outlet temp control strategy. Closes-Bug: #1614021 Change-Id: Iec975e4a4a39168a65ae89ca75a5ca9445c14f9d
This commit is contained in:
@@ -65,7 +65,7 @@ class FakeCeilometerMetrics(object):
|
||||
mock['Node_1'] = 100
|
||||
if uuid not in mock.keys():
|
||||
mock[uuid] = 100
|
||||
return mock[str(uuid)]
|
||||
return float(mock[str(uuid)])
|
||||
|
||||
@staticmethod
|
||||
def get_usage_node_ram(uuid):
|
||||
|
||||
@@ -151,3 +151,21 @@ class TestOutletTempControl(base.TestCase):
|
||||
loaded_action = loader.load(action['action_type'])
|
||||
loaded_action.input_parameters = action['input_parameters']
|
||||
loaded_action.validate_parameters()
|
||||
|
||||
def test_periods(self):
|
||||
model = self.fake_cluster.generate_scenario_3_with_2_nodes()
|
||||
self.m_model.return_value = model
|
||||
p_ceilometer = mock.patch.object(
|
||||
strategies.OutletTempControl, "ceilometer")
|
||||
m_ceilometer = p_ceilometer.start()
|
||||
self.addCleanup(p_ceilometer.stop)
|
||||
m_ceilometer.statistic_aggregation = mock.Mock(
|
||||
side_effect=self.fake_metrics.mock_get_statistics)
|
||||
node = model.get_node_by_uuid('Node_0')
|
||||
self.strategy.input_parameters.update({'threshold': 35.0})
|
||||
self.strategy.threshold = 35.0
|
||||
self.strategy.group_hosts_by_outlet_temp()
|
||||
m_ceilometer.statistic_aggregation.assert_any_call(
|
||||
aggregate='avg',
|
||||
meter_name='hardware.ipmi.node.outlet_temperature',
|
||||
period=30, resource_id=node.uuid)
|
||||
|
||||
@@ -293,3 +293,18 @@ class TestVMWorkloadConsolidation(base.TestCase):
|
||||
del expected[3]
|
||||
del expected[1]
|
||||
self.assertEqual(expected, self.strategy.solution.actions)
|
||||
|
||||
def test_periods(self):
|
||||
model = self.fake_cluster.generate_scenario_1()
|
||||
self.m_model.return_value = model
|
||||
p_ceilometer = mock.patch.object(
|
||||
strategies.VMWorkloadConsolidation, "ceilometer")
|
||||
m_ceilometer = p_ceilometer.start()
|
||||
self.addCleanup(p_ceilometer.stop)
|
||||
m_ceilometer.return_value = mock.Mock(
|
||||
statistic_aggregation=self.fake_metrics.mock_get_statistics)
|
||||
instance0 = model.get_instance_by_uuid("INSTANCE_0")
|
||||
self.strategy.get_instance_utilization(instance0)
|
||||
m_ceilometer.statistic_aggregation.assert_any_call(
|
||||
aggregate='avg', meter_name='disk.root.size',
|
||||
period=3600, resource_id=instance0.uuid)
|
||||
|
||||
Reference in New Issue
Block a user