From c1f8cfaafa84831be08e33f232de3794e35ef08e Mon Sep 17 00:00:00 2001 From: Attila Farkas <x394097@fi.muni.cz> Date: Wed, 11 Mar 2020 18:59:03 +0100 Subject: [PATCH] generate inventory files --- create.py | 10 +++++----- modules/ansible_generator.py | 17 ++++++++++++++++- templates/inventory | 10 ++++++++++ 3 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 templates/inventory diff --git a/create.py b/create.py index 1b36e5a..289c21d 100644 --- a/create.py +++ b/create.py @@ -59,8 +59,8 @@ except Exception: sys.exit(1) """ Generating ansible playbooks. """ -try: - generate_playbooks(device_definitions, flags) -except Exception: - print("Playbooks could not be created.") - sys.exit(1) +#try: +generate_playbooks(device_definitions, flags) +#except Exception: +# print("Playbooks could not be created.") +# sys.exit(1) diff --git a/modules/ansible_generator.py b/modules/ansible_generator.py index 13c7090..d7584e2 100644 --- a/modules/ansible_generator.py +++ b/modules/ansible_generator.py @@ -1,6 +1,21 @@ +from modules.file_manager import load_template, generate_file + def _create_inventory(input_definitions): """ Creates an inventory file with host groups. """ + host_names = [] + for host in input_definitions["hosts"]: + host_names.append(host["name"]) + + router_names = [] + for router in input_definitions["routers"]: + router_names.append(router["name"]) + + inventory_template = load_template("inventory") + output = inventory_template.render(hosts=host_names, routers=router_names) + generate_file("provisioning/inventory.ini", output) + generate_file("base_provisioning/inventory.ini", output) + def generate_playbooks(input_definitions, flags): """ Generates ansible playbooks. @@ -9,4 +24,4 @@ def generate_playbooks(input_definitions, flags): :param flags: command line input flags """ - _create_inventory(input_definitions) \ No newline at end of file + _create_inventory(input_definitions) diff --git a/templates/inventory b/templates/inventory new file mode 100644 index 0000000..cb04ca3 --- /dev/null +++ b/templates/inventory @@ -0,0 +1,10 @@ +[hosts] +{% for host in hosts %} + {{ host }} +{% endfor %} + +[routers] +{% for router in routers %} + {{ router }} +{% endfor %} + -- GitLab