skip deleted instance when creating datamodel
Change-Id: Ic2ae4cb758eba32f1b1529a24d12a57ca93a2a82 Closes-Bug: #1844949
This commit is contained in:
@@ -382,6 +382,10 @@ class NovaModelBuilder(base.BaseModelBuilder):
|
|||||||
instances = self.call_retry(f=self.nova_helper.get_instance_list,
|
instances = self.call_retry(f=self.nova_helper.get_instance_list,
|
||||||
filters=filters, limit=limit)
|
filters=filters, limit=limit)
|
||||||
for inst in instances:
|
for inst in instances:
|
||||||
|
# skip deleted instance
|
||||||
|
if getattr(inst, "OS-EXT-STS:vm_state") == (
|
||||||
|
element.InstanceState.DELETED.value):
|
||||||
|
continue
|
||||||
# Add Node
|
# Add Node
|
||||||
instance = self._build_instance_node(inst)
|
instance = self._build_instance_node(inst)
|
||||||
self.model.add_instance(instance)
|
self.model.add_instance(instance)
|
||||||
|
|||||||
@@ -175,11 +175,26 @@ class TestNovaModelBuilder(base.TestCase):
|
|||||||
model_builder.model = mock.MagicMock()
|
model_builder.model = mock.MagicMock()
|
||||||
mock_node = mock.MagicMock()
|
mock_node = mock.MagicMock()
|
||||||
mock_host = mock_node.service["host"]
|
mock_host = mock_node.service["host"]
|
||||||
mock_instances = [mock.MagicMock()]
|
inst1 = mock.MagicMock(
|
||||||
|
id='ef500f7e-dac8-470f-960c-169486fce711',
|
||||||
|
tenant_id='ff560f7e-dbc8-771f-960c-164482fce21b')
|
||||||
|
setattr(inst1, 'OS-EXT-STS:vm_state', 'deleted')
|
||||||
|
setattr(inst1, 'name', 'instance1')
|
||||||
|
inst2 = mock.MagicMock(
|
||||||
|
id='ef500f7e-dac8-470f-960c-169486fce722',
|
||||||
|
tenant_id='ff560f7e-dbc8-771f-960c-164482fce21b')
|
||||||
|
setattr(inst2, 'OS-EXT-STS:vm_state', 'active')
|
||||||
|
setattr(inst2, 'name', 'instance2')
|
||||||
|
mock_instances = [inst1, inst2]
|
||||||
|
model_builder.nova_helper.get_instance_list.return_value = (
|
||||||
|
mock_instances)
|
||||||
model_builder.add_instance_node(mock_node, mock_instances)
|
model_builder.add_instance_node(mock_node, mock_instances)
|
||||||
# verify that when len(instances) <= 1000, limit == len(instance).
|
# verify that when len(instances) <= 1000, limit == len(instance).
|
||||||
model_builder.nova_helper.get_instance_list.assert_called_once_with(
|
model_builder.nova_helper.get_instance_list.assert_called_once_with(
|
||||||
filters={'host': mock_host}, limit=1)
|
filters={'host': mock_host}, limit=2)
|
||||||
|
fake_instance = model_builder._build_instance_node(inst2)
|
||||||
|
model_builder.model.add_instance.assert_called_once_with(
|
||||||
|
fake_instance)
|
||||||
|
|
||||||
# verify that when len(instances) > 1000, limit == -1.
|
# verify that when len(instances) > 1000, limit == -1.
|
||||||
mock_instance = mock.Mock()
|
mock_instance = mock.Mock()
|
||||||
|
|||||||
Reference in New Issue
Block a user