summaryrefslogtreecommitdiffstats
path: root/utils/infra_setup/heat
diff options
context:
space:
mode:
Diffstat (limited to 'utils/infra_setup/heat')
-rwxr-xr-xutils/infra_setup/heat/common.py38
-rwxr-xr-xutils/infra_setup/heat/consts/files.py1
-rwxr-xr-xutils/infra_setup/heat/manager.py12
-rwxr-xr-xutils/infra_setup/heat/template.py5
-rwxr-xr-xutils/infra_setup/heat/tests/generate_template_test.py9
5 files changed, 46 insertions, 19 deletions
diff --git a/utils/infra_setup/heat/common.py b/utils/infra_setup/heat/common.py
index 24de893f..c4a78249 100755
--- a/utils/infra_setup/heat/common.py
+++ b/utils/infra_setup/heat/common.py
@@ -34,6 +34,7 @@ TEMPLATE_EXTENSION = None
# Initialization and Input 'heat_templates/'validation
# ------------------------------------------------------
+
def init(api=False):
global BASE_DIR
# BASE_DIR = os.getcwd()
@@ -46,6 +47,7 @@ def init(api=False):
log_init()
general_vars_init(api)
+
def conf_file_init(api=False):
global CONF_FILE
if api:
@@ -66,24 +68,24 @@ def general_vars_init(api=False):
# Check Section in Configuration File
InputValidation.validate_configuration_file_section(
- files.GENERAL,
- "Section " + files.GENERAL +
- "is not present in configuration file")
+ files.GENERAL,
+ "Section " + files.GENERAL +
+ "is not present in configuration file")
InputValidation.validate_configuration_file_section(
- files.OPENSTACK,
- "Section " + files.OPENSTACK +
- "is not present in configuration file")
+ files.OPENSTACK,
+ "Section " + files.OPENSTACK +
+ "is not present in configuration file")
TEMPLATE_DIR = '/tmp/heat_templates/'
if not api:
# Validate template name
InputValidation.validate_configuration_file_parameter(
- files.GENERAL,
- files.TEMPLATE_NAME,
- "Parameter " + files.TEMPLATE_NAME +
- "is not present in configuration file")
+ files.GENERAL,
+ files.TEMPLATE_NAME,
+ "Parameter " + files.TEMPLATE_NAME +
+ "is not present in configuration file")
TEMPLATE_NAME = CONF_FILE.get_variable(files.GENERAL,
files.TEMPLATE_NAME)
InputValidation.validate_file_exist(
@@ -112,6 +114,7 @@ def log_init():
# Configuration file access
# ------------------------------------------------------
+
class ConfigurationFile:
"""
Used to extract data from the configuration file
@@ -188,6 +191,7 @@ class ConfigurationFile:
# Manage files
# ------------------------------------------------------
+
def get_heat_template_params():
"""
Returns the list of deployment parameters from the configuration file
@@ -203,6 +207,7 @@ def get_heat_template_params():
files.DEPLOYMENT_PARAMETERS, param)
return testcase_parameters
+
def get_testcase_params():
"""
Returns the list of testcase parameters from the configuration file
@@ -216,6 +221,7 @@ def get_testcase_params():
files.TESTCASE_PARAMETERS, param)
return testcase_parameters
+
def get_file_first_line(file_name):
"""
Returns the first line of a file
@@ -254,6 +260,8 @@ def replace_in_file(file, text_to_search, text_to_replace):
# ------------------------------------------------------
# Shell interaction
# ------------------------------------------------------
+
+
def run_command(command):
LOG.info("Running command: {}".format(command))
return os.system(command)
@@ -262,15 +270,19 @@ def run_command(command):
# Expose variables to other modules
# ------------------------------------------------------
+
def get_base_dir():
return BASE_DIR
+
def get_template_dir():
return TEMPLATE_DIR
# ------------------------------------------------------
# Configuration Variables from Config File
# ------------------------------------------------------
+
+
def get_deployment_configuration_variables_from_conf_file():
variables = dict()
types = dict()
@@ -289,13 +301,17 @@ def get_deployment_configuration_variables_from_conf_file():
# ------------------------------------------------------
# benchmarks from Config File
# ------------------------------------------------------
+
+
def get_benchmarks_from_conf_file():
requested_benchmarks = list()
- benchmarks = CONF_FILE.get_variable(files.GENERAL, files.BENCHMARKS).split(', ')
+ benchmarks = CONF_FILE.get_variable(
+ files.GENERAL, files.BENCHMARKS).split(', ')
for benchmark in benchmarks:
requested_benchmarks.append(benchmark)
return requested_benchmarks
+
class InputValidation(object):
@staticmethod
diff --git a/utils/infra_setup/heat/consts/files.py b/utils/infra_setup/heat/consts/files.py
index 2856650f..f148f103 100755
--- a/utils/infra_setup/heat/consts/files.py
+++ b/utils/infra_setup/heat/consts/files.py
@@ -12,6 +12,7 @@
# ------------------------------------------------------
GENERAL = 'General'
+
def get_sections():
return [
GENERAL,
diff --git a/utils/infra_setup/heat/manager.py b/utils/infra_setup/heat/manager.py
index 5902e8c4..f5a9b88d 100755
--- a/utils/infra_setup/heat/manager.py
+++ b/utils/infra_setup/heat/manager.py
@@ -13,6 +13,7 @@ from heatclient.common import template_utils
import heat.common as common
+
class HeatManager:
def __init__(self, credentials):
@@ -26,14 +27,14 @@ class HeatManager:
def heat_init(self):
keystone = keystone_client.Client(username=self.user,
- password=self.password,
- tenant_name=self.project_id,
- auth_url=self.auth_uri)
+ password=self.password,
+ tenant_name=self.project_id,
+ auth_url=self.auth_uri)
auth_token = keystone.auth_token
self.heat_url = keystone.service_catalog.url_for(
service_type='orchestration')
self.heat = heat_client.Client('1', endpoint=self.heat_url,
- token=auth_token)
+ token=auth_token)
def stacks_list(self, name=None):
for stack in self.heat.stacks.list():
@@ -44,7 +45,8 @@ class HeatManager:
def stack_generate(self, template_file, stack_name, parameters):
self.heat_init()
self.stacks_list()
- tpl_files, template = template_utils.get_template_contents(template_file)
+ tpl_files, template = template_utils.get_template_contents(
+ template_file)
fields = {
'template': template,
diff --git a/utils/infra_setup/heat/template.py b/utils/infra_setup/heat/template.py
index f05831de..f71e9166 100755
--- a/utils/infra_setup/heat/template.py
+++ b/utils/infra_setup/heat/template.py
@@ -15,6 +15,7 @@ import shutil
import common
import consts.parameters as parameters
+
class TreeNode:
def __init__(self):
@@ -80,6 +81,7 @@ class TreeNode:
template_name = parameters.TEST_TEMPLATE_NAME
+
def generates_templates(base_heat_template, deployment_configuration):
# parameters loaded from file
template_dir = common.get_template_dir()
@@ -148,7 +150,8 @@ def get_all_heat_templates(template_dir, template_extension):
template_files = list()
for dirname, dirnames, filenames in os.walk(template_dir):
for filename in filenames:
- if template_extension in filename and filename.endswith(template_extension) and template_name in filename:
+ if template_extension in filename and filename.endswith(
+ template_extension) and template_name in filename:
template_files.append(filename)
template_files.sort()
return template_files
diff --git a/utils/infra_setup/heat/tests/generate_template_test.py b/utils/infra_setup/heat/tests/generate_template_test.py
index d4e0a234..83c905ad 100755
--- a/utils/infra_setup/heat/tests/generate_template_test.py
+++ b/utils/infra_setup/heat/tests/generate_template_test.py
@@ -16,6 +16,7 @@ sys.path.append("..")
import template
import common
+
def reset_common():
common.LOG = None
common.CONF_FILE = None
@@ -26,7 +27,9 @@ def reset_common():
common.TEMPLATE_NAME = None
common.TEMPLATE_EXTENSION = None
+
class TestGeneratesTemplate(unittest.TestCase):
+
def setUp(self):
self.deployment_configuration = {
'flavor': ['medium']
@@ -42,7 +45,8 @@ class TestGeneratesTemplate(unittest.TestCase):
def test_generates_template_for_success(self, mock_template_dir,
mock_log):
tmp_generated_templates_dir = '/data/generated_templates/'
- generated_templates_dir = "{}{}".format(os.getcwd(), tmp_generated_templates_dir)
+ generated_templates_dir = "{}{}".format(
+ os.getcwd(), tmp_generated_templates_dir)
mock_template_dir.return_value = generated_templates_dir
tmp_test_templates = '/data/test_templates/'
test_templates = "{}{}".format(os.getcwd(), tmp_test_templates)
@@ -69,7 +73,8 @@ class TestGeneratesTemplate(unittest.TestCase):
@mock.patch('common.get_template_dir')
def test_get_all_heat_templates_for_success(self, template_dir):
tmp_generated_templates = '/data/generated_templates/'
- generated_templates = "{}{}".format(os.getcwd(), tmp_generated_templates)
+ generated_templates = "{}{}".format(
+ os.getcwd(), tmp_generated_templates)
template_dir.return_value = generated_templates
extension = '.yaml'
expected = ['test_template_1.yaml']