PDF: generate_config: Add IDF parsing support 87/43087/1
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Tue, 26 Sep 2017 01:42:24 +0000 (03:42 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Tue, 26 Sep 2017 02:01:45 +0000 (04:01 +0200)
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>
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)