Fix wrong audit scope
Closes-Bug #1792368 Change-Id: I3349cbe9ad66233b1b28ffb3c76e003432a843a1
This commit is contained in:
parent
8e40880882
commit
9e00d1bb1f
|
@ -31,6 +31,8 @@ class BaremetalScope(base.BaseScope):
|
||||||
|
|
||||||
for scope in self.scope:
|
for scope in self.scope:
|
||||||
baremetal_scope = scope.get('baremetal')
|
baremetal_scope = scope.get('baremetal')
|
||||||
|
if baremetal_scope:
|
||||||
|
break
|
||||||
|
|
||||||
if not baremetal_scope:
|
if not baremetal_scope:
|
||||||
return cluster_model
|
return cluster_model
|
||||||
|
|
|
@ -175,6 +175,8 @@ class ComputeScope(base.BaseScope):
|
||||||
|
|
||||||
for scope in self.scope:
|
for scope in self.scope:
|
||||||
compute_scope = scope.get('compute')
|
compute_scope = scope.get('compute')
|
||||||
|
if compute_scope:
|
||||||
|
break
|
||||||
|
|
||||||
if not compute_scope:
|
if not compute_scope:
|
||||||
return cluster_model
|
return cluster_model
|
||||||
|
|
|
@ -133,6 +133,8 @@ class StorageScope(base.BaseScope):
|
||||||
|
|
||||||
for scope in self.scope:
|
for scope in self.scope:
|
||||||
storage_scope = scope.get('storage')
|
storage_scope = scope.get('storage')
|
||||||
|
if storage_scope:
|
||||||
|
break
|
||||||
|
|
||||||
if not storage_scope:
|
if not storage_scope:
|
||||||
return cluster_model
|
return cluster_model
|
||||||
|
|
|
@ -294,3 +294,22 @@ class TestComputeScope(base.TestCase):
|
||||||
model = compute.ComputeScope(audit_scope, mock.Mock(),
|
model = compute.ComputeScope(audit_scope, mock.Mock(),
|
||||||
osc=mock.Mock()).get_scoped_model(cluster)
|
osc=mock.Mock()).get_scoped_model(cluster)
|
||||||
self.assertEqual(0, len(model.edges()))
|
self.assertEqual(0, len(model.edges()))
|
||||||
|
|
||||||
|
@mock.patch.object(nova_helper.NovaHelper, 'get_service_list')
|
||||||
|
def test_get_scoped_model_with_multi_scopes(self, mock_zone_list):
|
||||||
|
cluster = self.fake_cluster.generate_scenario_1()
|
||||||
|
# includes compute and storage scope
|
||||||
|
audit_scope = []
|
||||||
|
audit_scope.extend(fake_scopes.fake_scope_1)
|
||||||
|
audit_scope.extend(fake_scopes.fake_scope_2)
|
||||||
|
mock_zone_list.return_value = [
|
||||||
|
mock.Mock(zone='AZ{0}'.format(i),
|
||||||
|
host={'Node_{0}'.format(i): {}})
|
||||||
|
for i in range(4)]
|
||||||
|
model = compute.ComputeScope(audit_scope, mock.Mock(),
|
||||||
|
osc=mock.Mock()).get_scoped_model(cluster)
|
||||||
|
|
||||||
|
# NOTE(adisky):INSTANCE_6 is not excluded from model it will be tagged
|
||||||
|
# as 'exclude' TRUE, blueprint compute-cdm-include-all-instances
|
||||||
|
expected_edges = [('INSTANCE_2', 'Node_1'), (u'INSTANCE_6', u'Node_3')]
|
||||||
|
self.assertEqual(sorted(expected_edges), sorted(model.edges()))
|
||||||
|
|
|
@ -192,3 +192,20 @@ class TestStorageScope(base.TestCase):
|
||||||
nodes_to_remove, cluster)
|
nodes_to_remove, cluster)
|
||||||
self.assertEqual(['host_1@backend_1'],
|
self.assertEqual(['host_1@backend_1'],
|
||||||
list(cluster.get_all_storage_nodes()))
|
list(cluster.get_all_storage_nodes()))
|
||||||
|
|
||||||
|
@mock.patch.object(cinder_helper.CinderHelper, 'get_storage_node_list')
|
||||||
|
def test_get_scoped_model_with_multi_scopes(self, mock_zone_list):
|
||||||
|
cluster = self.fake_cluster.generate_scenario_1()
|
||||||
|
# includes storage and compute scope
|
||||||
|
audit_scope = []
|
||||||
|
audit_scope.extend(fake_scopes.fake_scope_2)
|
||||||
|
audit_scope.extend(fake_scopes.fake_scope_1)
|
||||||
|
mock_zone_list.return_value = [
|
||||||
|
mock.Mock(zone='zone_{0}'.format(i),
|
||||||
|
host='host_{0}@backend_{1}'.format(i, i))
|
||||||
|
for i in range(2)]
|
||||||
|
model = storage.StorageScope(audit_scope, mock.Mock(),
|
||||||
|
osc=mock.Mock()).get_scoped_model(cluster)
|
||||||
|
expected_edges = [('VOLUME_0', 'host_0@backend_0#pool_0'),
|
||||||
|
('host_0@backend_0#pool_0', 'host_0@backend_0')]
|
||||||
|
self.assertEqual(sorted(expected_edges), sorted(model.edges()))
|
||||||
|
|
Loading…
Reference in New Issue