I have an inventory with the following hosts and which is given below( 1st cluster)
[elasticsearch-cluster-india]
elasticsearch-01-mumbai ansible_host=10.0.87.19
elasticsearch-02-mumbai ansible_host=10.0.87.20
elasticsearch-03-mumbai ansible_host=10.0.87.21
and I have different cluster which is below
[elasticsearch-cluster-kyrgyzstan]
elasticsearch-01-bishkek ansible_host=10.0.92.2
elasticsearch-02-bishkek ansible_host=10.0.92.3
elasticsearch-03-bishkek ansible_host=10.0.92.4
and I want to run the following task
- name: Set up snapshot cron job
cron:
name: "Elasticsearch backup"
minute: 59
hour: 23
job: "{{ es_snapshot_snapshot_script_path }}/snapshot_es.sh"
so how to execute this task only on first hosts in my group?
i want to execute this task only on hosts elasticsearch-01-bishkek
and elasticsearch-01-mumbai
Add a variable to the host:
[elasticsearch-cluster-india]
elasticsearch-01-mumbai ansible_host=10.0.87.19 do_backup=yes
elasticsearch-02-mumbai ansible_host=10.0.87.20
elasticsearch-03-mumbai ansible_host=10.0.87.21
Then check for it:
- name: Set up snapshot cron job
cron:
name: "Elasticsearch backup"
minute: 59
hour: 23
job: "{{ es_snapshot_snapshot_script_path }}/snapshot_es.sh"
when: do_backup|default(false)|bool