diff --git a/modules/input_argument_parser.py b/modules/input_argument_parser.py index 1964d8bf6307fe5386d07af0e6902eff36adabf6..a60192f3f859cc2e459f7a6ca4de04af69df3575 100644 --- a/modules/input_argument_parser.py +++ b/modules/input_argument_parser.py @@ -27,6 +27,10 @@ def parse_input_args(): parser.add_argument("--provisioning_dir", help="path to directory with user provisioning files", action="store") + parser.add_argument("--extra_vars", + help="path to file with extra_vars for ansible", + action="store") + args = parser.parse_args() input_file_name = args.definition_file @@ -34,5 +38,6 @@ def parse_input_args(): flags["verbose_ansible"] = args.verbose_ansible flags["border_router"] = args.border_router flags["provisioning_dir"] = args.provisioning_dir + flags["extra_vars"] = args.extra_vars return input_file_name, flags diff --git a/modules/vagrant_generator.py b/modules/vagrant_generator.py index dbdb6267a5ba89e602eb7253b26d2d0aa1f6f45e..2ed2e79c3b5c98010ebc041cbf38f0175321fa71 100644 --- a/modules/vagrant_generator.py +++ b/modules/vagrant_generator.py @@ -139,6 +139,9 @@ def _create_ansible_commands(playbook_location, input_definitions, flags): extravars["dictionary"] = dict() extravars["dictionary"]["ansible_python_interpreter"] = \ "\"/usr/bin/python3\"" + if "extra_vars" in flags and flags["extra_vars"]: + user_extra_vars = open_yaml(flags["extra_vars"]) + extravars["dictionary"].update(user_extra_vars) commands.append(extravars) return commands