From 091af18a802331b1f29703193aaa99e8253a2c7b Mon Sep 17 00:00:00 2001 From: Sergey Reshetnyak Date: Wed, 15 Feb 2017 17:03:04 +0300 Subject: [PATCH] Add macros support for actions Change-Id: I425e028fcabf326d582a1d2e8fd45f761cd1a66c --- fuel_ccp/action.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/fuel_ccp/action.py b/fuel_ccp/action.py index 1df7e9a6..5427b72c 100644 --- a/fuel_ccp/action.py +++ b/fuel_ccp/action.py @@ -6,6 +6,7 @@ import uuid import yaml +from fuel_ccp.common import jinja_utils from fuel_ccp.common import utils from fuel_ccp import config from fuel_ccp.config import images as config_images @@ -85,14 +86,17 @@ class Action(object): return json.dumps({"workflow": wf}) def _get_file_templates(self): - # TODO(sreshetniak): use imports and add macros CM + exports_map = utils.get_repositories_exports() + exports_template = jinja_utils.generate_jinja_imports(exports_map) data = {} for f in self.files: template_path = os.path.join(self.component_dir, "service", "files", f["content"]) with open(template_path) as filedata: - data[f["content"]] = filedata.read() + data[f["content"]] = exports_template + "\n" + filedata.read() + for ex_item in exports_map.values(): + data[ex_item["name"]] = ex_item["body"] return data # job methods @@ -135,6 +139,11 @@ class Action(object): "key": f["content"], "path": "files/%s" % f["content"] }) + for ex_item in utils.get_repositories_exports().values(): + config_volume_items.append({ + "key": ex_item["name"], + "path": "exports/%s" % ex_item["name"] + }) pod_spec = { "metadata": { "name": self.k8s_name