hello list,
i have a strage problem.
`
do we need to readd server to cluster in case of rebuild
- name: get etcd server
set_fact:
etcd_server: “{{ lookup(‘get_serverip_by_group’, zone, ‘kubernetes_etcd’, wantlist=True)}}”
Get ETCD Members
-
name: get all members from ETCD Cluster
uri:
url: http://{{ item }}:2379/v2/members
register: etcd_members
with_items: “{{ etcd_server }}”
when: etcd_members is not defined or etcd_members.failed
ignore_errors: true -
debug: var=etcd_members
-
name: did i get members?
fail: msg=“NO Members found”
when: ‘“failed” in etcd_members.results[-1] and etcd_members.results[-1].failed == true’ -
name: body template
template:
src: “{{ playbook_dir }}/templates/add_etcd_member.json.j2”
dest: “{{ playbook_dir }}/tmp/add_etcd_member-{{ server[‘name’] }}.json”
when: lookup(‘get_id_from_etcd_api’, etcd_members.results, server[‘name’]) == None -
debug: var=server
add ETCD member
-
name: add member
uri:
url: http://{{ item }}:2379/v2/members
method: POST
body_fromat: json
body: “{{ lookup(‘file’, playbook_dir + ‘/tmp/add_etcd_member-’ + server[‘name’] * ‘.json’) }}”
register: etcd_add
with_items: “{{ etcd_server }}”
when: lookup(‘get_id_from_etcd_api’, etcd_members.results, server[‘name’]) == None
#- (etcd_add is not defined or etcd_add.failed)
ignore_errors: true -
debug: var=etcd_add
-
name: “did i delete member: {{ server[‘name’] }}?”
fail: msg=“did not delete {{ server[‘name’] }}”
when: ‘“failed” in etcd_add.results[-1] and etcd_add.results[-1].failed == true’
`
in module template the when clause works fine, but in the URI it casues an errer
`
fatal: [localhost]: FAILED! => {“failed”: true, “msg”: “The conditional check ‘lookup(‘get_id_from_etcd_api’, etcd_members.results, server[‘name’]) == None’ failed. The error was: error while evaluating conditional (lookup(‘get_id_from_etcd_api’, etcd_members.results, server[‘name’]) == None): ‘ansible.utils.unsafe_proxy.AnsibleUnsafeText object’ has no attribute ‘name’\n\nThe error appears to have been in ‘/build/tasks/add_etcd_to_cluster.yaml’: line 35, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n # add ETCD member\n - name: add member\n ^ here\n”}
`
but i have no idea why it works the first time and not the second?
server[‘name’] is there i use it on many parts and it is working fine everywhere else.
thanks in advanced,
mark