From 7977a2d9195f49483aac41ca6a26ebd5c076fc0a Mon Sep 17 00:00:00 2001 From: Bertrand Lanson Date: Wed, 3 Jan 2024 21:06:30 +0100 Subject: [PATCH] feat(vars): variable loading now mostly works for groups and hosts --- playbooks/load_vars.yml | 42 +++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/playbooks/load_vars.yml b/playbooks/load_vars.yml index 59d4307..5ccda9b 100644 --- a/playbooks/load_vars.yml +++ b/playbooks/load_vars.yml @@ -1,5 +1,9 @@ --- # hashistack variable injection playbook +- name: "Debug" + ansible.builtin.debug: + msg: "{{ vault_cluster_name }}" + - name: "Load global variables" block: - name: "Stat global configuration file" @@ -18,52 +22,62 @@ ansible.builtin.include_vars: dir: "{{ configuration_directory }}" files_matching: "{{ configuration_global_vars_file }}" + depth: 1 delegate_to: localhost - name: "Load group specific variables" block: - name: "Stat group specific config file" ansible.builtin.stat: - path: "{{ configuration_directory }}/{{ item }}/{{ configuration_global_vars_file }}" + path: "{{ configuration_directory }}/{{ group_name }}/{{ configuration_global_vars_file }}" register: _group_config_file loop: "{{ group_names }}" - delegate_to: localhost - - - name: "debug" - ansible.builtin.debug: - msg: "{{ _group_config_file }}" + loop_control: + loop_var: group_name - name: Load group specific variables ansible.builtin.include_vars: - dir: "{{ configuration_directory }}/{{ item.item }}" + dir: "{{ configuration_directory }}/{{ item.group_name }}" files_matching: "{{ configuration_global_vars_file }}" + depth: 1 loop: "{{ _group_config_file.results }}" when: item.stat.exists + and item.group_name in group_names + loop_control: + loop_var: item delegate_to: localhost - name: "Load host specific variables" block: - name: "Stat host specific config file" ansible.builtin.stat: - path: "{{ configuration_directory }}/{{ item }}/{{ inventory_hostname }}/{{ configuration_global_vars_file }}" + path: "{{ configuration_directory }}/{{ group_name }}/{{ inventory_hostname }}/{{ configuration_global_vars_file }}" register: _host_config_file loop: "{{ group_names }}" + loop_control: + loop_var: group_name delegate_to: localhost - - name: "debug" - ansible.builtin.debug: - msg: "{{ _host_config_file }}" - - name: Load host specific variables ansible.builtin.include_vars: - dir: "{{ configuration_directory }}/{{ item.item }}/{{ inventory_hostname }}" + dir: "{{ configuration_directory }}/{{ item.group_name }}/{{ inventory_hostname }}" files_matching: "{{ configuration_global_vars_file }}" loop: "{{ _host_config_file.results }}" when: item.stat.exists + loop_control: + loop_var: item delegate_to: localhost + +- name: "Debug" + ansible.builtin.debug: + msg: "{{ group_names }}" + +- name: "Debug" + ansible.builtin.debug: + msg: "{{ vault_cluster_name }}" # - name: "Load host specific variables" # ansible.builtin.include_vars: # dir: "" # files_matching: "" -- fail: \ No newline at end of file +- fail: