Here is what I have.
vars/main.yml
host_entries:
tasks/main.yml
I apologize for not providing the info below.
version: 2.0.2.0
event:
skipping: [ca-server1] => (item={u’host_aliases’: u’ca-srv-01.example.com ca-srv-01’, u’ip_addr’: u’10.1.1.1’, u’srv_loc’: u’ca’}) => {“changed”: false, “item”: {“host_aliases”: “ca-srv-01.example.com ca-srv-01”, “ip_addr”: “10.1.1.1”, “srv_loc”: “ca”}, “skip_reason”: “Conditional check failed”, “skipped”: true}
Regards,
j
vars/main.yml
host_entries:
Here you have host_entries
- { srv_loc: 'ca', ip_addr: '10.1.1.1', host_aliases:
'ca-srv-01.example.com ca-srv-01' }
- { srv_loc: 'ny', ip_addr: '10.2.1.1', host_aliases:
'ny-srv-01.example.com ny-srv-01' }
- { srv_loc: 'co', ip_addr: '10.3.1.1', host_aliases:
'co-srv-01.example.com co-srv-01' }
tasks/main.yml
---
- name: checking location of server
raw: 'echo "{{ ansible_hostname }}" | cut -f1 -d"-"'
register: actual_loc
- name: adding entries in the hosts file
lineinfile:
backup: yes
create: yes
dest: /etc/hosts
group: root
line: "{{item.ip_addr}} {{item.host_aliases}}"
mode: 0644
owner: root
state: present
when: ( actual_loc.stdout_lines == item.srv_loc )
with_items: "{{ hosts_entries }}"
But here you have hosts_entries, so one of them is a typo.
You could lose the raw by doing so in the when
when: ansible_hostname.split('-')[0] == item.srv_loc
Thanks, Kai.
You hit the nail on the head. If there is a doc on how to do this string manipulation, please share with me the URL.
Regards,
j
I have just picked it up, but I guess it's a Python string method
https://docs.python.org/2.7/library/stdtypes.html?highlight=split#str.split
Maybe all the Python string methods work, hopefully someone else can shed some light on that.
Kai,
Thanks. You have been very helpful.
Regards,
j