thx a lot for the input. i will read and test all the proposals. THX
regards,
andre

Vladimir Botka schrieb am Montag, 1. Juli 2024 um 21:27:41 UTC+2:

> On Mon, 1 Jul 2024 06:17:26 -0700 (PDT)
> "[email protected]" <[email protected]> wrote:
>
> > ... put group-information into each host ... per host to
> > control if a playbook may or may not work on a host
>
> The playbook name is not available to the inventory
> plugins. The below solution provides the inventory plugin
> with the playbook name in the extra variable. The allowed
> hosts are listed in a dictionary in group_vars.
>
> * Create a dictionary with the lists of the allowed hosts
>
> shell> cat inventory/alllinux/01-hosts.yml 
> alllinux:
> hosts:
> test_01:
> test_02:
> test_03:
> vars:
> play_allow:
> default: []
> playbook_01: [test_01, test_02]
> playbook_02: [test_02, test_03]
>
> For example, the below playbook shall run on the hosts
> test_01 and test_02 only
>
> shell> cat playbook_01.yml 
> - name: playbook_01
> hosts: my_hosts
> tasks:
> - debug:
> msg: Start play
>
> * Use the inventory plugin *constructed* and create the
> group *my_hosts*
>
> shell> cat inventory/alllinux/02-constructed.yml 
> plugin: ansible.builtin.constructed
> use_extra_vars: true
> use_vars_plugins: true
> compose:
> my_hosts_allow: play_allow[my_play|d('default')]
> groups:
> my_hosts: inventory_hostname in my_hosts_allow
>
> * Unfortunately, the name of the playbook is not available
> in the inventory plugins. Therefor, you have to provide
> it explicitly. For example, in the extra vars *my_play*
>
> shell> ansible-playbook -i inventory/alllinux -e my_play=playbook_01 
> playbook_01.yml
>
> gives abridged
>
> ok: [test_01] =>
> msg: Start play
> ok: [test_02] => 
> msg: Start play
>
> HTH,
>
> -- 
> Vladimir Botka
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/4b762370-2006-4750-95eb-fdec7eba95a0n%40googlegroups.com.

Reply via email to