Hi
I have a inventory ( hosts ):
[webservers]
web-1
web-2
[nfsserver]
nfs-1
I then have a nfs role ( nfs.yml) :
- hosts: nfsserver
user: root
any_errors_fatal: yes
roles: - role: common
- role: nfsserver
For various reasons ( like getting IP of all the webservers in order to set FW rules ) I need to access facts for web-1 and web-2, but not execute any tasks on these webservers.
Is that possible to force loading of facts for groups which are not in the current play?
The only way I can figure how to do that is a bit lame:
- let nfs.yml also include webservers in hosts: statement ( “hosts: webservers:nfsserver” )
- set some variable for nfs-1 ( like “nfsserver=true” in inventory file)
- in every action in roles/nfsserver/tasks/main.yml include a “when: nfsserver is defined and nfsserver == ‘true’”
If not using roles at all, this is not a problem as you can include multiple playbooks, where each playbook has it’s “hosts:” definition. In order to load facts for all hosts, you therefore may just include one playbook with “hosts: webservers:nfsservers”, but with no actions ( or a dummy one… )
Best regards,
Vidar