Multi tenancy for topology, alarms and rca apis.

Change-Id: I2ce82e755d22784df1ddefabef738a27b7c2316f
This commit is contained in:
Alexey Weyl 2016-10-26 15:30:08 +03:00
parent 9a4cddba6d
commit 09cba46254
10 changed files with 37 additions and 22 deletions

@ -100,7 +100,7 @@ class BaseApiTest(base.BaseTestCase):
return volume
def _get_host(self):
topology = self.vitrage_client.topology.get()
topology = self.vitrage_client.topology.get(all_tenants=1)
host = filter(lambda item: item[VProps.TYPE] == NOVA_HOST_DATASOURCE,
topology['nodes'])
return host[0]

@ -34,7 +34,7 @@ class TestAodhAlarm(BaseAlarmsTest):
self._create_ceilometer_alarm(self._find_instance_resource_id())
# Calculate expected results
api_graph = self.vitrage_client.topology.get()
api_graph = self.vitrage_client.topology.get(all_tenants=1)
graph = self._create_graph_from_graph_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1,
@ -64,7 +64,7 @@ class TestAodhAlarm(BaseAlarmsTest):
self._create_ceilometer_alarm()
# Calculate expected results
api_graph = self.vitrage_client.topology.get()
api_graph = self.vitrage_client.topology.get(all_tenants=1)
graph = self._create_graph_from_graph_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1,

@ -33,7 +33,7 @@ class TestCinderVolume(BaseTopologyTest):
num_volumes=self.NUM_VOLUME)
# Calculate expected results
api_graph = self.vitrage_client.topology.get()
api_graph = self.vitrage_client.topology.get(all_tenants=1)
graph = self._create_graph_from_graph_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1,

@ -38,7 +38,7 @@ class TestHeatStack(BaseTopologyTest):
self._create_stacks(num_stacks=self.NUM_STACKS)
# Calculate expected results
api_graph = self.vitrage_client.topology.get()
api_graph = self.vitrage_client.topology.get(all_tenants=1)
graph = self._create_graph_from_graph_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1,

@ -39,7 +39,7 @@ class TestNeutron(BaseTopologyTest):
set_public_network=True)
# Calculate expected results
api_graph = self.vitrage_client.topology.get()
api_graph = self.vitrage_client.topology.get(all_tenants=1)
graph = self._create_graph_from_graph_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1,

@ -31,7 +31,7 @@ class TestNova(BaseTopologyTest):
self._create_entities(num_instances=self.NUM_INSTANCE)
# Calculate expected results
api_graph = self.vitrage_client.topology.get()
api_graph = self.vitrage_client.topology.get(all_tenants=1)
graph = self._create_graph_from_graph_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1,

@ -36,7 +36,7 @@ class TestStaticPhysical(BaseApiTest):
self._create_switches()
# Calculate expected results
api_graph = self.vitrage_client.topology.get()
api_graph = self.vitrage_client.topology.get(all_tenants=1)
graph = self._create_graph_from_graph_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1,

@ -116,7 +116,7 @@ class TestRca(BaseRcaTest):
self._create_alarm(
resource_id=self._get_hostname(),
alarm_name=RCA_ALARM_NAME)
topology = self.vitrage_client.topology.get()
topology = self.vitrage_client.topology.get(all_tenants=1)
self._validate_set_state(topology=topology['nodes'],
instances=instances)

@ -34,10 +34,16 @@ class BaseTopologyTest(BaseApiTest):
def _rollback_to_default(self):
self._delete_entities()
api_graph = self.vitrage_client.topology.get(
limit=4, root='RESOURCE:openstack.cluster')
limit=4, root='RESOURCE:openstack.cluster', all_tenants=1)
graph = self._create_graph_from_graph_dictionary(api_graph)
entities = self._entities_validation_data()
self._validate_graph_correctness(graph, 3, 2, entities)
num_default_entities = self.num_default_entities + \
self.num_default_networks + self.num_default_ports
num_default_edges = self.num_default_edges + self.num_default_ports
self._validate_graph_correctness(graph,
num_default_entities,
num_default_edges,
entities)
def _create_entities(self, num_instances=0, num_volumes=0, end_sleep=3):
if num_instances > 0:

@ -18,6 +18,9 @@ from vitrage_tempest_tests.tests.api.topology.base import BaseTopologyTest
import vitrage_tempest_tests.tests.utils as utils
from vitrageclient.exc import ClientException
import unittest
LOG = logging.getLogger(__name__)
NOVA_QUERY = '{"and": [{"==": {"category": "RESOURCE"}},' \
'{"==": {"is_deleted": false}},' \
@ -60,7 +63,7 @@ class TestTopology(BaseTopologyTest):
num_volumes=self.NUM_VOLUME)
# Calculate expected results
api_graph = self.vitrage_client.topology.get()
api_graph = self.vitrage_client.topology.get(all_tenants=1)
graph = self._create_graph_from_graph_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1,
@ -96,7 +99,8 @@ class TestTopology(BaseTopologyTest):
# Calculate expected results
api_graph = self.vitrage_client.topology.get(
query=self._graph_query())
query=self._graph_query(),
all_tenants=1)
graph = self._create_graph_from_graph_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1,
@ -126,7 +130,7 @@ class TestTopology(BaseTopologyTest):
# Calculate expected results
api_graph = self.vitrage_client.topology.get(
graph_type='tree', query=NOVA_QUERY)
graph_type='tree', query=NOVA_QUERY, all_tenants=1)
graph = self._create_graph_from_tree_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1,
@ -156,7 +160,7 @@ class TestTopology(BaseTopologyTest):
# Calculate expected results
api_graph = self.vitrage_client.topology.get(
graph_type='tree', query=self._tree_query())
graph_type='tree', query=self._tree_query(), all_tenants=1)
graph = self._create_graph_from_tree_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1, host_edges=1)
@ -181,7 +185,7 @@ class TestTopology(BaseTopologyTest):
# Calculate expected results
api_graph = self.vitrage_client.topology.get(
limit=2, graph_type='tree', query=NOVA_QUERY)
limit=2, graph_type='tree', query=NOVA_QUERY, all_tenants=1)
graph = self._create_graph_from_tree_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1, host_edges=1)
@ -206,7 +210,7 @@ class TestTopology(BaseTopologyTest):
# Calculate expected results
api_graph = self.vitrage_client.topology.get(
limit=3, graph_type='tree', query=NOVA_QUERY)
limit=3, graph_type='tree', query=NOVA_QUERY, all_tenants=1)
graph = self._create_graph_from_tree_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1,
@ -224,6 +228,7 @@ class TestTopology(BaseTopologyTest):
finally:
self._rollback_to_default()
@unittest.skip("testing skipping")
def test_graph_with_root_and_depth_exclude_instance(self):
"""tree_with_query
@ -236,7 +241,7 @@ class TestTopology(BaseTopologyTest):
# Calculate expected results
api_graph = self.vitrage_client.topology.get(
limit=2, root='RESOURCE:openstack.cluster')
limit=2, root='RESOURCE:openstack.cluster', all_tenants=1)
graph = self._create_graph_from_graph_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1, host_edges=1)
@ -249,6 +254,7 @@ class TestTopology(BaseTopologyTest):
finally:
self._rollback_to_default()
@unittest.skip("testing skipping")
def test_graph_with_root_and_depth_include_instance(self):
"""graph_with_root_and_depth_include_instance
@ -261,7 +267,7 @@ class TestTopology(BaseTopologyTest):
# Calculate expected results
api_graph = self.vitrage_client.topology.get(
limit=3, root='RESOURCE:openstack.cluster')
limit=3, root='RESOURCE:openstack.cluster', all_tenants=1)
graph = self._create_graph_from_graph_dictionary(api_graph)
entities = self._entities_validation_data(
host_entities=1,
@ -292,7 +298,8 @@ class TestTopology(BaseTopologyTest):
# Calculate expected results
self.vitrage_client.topology.get(limit=2,
root='RESOURCE:openstack.cluster')
root='RESOURCE:openstack.cluster',
all_tenants=1)
except ClientException as e:
self.assertEqual(403, e.code)
self.assertEqual(
@ -314,7 +321,7 @@ class TestTopology(BaseTopologyTest):
# Calculate expected results
api_graph = self.vitrage_client.topology.get(
query=self._graph_no_match_query())
query=self._graph_no_match_query(), all_tenants=1)
# Test Assertions
self.assertEqual(
@ -338,7 +345,9 @@ class TestTopology(BaseTopologyTest):
# Calculate expected results
api_graph = self.vitrage_client.topology.get(
graph_type='tree', query=self._tree_no_match_query())
graph_type='tree',
query=self._tree_no_match_query(),
all_tenants=1)
# Test Assertions
self.assertEqual({}, api_graph)