PDF: generate_config: Add IDF parsing support 59/48859/1
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Tue, 26 Sep 2017 01:42:24 +0000 (03:42 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Wed, 13 Dec 2017 22:39:58 +0000 (22:39 +0000)
For a given 'podN.yaml' file, check whether a file named
'idf-podN.yaml' exists in the same directory, and if it does,
pass its contents under the 'idf' dict key to the j2 template.

This assumes the contents of IDF yaml have a root 'idf' key.

Change-Id: I6c6f1b9f28c38989f8a6ed4a389c9a1da423d76d
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit e5c76e735a99395ab075f95c0f4105f8727a834e)

config/utils/generate_config.py

index a32367a..18af98d 100755 (executable)
@@ -2,6 +2,7 @@
 """This module does blah blah."""
 import argparse
 import ipaddress
+import os
 import yaml
 from jinja2 import Environment, FileSystemLoader
 
@@ -44,6 +45,13 @@ ENV.filters['dpkg_arch'] = dpkg_arch
 with open(ARGS.yaml) as _:
     DICT = yaml.safe_load(_)
 
+# If an installer descriptor file (IDF) exists, include it (temporary)
+IDF_PATH = '/idf-'.join(os.path.split(ARGS.yaml))
+if os.path.exists(IDF_PATH):
+    with open(IDF_PATH) as _:
+        IDF = yaml.safe_load(_)
+        DICT['idf'] = IDF['idf']
+
 # Print dictionary generated from yaml (uncomment for debug)
 # print(DICT)