Enable heat tempests
Change-Id: Ia9ce9aa2574eba5f48244e1e6897c565b32d92b5
This commit is contained in:
@@ -66,6 +66,7 @@ notification_driver = messagingv2
|
||||
[DEFAULT]
|
||||
notification_topics = notifications,vitrage_notifications
|
||||
notification_driver = messagingv2
|
||||
policy_file = /etc/heat/policy.json-tempest
|
||||
|
||||
[[post-config|\$VITRAGE_CONF]]
|
||||
[static_physical]
|
||||
|
||||
@@ -32,7 +32,8 @@ fi
|
||||
(cd $DEVSTACK_PATH/; sudo sh -c 'cp -rf vitrage/devstack/files/tempest/tempest.conf /etc/tempest.conf')
|
||||
(cd $DEVSTACK_PATH/; sudo sh -c 'cp -rf vitrage/vitrage_tempest_tests/tests/resources/static_physical/static_physical_configuration.yaml /etc/vitrage/')
|
||||
(cd $DEVSTACK_PATH/; sudo sh -c 'cp -rf vitrage/vitrage_tempest_tests/tests/resources/templates/api/* /etc/vitrage/templates/')
|
||||
(cd $DEVSTACK_PATH/; sudo sh -c 'cp -rf vitrage/vitrage_tempest_tests/tests/resources/heat_templates/heat_template.yaml /etc/vitrage/')
|
||||
(cd $DEVSTACK_PATH/; sudo sh -c 'cp -rf vitrage/vitrage_tempest_tests/tests/resources/heat/heat_template.yaml /etc/vitrage/')
|
||||
(cd $DEVSTACK_PATH/; sudo sh -c 'cp -rf vitrage/vitrage_tempest_tests/tests/resources/heat/policy.json-tempest /etc/heat/')
|
||||
|
||||
|
||||
sudo cp $DEVSTACK_PATH/tempest/etc/logging.conf.sample $DEVSTACK_PATH/tempest/etc/logging.conf
|
||||
|
||||
@@ -30,6 +30,7 @@ LOG = logging.getLogger(__name__)
|
||||
class HeatStackDriver(DriverBase):
|
||||
|
||||
_client = None
|
||||
conf = None
|
||||
|
||||
FAILED = 'FAILED'
|
||||
|
||||
@@ -42,15 +43,15 @@ class HeatStackDriver(DriverBase):
|
||||
|
||||
def __init__(self, conf):
|
||||
super(HeatStackDriver, self).__init__()
|
||||
self.conf = conf
|
||||
HeatStackDriver.conf = conf
|
||||
self._filter_resource_types()
|
||||
HeatStackDriver._client = self.client
|
||||
HeatStackDriver.client()
|
||||
|
||||
@property
|
||||
def client(self):
|
||||
if not self._client:
|
||||
self._client = clients.heat_client(self.conf)
|
||||
return self._client
|
||||
@staticmethod
|
||||
def client():
|
||||
if not HeatStackDriver._client:
|
||||
HeatStackDriver._client = clients.heat_client(HeatStackDriver.conf)
|
||||
return HeatStackDriver._client
|
||||
|
||||
@staticmethod
|
||||
def get_topic(conf):
|
||||
@@ -99,16 +100,16 @@ class HeatStackDriver(DriverBase):
|
||||
return [self._retrieve_stack_resources(stack, stack['id'])
|
||||
for stack in stacks]
|
||||
|
||||
@classmethod
|
||||
def _retrieve_stack_resources(cls, stack, stack_id):
|
||||
resources = cls._client.resources.list(stack_id)
|
||||
@staticmethod
|
||||
def _retrieve_stack_resources(stack, stack_id):
|
||||
resources = HeatStackDriver.client().resources.list(stack_id)
|
||||
stack['resources'] = [resource.__dict__ for resource in resources
|
||||
if resource.__dict__['resource_type'] in
|
||||
HeatStackDriver.RESOURCE_TYPE_CONVERSION]
|
||||
return stack
|
||||
|
||||
def get_all(self, sync_mode):
|
||||
stacks = self.client.stacks.list(global_tenant=True)
|
||||
stacks = HeatStackDriver.client().stacks.list(global_tenant=True)
|
||||
stacks_list = self._make_stacks_list(stacks)
|
||||
stacks_with_resources = self._append_stacks_resources(stacks_list)
|
||||
return self.make_pickleable(stacks_with_resources,
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
|
||||
from oslo_log import log as logging
|
||||
import time
|
||||
import unittest
|
||||
|
||||
from vitrage_tempest_tests.tests.api.topology.base import BaseTopologyTest
|
||||
|
||||
@@ -28,7 +27,6 @@ class TestHeatStack(BaseTopologyTest):
|
||||
def setUpClass(cls):
|
||||
super(TestHeatStack, cls).setUpClass()
|
||||
|
||||
@unittest.skip("test skipping")
|
||||
def test_heat_stack(self):
|
||||
"""heat stack test
|
||||
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
{
|
||||
"context_is_admin": "role:admin and is_admin_project:True",
|
||||
"project_admin": "role:admin",
|
||||
"deny_stack_user": "not role:heat_stack_user",
|
||||
"deny_everybody": "!",
|
||||
|
||||
"cloudformation:ListStacks": "rule:deny_stack_user",
|
||||
"cloudformation:CreateStack": "rule:deny_stack_user",
|
||||
"cloudformation:DescribeStacks": "rule:deny_stack_user",
|
||||
"cloudformation:DeleteStack": "rule:deny_stack_user",
|
||||
"cloudformation:UpdateStack": "rule:deny_stack_user",
|
||||
"cloudformation:CancelUpdateStack": "rule:deny_stack_user",
|
||||
"cloudformation:DescribeStackEvents": "rule:deny_stack_user",
|
||||
"cloudformation:ValidateTemplate": "rule:deny_stack_user",
|
||||
"cloudformation:GetTemplate": "rule:deny_stack_user",
|
||||
"cloudformation:EstimateTemplateCost": "rule:deny_stack_user",
|
||||
"cloudformation:DescribeStackResource": "",
|
||||
"cloudformation:DescribeStackResources": "rule:deny_stack_user",
|
||||
"cloudformation:ListStackResources": "rule:deny_stack_user",
|
||||
|
||||
"cloudwatch:DeleteAlarms": "rule:deny_stack_user",
|
||||
"cloudwatch:DescribeAlarmHistory": "rule:deny_stack_user",
|
||||
"cloudwatch:DescribeAlarms": "rule:deny_stack_user",
|
||||
"cloudwatch:DescribeAlarmsForMetric": "rule:deny_stack_user",
|
||||
"cloudwatch:DisableAlarmActions": "rule:deny_stack_user",
|
||||
"cloudwatch:EnableAlarmActions": "rule:deny_stack_user",
|
||||
"cloudwatch:GetMetricStatistics": "rule:deny_stack_user",
|
||||
"cloudwatch:ListMetrics": "rule:deny_stack_user",
|
||||
"cloudwatch:PutMetricAlarm": "rule:deny_stack_user",
|
||||
"cloudwatch:PutMetricData": "",
|
||||
"cloudwatch:SetAlarmState": "rule:deny_stack_user",
|
||||
|
||||
"actions:action": "rule:deny_stack_user",
|
||||
"build_info:build_info": "rule:deny_stack_user",
|
||||
"events:index": "rule:deny_stack_user",
|
||||
"events:show": "rule:deny_stack_user",
|
||||
"resource:index": "rule:deny_stack_user",
|
||||
"resource:metadata": "",
|
||||
"resource:signal": "",
|
||||
"resource:mark_unhealthy": "rule:deny_stack_user",
|
||||
"resource:show": "rule:deny_stack_user",
|
||||
"stacks:abandon": "rule:deny_stack_user",
|
||||
"stacks:create": "rule:deny_stack_user",
|
||||
"stacks:delete": "rule:deny_stack_user",
|
||||
"stacks:detail": "rule:deny_stack_user",
|
||||
"stacks:export": "rule:deny_stack_user",
|
||||
"stacks:generate_template": "rule:deny_stack_user",
|
||||
"stacks:global_index": "rule:deny_stack_user",
|
||||
"stacks:index": "rule:deny_stack_user",
|
||||
"stacks:list_resource_types": "rule:deny_stack_user",
|
||||
"stacks:list_template_versions": "rule:deny_stack_user",
|
||||
"stacks:list_template_functions": "rule:deny_stack_user",
|
||||
"stacks:lookup": "",
|
||||
"stacks:preview": "rule:deny_stack_user",
|
||||
"stacks:resource_schema": "rule:deny_stack_user",
|
||||
"stacks:show": "rule:deny_stack_user",
|
||||
"stacks:template": "rule:deny_stack_user",
|
||||
"stacks:environment": "rule:deny_stack_user",
|
||||
"stacks:files": "rule:deny_stack_user",
|
||||
"stacks:update": "rule:deny_stack_user",
|
||||
"stacks:update_patch": "rule:deny_stack_user",
|
||||
"stacks:preview_update": "rule:deny_stack_user",
|
||||
"stacks:preview_update_patch": "rule:deny_stack_user",
|
||||
"stacks:validate_template": "rule:deny_stack_user",
|
||||
"stacks:snapshot": "rule:deny_stack_user",
|
||||
"stacks:show_snapshot": "rule:deny_stack_user",
|
||||
"stacks:delete_snapshot": "rule:deny_stack_user",
|
||||
"stacks:list_snapshots": "rule:deny_stack_user",
|
||||
"stacks:restore_snapshot": "rule:deny_stack_user",
|
||||
"stacks:list_outputs": "rule:deny_stack_user",
|
||||
"stacks:show_output": "rule:deny_stack_user",
|
||||
|
||||
"software_configs:global_index": "rule:deny_stack_user",
|
||||
"software_configs:index": "rule:deny_stack_user",
|
||||
"software_configs:create": "rule:deny_stack_user",
|
||||
"software_configs:show": "rule:deny_stack_user",
|
||||
"software_configs:delete": "rule:deny_stack_user",
|
||||
"software_deployments:index": "rule:deny_stack_user",
|
||||
"software_deployments:create": "rule:deny_stack_user",
|
||||
"software_deployments:show": "rule:deny_stack_user",
|
||||
"software_deployments:update": "rule:deny_stack_user",
|
||||
"software_deployments:delete": "rule:deny_stack_user",
|
||||
"software_deployments:metadata": "",
|
||||
|
||||
"service:index": "rule:context_is_admin",
|
||||
|
||||
"resource_types:OS::Nova::Flavor": "rule:project_admin",
|
||||
"resource_types:OS::Cinder::EncryptedVolumeType": "rule:project_admin",
|
||||
"resource_types:OS::Cinder::VolumeType": "rule:project_admin",
|
||||
"resource_types:OS::Manila::ShareType": "rule:project_admin",
|
||||
"resource_types:OS::Neutron::QoSPolicy": "rule:project_admin",
|
||||
"resource_types:OS::Neutron::QoSBandwidthLimitRule": "rule:project_admin",
|
||||
"resource_types:OS::Nova::HostAggregate": "rule:project_admin"
|
||||
}
|
||||
Reference in New Issue
Block a user