generator: add support for extra vars usage (#84544)

* generator: add support for extra vars usage

Fixes: #83270

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* CI green

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* Review requests

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* Review requests II

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

---------

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This commit is contained in:
Abhijeet Kasurde
2025-01-21 15:20:51 -05:00
committed by GitHub
parent 4953fc7b26
commit 186c716af1
7 changed files with 85 additions and 1 deletions
@@ -0,0 +1 @@
shippable/posix/group5
@@ -0,0 +1,8 @@
plugin: ansible.builtin.generator
use_extra_vars: True
hosts:
name: "{{ region }}_{{ machine_type }}"
layers:
machine_type:
- web
- db
@@ -0,0 +1,10 @@
plugin: ansible.builtin.generator
hosts:
name: "{{ region }}_{{ machine_type }}"
layers:
machine_type:
- web
- db
region:
- mumbai
- pune
@@ -0,0 +1,18 @@
plugin: ansible.builtin.generator
hosts:
name: "{{ application }}_{{ operation }}_runner"
parents:
- name: "{{ environment }}"
vars:
log: "s"
layers:
operation:
- build
- launch
environment:
- dev
- test
- prod
application:
- web
- api
+25
View File
@@ -0,0 +1,25 @@
#!/usr/bin/env bash
set -eux
ansible-inventory -i generator.yml --graph | tee out.txt
grep 'mumbai_web' out.txt
grep 'mumbai_db' out.txt
grep 'pune_web' out.txt
grep 'pune_db' out.txt
ANSIBLE_INVENTORY_USE_EXTRA_VARS=True ansible-inventory -i extra_vars_generator.yml --graph -e "region=pune"
grep 'pune_web' out.txt
grep 'pune_db' out.txt
ansible-inventory -i generator_parent.yml --graph | tee out.txt
grep 'web_build_runner' out.txt
grep 'api_build_runner' out.txt
grep 'web_launch_runner' out.txt
grep 'api_launch_runner' out.txt
grep '@dev' out.txt
grep '@test' out.txt
grep '@prod' out.txt