Parse calico nodes as json (#5114)
This commit is contained in:
parent
10e0fe86fb
commit
184ac6a4e6
1 changed files with 11 additions and 14 deletions
|
@ -3,27 +3,24 @@
|
|||
include_tasks: pre.yml
|
||||
|
||||
- name: Calico-rr | Fetch current node object
|
||||
command: "{{ bin_dir }}/calicoctl.sh get node {{ inventory_hostname }} -oyaml"
|
||||
command: "{{ bin_dir }}/calicoctl.sh get node {{ inventory_hostname }} -ojson"
|
||||
register: calico_rr_node
|
||||
until: calico_rr_node is succeeded
|
||||
delay: "{{ retry_stagger | random + 3 }}"
|
||||
retries: 10
|
||||
|
||||
# FIXME(mattymo): Use jsonpatch when ansible/ansible#52931 is merged
|
||||
- name: Calico-rr | Set route reflector cluster ID
|
||||
shell: >-
|
||||
echo -e '{{ calico_rr_node.stdout }}' |
|
||||
sed '/bgp:/a \ \ \ \ routeReflectorClusterID: {{ cluster_id }}'
|
||||
register: calico_rr_node
|
||||
when: '("routeReflectorClusterID: " + cluster_id|string) not in calico_rr_node.stdout_lines'
|
||||
set_fact:
|
||||
calico_rr_node_patched: >-
|
||||
{{ calico_rr_node.stdout | from_json | combine({ 'spec': { 'bgp':
|
||||
{ 'routeReflectorClusterID': cluster_id }}}, recursive=True) }}
|
||||
|
||||
- name: Calico-rr | Configure route reflector
|
||||
shell: |-
|
||||
echo -e '{{ calico_rr_node.stdout }}' |
|
||||
{{ bin_dir }}/calicoctl.sh replace -f-
|
||||
retries: 4
|
||||
delay: "{{ retry_stagger | random + 3 }}"
|
||||
shell: "{{ bin_dir }}/calicoctl.sh replace -f-"
|
||||
args:
|
||||
stdin: "{{ calico_rr_node_patched | to_json }}"
|
||||
|
||||
- name: Calico-rr | Set label for route reflector
|
||||
command: >-
|
||||
{{ bin_dir }}/calicoctl.sh label node {{ inventory_hostname }}
|
||||
'i-am-a-route-reflector=true' --overwrite
|
||||
retries: 4
|
||||
delay: "{{ retry_stagger | random + 3 }}"
|
||||
|
|
Loading…
Reference in a new issue