From 6ae2ae87c040037c0381d474cc75598eb8ffe12b Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Mon, 3 Oct 2022 22:52:41 -0400 Subject: [PATCH 01/13] Update qubesformation.py --- action_plugins/qubesformation.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/action_plugins/qubesformation.py b/action_plugins/qubesformation.py index d975592..4a3a510 100644 --- a/action_plugins/qubesformation.py +++ b/action_plugins/qubesformation.py @@ -17,6 +17,15 @@ def generate_datastructure(vms, task_vars): dc = collections.OrderedDict d = dc() for n, data in vms.items(): + # This block will skip any VMs that are not in the 'vms' variable + # This allows you to deploy in multiple stages which is useful in cases + # where you want to create a template after another template is already provisioned. + if hasattr(task_vars, 'vms'): + if n not in task_vars['vms']: + continue + fi + fi + qubes = data['qubes'] d[task_vars['hostvars'][n]['inventory_hostname_short']] = dc(qvm=['vm']) vm = d[task_vars['hostvars'][n]['inventory_hostname_short']] From bbed07547c5cda7ee4aad69291fb5a3ca360f125 Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Tue, 4 Oct 2022 00:06:42 -0400 Subject: [PATCH 02/13] Update qubesformation.py --- action_plugins/qubesformation.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/action_plugins/qubesformation.py b/action_plugins/qubesformation.py index 4a3a510..a386ded 100644 --- a/action_plugins/qubesformation.py +++ b/action_plugins/qubesformation.py @@ -23,8 +23,6 @@ def generate_datastructure(vms, task_vars): if hasattr(task_vars, 'vms'): if n not in task_vars['vms']: continue - fi - fi qubes = data['qubes'] d[task_vars['hostvars'][n]['inventory_hostname_short']] = dc(qvm=['vm']) From a6384ab40fe773c6c1c27976fd4a79c9027ef349 Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Tue, 18 Oct 2022 05:08:21 -0400 Subject: [PATCH 03/13] Update qubesformation.py --- action_plugins/qubesformation.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/action_plugins/qubesformation.py b/action_plugins/qubesformation.py index a386ded..da54f08 100644 --- a/action_plugins/qubesformation.py +++ b/action_plugins/qubesformation.py @@ -17,12 +17,13 @@ def generate_datastructure(vms, task_vars): dc = collections.OrderedDict d = dc() for n, data in vms.items(): - # This block will skip any VMs that are not in the 'vms' variable + # This block will skip any VMs that are not in the groups defined in the 'formation_vm_groups' variable # This allows you to deploy in multiple stages which is useful in cases # where you want to create a template after another template is already provisioned. - if hasattr(task_vars, 'vms'): - if n not in task_vars['vms']: - continue + if hasattr(task_vars, 'formation_vm_groups'): + for group in task_vars['formation_vm_groups']: + if n not in task_vars.groups[group]: + continue qubes = data['qubes'] d[task_vars['hostvars'][n]['inventory_hostname_short']] = dc(qvm=['vm']) From 6984a541c67919fcc53f8816487f1ff746f60a86 Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Tue, 18 Oct 2022 10:29:21 -0400 Subject: [PATCH 04/13] Update qubesformation.py --- action_plugins/qubesformation.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/action_plugins/qubesformation.py b/action_plugins/qubesformation.py index da54f08..7ff736c 100644 --- a/action_plugins/qubesformation.py +++ b/action_plugins/qubesformation.py @@ -21,9 +21,12 @@ def generate_datastructure(vms, task_vars): # This allows you to deploy in multiple stages which is useful in cases # where you want to create a template after another template is already provisioned. if hasattr(task_vars, 'formation_vm_groups'): + continueLoop = true for group in task_vars['formation_vm_groups']: - if n not in task_vars.groups[group]: - continue + if n in task_vars.groups[group]: + continueLoop = false + if continueLoop: + continue qubes = data['qubes'] d[task_vars['hostvars'][n]['inventory_hostname_short']] = dc(qvm=['vm']) From a41aa775d2b67db1c8c2c871e3fc6a4b7e4c1693 Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Tue, 18 Oct 2022 10:46:21 -0400 Subject: [PATCH 05/13] Update qubesformation.py --- action_plugins/qubesformation.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/action_plugins/qubesformation.py b/action_plugins/qubesformation.py index 7ff736c..db9cf5a 100644 --- a/action_plugins/qubesformation.py +++ b/action_plugins/qubesformation.py @@ -17,12 +17,17 @@ def generate_datastructure(vms, task_vars): dc = collections.OrderedDict d = dc() for n, data in vms.items(): + print(n) # This block will skip any VMs that are not in the groups defined in the 'formation_vm_groups' variable # This allows you to deploy in multiple stages which is useful in cases # where you want to create a template after another template is already provisioned. if hasattr(task_vars, 'formation_vm_groups'): continueLoop = true + print("formation") + print(task_vars['formation_vm_groups']) for group in task_vars['formation_vm_groups']: + print("group vars") + print(task_vars.groups[group]) if n in task_vars.groups[group]: continueLoop = false if continueLoop: From 8ad65b7e275e884a050ef4fb4e91093a915ae058 Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Tue, 18 Oct 2022 11:18:52 -0400 Subject: [PATCH 06/13] Update qubesformation.py --- action_plugins/qubesformation.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/action_plugins/qubesformation.py b/action_plugins/qubesformation.py index db9cf5a..1da1824 100644 --- a/action_plugins/qubesformation.py +++ b/action_plugins/qubesformation.py @@ -21,6 +21,8 @@ def generate_datastructure(vms, task_vars): # This block will skip any VMs that are not in the groups defined in the 'formation_vm_groups' variable # This allows you to deploy in multiple stages which is useful in cases # where you want to create a template after another template is already provisioned. + print(task_vars) + print(task_vars.formation_vm_groups) if hasattr(task_vars, 'formation_vm_groups'): continueLoop = true print("formation") From 9043a3a736be08bb96dfde5b3ff98e3c311d88bb Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Tue, 18 Oct 2022 11:31:17 -0400 Subject: [PATCH 07/13] Update qubesformation.py --- action_plugins/qubesformation.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/action_plugins/qubesformation.py b/action_plugins/qubesformation.py index 1da1824..db87876 100644 --- a/action_plugins/qubesformation.py +++ b/action_plugins/qubesformation.py @@ -22,15 +22,15 @@ def generate_datastructure(vms, task_vars): # This allows you to deploy in multiple stages which is useful in cases # where you want to create a template after another template is already provisioned. print(task_vars) - print(task_vars.formation_vm_groups) - if hasattr(task_vars, 'formation_vm_groups'): + print(task_vars.ansible_facts.formation_vm_groups) + if hasattr(task_vars.ansible_facts, 'formation_vm_groups'): continueLoop = true print("formation") - print(task_vars['formation_vm_groups']) - for group in task_vars['formation_vm_groups']: + print(task_vars.ansible_facts['formation_vm_groups']) + for group in task_vars.ansible_facts['formation_vm_groups']: print("group vars") - print(task_vars.groups[group]) - if n in task_vars.groups[group]: + print(task_vars.ansible_facts.groups[group]) + if n in task_vars.ansible_facts.groups[group]: continueLoop = false if continueLoop: continue From 77015a49ac5a1a5b71b441a2f56d9285101702d6 Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Tue, 18 Oct 2022 11:49:48 -0400 Subject: [PATCH 08/13] Update qubesformation.py --- action_plugins/qubesformation.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/action_plugins/qubesformation.py b/action_plugins/qubesformation.py index db87876..5b64fb0 100644 --- a/action_plugins/qubesformation.py +++ b/action_plugins/qubesformation.py @@ -2,6 +2,7 @@ import collections import os import sys import tempfile +import json from ansible import errors from ansible.plugins.action.template import ActionModule as template @@ -21,7 +22,7 @@ def generate_datastructure(vms, task_vars): # This block will skip any VMs that are not in the groups defined in the 'formation_vm_groups' variable # This allows you to deploy in multiple stages which is useful in cases # where you want to create a template after another template is already provisioned. - print(task_vars) + print(json.dumps(task_vars)) print(task_vars.ansible_facts.formation_vm_groups) if hasattr(task_vars.ansible_facts, 'formation_vm_groups'): continueLoop = true From e5aef5be6486cf9964fb7c7c05d6a1dbed2e22ae Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Tue, 18 Oct 2022 12:03:20 -0400 Subject: [PATCH 09/13] Update qubesformation.py --- action_plugins/qubesformation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/action_plugins/qubesformation.py b/action_plugins/qubesformation.py index 5b64fb0..4b49a93 100644 --- a/action_plugins/qubesformation.py +++ b/action_plugins/qubesformation.py @@ -22,8 +22,8 @@ def generate_datastructure(vms, task_vars): # This block will skip any VMs that are not in the groups defined in the 'formation_vm_groups' variable # This allows you to deploy in multiple stages which is useful in cases # where you want to create a template after another template is already provisioned. - print(json.dumps(task_vars)) - print(task_vars.ansible_facts.formation_vm_groups) + print(json.dumps(task_vars, default=vars)) + print(task_vars.ansible_facts.) if hasattr(task_vars.ansible_facts, 'formation_vm_groups'): continueLoop = true print("formation") From f1db77fb05358adc9ee5d229517d8c0131f188af Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Sun, 23 Oct 2022 01:38:17 -0400 Subject: [PATCH 10/13] Update qubesformation.py --- action_plugins/qubesformation.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/action_plugins/qubesformation.py b/action_plugins/qubesformation.py index 4b49a93..4b1993e 100644 --- a/action_plugins/qubesformation.py +++ b/action_plugins/qubesformation.py @@ -23,11 +23,13 @@ def generate_datastructure(vms, task_vars): # This allows you to deploy in multiple stages which is useful in cases # where you want to create a template after another template is already provisioned. print(json.dumps(task_vars, default=vars)) - print(task_vars.ansible_facts.) + print(task_vars.ansible_facts) if hasattr(task_vars.ansible_facts, 'formation_vm_groups'): continueLoop = true print("formation") print(task_vars.ansible_facts['formation_vm_groups']) + print("hostvars") + print(task_vars['hostvars'][n]) for group in task_vars.ansible_facts['formation_vm_groups']: print("group vars") print(task_vars.ansible_facts.groups[group]) From feff9f41a72d2bc88679f7a251a094fa0620ab2d Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Sun, 23 Oct 2022 02:40:10 -0400 Subject: [PATCH 11/13] Update qubesformation.py --- action_plugins/qubesformation.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/action_plugins/qubesformation.py b/action_plugins/qubesformation.py index 4b1993e..a8e7737 100644 --- a/action_plugins/qubesformation.py +++ b/action_plugins/qubesformation.py @@ -2,7 +2,6 @@ import collections import os import sys import tempfile -import json from ansible import errors from ansible.plugins.action.template import ActionModule as template @@ -22,14 +21,15 @@ def generate_datastructure(vms, task_vars): # This block will skip any VMs that are not in the groups defined in the 'formation_vm_groups' variable # This allows you to deploy in multiple stages which is useful in cases # where you want to create a template after another template is already provisioned. - print(json.dumps(task_vars, default=vars)) print(task_vars.ansible_facts) + print("hostvars") + print(task_vars['hostvars'][n]) + print("formation") + print(task_vars.ansible_facts['formation_vm_groups']) + print("testy") + print(task_vars['hostvars'][n]['formation_vm_groups']) if hasattr(task_vars.ansible_facts, 'formation_vm_groups'): continueLoop = true - print("formation") - print(task_vars.ansible_facts['formation_vm_groups']) - print("hostvars") - print(task_vars['hostvars'][n]) for group in task_vars.ansible_facts['formation_vm_groups']: print("group vars") print(task_vars.ansible_facts.groups[group]) From 45cd87d984b0f761a4a4ba2a11cde7ee9dcf3fe2 Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Sun, 23 Oct 2022 02:47:08 -0400 Subject: [PATCH 12/13] Update qubesformation.py --- action_plugins/qubesformation.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/action_plugins/qubesformation.py b/action_plugins/qubesformation.py index a8e7737..3b241ae 100644 --- a/action_plugins/qubesformation.py +++ b/action_plugins/qubesformation.py @@ -21,11 +21,8 @@ def generate_datastructure(vms, task_vars): # This block will skip any VMs that are not in the groups defined in the 'formation_vm_groups' variable # This allows you to deploy in multiple stages which is useful in cases # where you want to create a template after another template is already provisioned. - print(task_vars.ansible_facts) print("hostvars") print(task_vars['hostvars'][n]) - print("formation") - print(task_vars.ansible_facts['formation_vm_groups']) print("testy") print(task_vars['hostvars'][n]['formation_vm_groups']) if hasattr(task_vars.ansible_facts, 'formation_vm_groups'): From f750054efad082a7a4c37b5cfcaa14fe21a217a7 Mon Sep 17 00:00:00 2001 From: Brian Zalewski <59970525+ProfessorManhattan@users.noreply.github.com> Date: Sun, 23 Oct 2022 04:05:03 -0400 Subject: [PATCH 13/13] Update qubesformation.py --- action_plugins/qubesformation.py | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/action_plugins/qubesformation.py b/action_plugins/qubesformation.py index 3b241ae..7be54e8 100644 --- a/action_plugins/qubesformation.py +++ b/action_plugins/qubesformation.py @@ -8,30 +8,21 @@ from ansible.plugins.action.template import ActionModule as template sys.path.insert(0, os.path.dirname(__file__)) import commonlib - contents = """{{ vms | to_nice_yaml }}""" topcontents = "{{ saltenv }}:\n '*':\n - {{ recipename }}\n" - def generate_datastructure(vms, task_vars): dc = collections.OrderedDict d = dc() for n, data in vms.items(): - print(n) # This block will skip any VMs that are not in the groups defined in the 'formation_vm_groups' variable # This allows you to deploy in multiple stages which is useful in cases # where you want to create a template after another template is already provisioned. - print("hostvars") - print(task_vars['hostvars'][n]) - print("testy") - print(task_vars['hostvars'][n]['formation_vm_groups']) - if hasattr(task_vars.ansible_facts, 'formation_vm_groups'): - continueLoop = true - for group in task_vars.ansible_facts['formation_vm_groups']: - print("group vars") - print(task_vars.ansible_facts.groups[group]) - if n in task_vars.ansible_facts.groups[group]: - continueLoop = false + if 'formation_vm_groups' in task_vars: + continueLoop = True + for group in task_vars['formation_vm_groups']: + if n in task_vars['hostvars'][n]['groups'][group]: + continueLoop = False if continueLoop: continue @@ -108,7 +99,6 @@ def generate_datastructure(vms, task_vars): return d - class ActionModule(template): TRANSFERS_FILES = True