Initial change to support heat-based environments
Moved the patch from the mcp/mcp-qa repo, ref #1170 to
not lose it after cleaning up.
1.Added envmanager_heat.py to create environment in OpenStack
and use the created heat stack as the metadata source.
Current conventions for heat stack metadata:
- OS::Nova::Server must use 'metadata' property to specify list
of the node roles, example:
cfg01_node:
type: OS::Nova::Server
...
properties:
...
metadata:
roles:
- salt_master
- OS::Neutron::Subnet must use 'tags' property to specify the
address pool name (L3 network roles), example:
control_subnet:
type: OS::Neutron::Subnet
properties:
...
tags:
- private_pool01
2. Change underlay.yaml to use the user data file 'as is', without
indents and jinja blocks. This will allow to use the same
user data file for fuel-devops envs and heat stack envs.
3. Add an example microcloud-8116.env file with some defaults.
For other stacks, another .env files can be created, with different
access keys, networks, images, ...
Related-Bug: PROD-27687
Change-Id: Iaa9e97447bd1b41e5930a1ffbb7312945ba139f4
diff --git a/tcp_tests/settings_oslo.py b/tcp_tests/settings_oslo.py
index 4b1f14a..5717875 100644
--- a/tcp_tests/settings_oslo.py
+++ b/tcp_tests/settings_oslo.py
@@ -27,6 +27,10 @@
_default_conf = pkg_resources.resource_filename(
__name__, 'templates/{0}/underlay.yaml'.format(settings.LAB_CONFIG_NAME))
+_default_heat_conf = pkg_resources.resource_filename(
+ __name__, 'templates/{0}/underlay.hot'.format(settings.LAB_CONFIG_NAME))
+_default_heat_env = pkg_resources.resource_filename(
+ __name__, 'templates/_heat_environments/microcloud-8116.env')
_default_salt_steps = pkg_resources.resource_filename(
__name__, 'templates/{0}/salt.yaml'.format(settings.LAB_CONFIG_NAME))
@@ -89,6 +93,13 @@
ct.Cfg('current_snapshot', ct.String(),
help="Latest environment status name",
default=ext.SNAPSHOT.hardware),
+
+ ct.Cfg('heat_stack_name', ct.String(),
+ help="Heat stack name", default=''),
+ ct.Cfg('heat_conf_path', ct.String(),
+ help="Heat template file", default=_default_heat_conf),
+ ct.Cfg('heat_env_path', ct.String(),
+ help="Heat environment parameters file", default=_default_heat_env),
]