(WIP) Use dynamic IPv4 network pools for deploy clusters (#18)
* Use dynamic IPv4 network pools for deploy clusters
- Use 'config' object as an additional jinja option to load templates
- Use 'address_pools' from 'config' object in
virtual-mcp11-ovs and virtual-mcp11-dvr
- Fill 'address_pools' in 'config' object from fuel-devops manager
* Use dynamic IPv4 network pools for deploy clusters
- Use 'config' object as an additional jinja option to load templates
- Use 'address_pools' from 'config' object in
virtual-mcp11-ovs and virtual-mcp11-dvr
- Fill 'address_pools' in 'config' object from fuel-devops manager
* return removed 'test_install_k8s'
* Use 'sed' to replace IP addresses in the models to pre-generated
also, two new environment variables avaliable for mcp11-ovs/dvr:
- SALT_MODELS_REPOSITORY
- SALT_MODELS_COMMIT
* remove temporary env_config.py.bak
diff --git a/tcp_tests/managers/envmanager_devops.py b/tcp_tests/managers/envmanager_devops.py
index 0f01999..e25faef 100644
--- a/tcp_tests/managers/envmanager_devops.py
+++ b/tcp_tests/managers/envmanager_devops.py
@@ -61,6 +61,7 @@
LOG.info("Environment doesn't exist, creating a new one")
self._create_environment()
self.set_dns_config()
+ self.set_address_pools_config()
@property
def _devops_config(self):
@@ -169,9 +170,11 @@
:name: string
"""
- LOG.info("Creating snapshot named '{0}'".format(name))
+ msg = "[ Create snapshot '{0}' ] {1}".format(name, description or '')
+ LOG.info("\n\n{0}\n{1}".format(msg, '*' * len(msg)))
+
self.__config.hardware.current_snapshot = name
- LOG.info("current config '{0}'".format(
+ LOG.info("Set current snapshot in config to '{0}'".format(
self.__config.hardware.current_snapshot))
if self._env is not None:
LOG.info('trying to suspend ....')
@@ -184,6 +187,25 @@
raise exceptions.EnvironmentIsNotSet()
settings_oslo.save_config(self.__config, name, self._env.name)
+ if settings.VIRTUAL_ENV:
+ venv_msg = "source {0}/bin/activate;\n".format(settings.VIRTUAL_ENV)
+ else:
+ venv_msg = ""
+ LOG.info("To revert the snapshot:\n\n"
+ "************************************\n"
+ "{venv_msg}"
+ "dos.py revert {env_name} {snapshot_name};\n"
+ "dos.py resume {env_name};\n"
+ "# dos.py time-sync {env_name}; # Optional\n"
+ "ssh {login}@{salt_master_host} # Password: {password}\n"
+ "************************************\n"
+ .format(venv_msg=venv_msg,
+ env_name=settings.ENV_NAME,
+ snapshot_name=name,
+ login=settings.SSH_NODE_CREDENTIALS['login'],
+ password=settings.SSH_NODE_CREDENTIALS['password'],
+ salt_master_host=self.__config.salt.salt_master_host))
+
def _get_snapshot_config_name(self, snapshot_name):
"""Get config name for the environment"""
env_name = self._env.name
@@ -355,3 +377,8 @@
self.__config.underlay.nameservers = [self.nameserver]
if not self.__config.underlay.upstream_dns_servers:
self.__config.underlay.upstream_dns_servers = [self.nameserver]
+
+ def set_address_pools_config(self):
+ """Store address pools CIDRs in config object"""
+ for ap in self._env.get_address_pools():
+ self.__config.underlay.address_pools[ap.name] = ap.net