clarified inventory_dir changes for 2.4 (#31484)
* clarified inventory_dir changes for 2.4 added example on how to restore (mostly) old behaviour for add_hosts fixes #30901
This commit is contained in:
parent
74107ff7cc
commit
dc69af50dc
2 changed files with 13 additions and 3 deletions
|
@ -24,9 +24,12 @@ Ansible will not support Python 2.4 or 2.5 on the target hosts anymore. Going fo
|
||||||
Inventory
|
Inventory
|
||||||
=========
|
=========
|
||||||
|
|
||||||
Inventory has been refactored to be implemented via plugins and now allows for multiple sources. This change is mostly transparent to users.
|
Inventory has been refactored to be implemented via plugins and now allows for multiple sources. This change is mostly transparent to users.
|
||||||
|
|
||||||
One exception is the ``inventory_dir``, which is now a host variable; previously it could only have one value so it was set globally. This means you cannot use it early in plays anymore to determine ``hosts:`` or similar keywords.
|
One exception is the ``inventory_dir``, which is now a host variable; previously it could only have one value so it was set globally.
|
||||||
|
This means you can no longer use it early in plays to determine ``hosts:`` or similar keywords.
|
||||||
|
This also changes the behaviour of ``add_hosts`` and the implicit localhost;
|
||||||
|
because they no longer automatically inherit the global value, they default to ``None``. See the module documentation for more information.
|
||||||
|
|
||||||
The ``inventory_file`` remains unchanged, as it was always host specific.
|
The ``inventory_file`` remains unchanged, as it was always host specific.
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,10 @@ options:
|
||||||
notes:
|
notes:
|
||||||
- This module bypasses the play host loop and only runs once for all the hosts in the play, if you need it
|
- This module bypasses the play host loop and only runs once for all the hosts in the play, if you need it
|
||||||
to iterate use a with\_ directive.
|
to iterate use a with\_ directive.
|
||||||
- This module is also supported for Windows targets.
|
- Windows targets are supported by this module.
|
||||||
- The alias 'host' of the parameter 'name' is only available on >=2.4
|
- The alias 'host' of the parameter 'name' is only available on >=2.4
|
||||||
|
- Since Ansible version 2.4, the ``inventory_dir`` variable is now set to ``None`` instead of the 'global inventory source',
|
||||||
|
because you can now have multiple sources. An example was added that shows how to partially restore the previous behaviour.
|
||||||
author:
|
author:
|
||||||
- "Ansible Core Team"
|
- "Ansible Core Team"
|
||||||
- "Seth Vidal"
|
- "Seth Vidal"
|
||||||
|
@ -71,4 +73,9 @@ EXAMPLES = '''
|
||||||
hostname: "{{ new_ip }}"
|
hostname: "{{ new_ip }}"
|
||||||
ansible_host: "{{ inventory_hostname }}"
|
ansible_host: "{{ inventory_hostname }}"
|
||||||
ansible_port: "{{ new_port }}"
|
ansible_port: "{{ new_port }}"
|
||||||
|
|
||||||
|
- name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre 2.4 behaviour)
|
||||||
|
add_host:
|
||||||
|
hostname: charlie
|
||||||
|
inventory_dir: "{{inventory_dir}}"
|
||||||
'''
|
'''
|
||||||
|
|
Loading…
Reference in a new issue