Merge "Fix exception.ComputeNodeNotFound"
This commit is contained in:
@@ -129,7 +129,9 @@ class SavingEnergy(base.SavingEnergyBaseStrategy):
|
|||||||
hypervisor_node = hypervisor_node.to_dict()
|
hypervisor_node = hypervisor_node.to_dict()
|
||||||
compute_service = hypervisor_node.get('service', None)
|
compute_service = hypervisor_node.get('service', None)
|
||||||
host_uuid = compute_service.get('host')
|
host_uuid = compute_service.get('host')
|
||||||
if not self.compute_model.get_node_by_uuid(host_uuid):
|
try:
|
||||||
|
self.compute_model.get_node_by_uuid(host_uuid)
|
||||||
|
except wexc.ComputeNodeNotFound:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if not (hypervisor_node.get('state') == 'up'):
|
if not (hypervisor_node.get('state') == 'up'):
|
||||||
|
|||||||
@@ -164,6 +164,33 @@ class TestSavingEnergy(base.TestCase):
|
|||||||
self.assertEqual(len(self.strategy.free_poweron_node_pool), 0)
|
self.assertEqual(len(self.strategy.free_poweron_node_pool), 0)
|
||||||
self.assertEqual(len(self.strategy.free_poweroff_node_pool), 2)
|
self.assertEqual(len(self.strategy.free_poweroff_node_pool), 2)
|
||||||
|
|
||||||
|
def test_get_hosts_pool_with_node_out_model(self):
|
||||||
|
mock_node1 = mock.Mock()
|
||||||
|
mock_node2 = mock.Mock()
|
||||||
|
mock_node1.to_dict.return_value = {
|
||||||
|
'extra': {'compute_node_id': 1},
|
||||||
|
'power_state': 'power off'}
|
||||||
|
mock_node2.to_dict.return_value = {
|
||||||
|
'extra': {'compute_node_id': 2},
|
||||||
|
'power_state': 'power off'}
|
||||||
|
self.m_ironic.node.get.side_effect = [mock_node1, mock_node2]
|
||||||
|
|
||||||
|
mock_hyper1 = mock.Mock()
|
||||||
|
mock_hyper2 = mock.Mock()
|
||||||
|
mock_hyper1.to_dict.return_value = {
|
||||||
|
'running_vms': 0, 'service': {'host': 'Node_0'}, 'state': 'up'}
|
||||||
|
mock_hyper2.to_dict.return_value = {
|
||||||
|
'running_vms': 0, 'service': {'host': 'Node_10'}, 'state': 'up'}
|
||||||
|
self.m_nova.hypervisors.get.side_effect = [mock_hyper1, mock_hyper2]
|
||||||
|
|
||||||
|
model = self.fake_cluster.generate_scenario_1()
|
||||||
|
self.m_model.return_value = model
|
||||||
|
self.strategy.get_hosts_pool()
|
||||||
|
|
||||||
|
self.assertEqual(len(self.strategy.with_vms_node_pool), 0)
|
||||||
|
self.assertEqual(len(self.strategy.free_poweron_node_pool), 0)
|
||||||
|
self.assertEqual(len(self.strategy.free_poweroff_node_pool), 1)
|
||||||
|
|
||||||
def test_save_energy_poweron(self):
|
def test_save_energy_poweron(self):
|
||||||
self.strategy.free_poweroff_node_pool = [
|
self.strategy.free_poweroff_node_pool = [
|
||||||
'922d4762-0bc5-4b30-9cb9-48ab644dd861',
|
'922d4762-0bc5-4b30-9cb9-48ab644dd861',
|
||||||
|
|||||||
Reference in New Issue
Block a user