Skip to content

Commit

Permalink
Parse calico nodes as json (kubernetes-sigs#5114)
Browse files Browse the repository at this point in the history
  • Loading branch information
mattymo authored and k8s-ci-robot committed Aug 27, 2019
1 parent 10e0fe8 commit 184ac6a
Showing 1 changed file with 11 additions and 14 deletions.
25 changes: 11 additions & 14 deletions roles/network_plugin/calico/rr/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}"

0 comments on commit 184ac6a

Please sign in to comment.