Skip to content

Commit

Permalink
fix: πŸ› patch calico node to avoid vxlan tunnel drop (kubernetes-sigs#…
Browse files Browse the repository at this point in the history
…11097)

if node.projectcalico.org already existe patch node to set asNumber
instead of apply resource to prevent remove of existing fields feed by
calico-node pods

βœ… Closes: 11096
  • Loading branch information
MatthieuFin authored and dabeck committed May 7, 2024
1 parent 636493c commit d008d0a
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions roles/network_plugin/calico/tasks/peer_with_router.yml
Expand Up @@ -23,6 +23,38 @@
when:
- inventory_hostname == groups['kube_control_plane'][0]

- name: Calico | Get node for per node peering
command:
cmd: "{{ bin_dir }}/calicoctl.sh get node {{ inventory_hostname }}"
register: output_get_node
when:
- inventory_hostname in groups['k8s_cluster']
- local_as is defined
- groups['calico_rr'] | default([]) | length == 0
delegate_to: "{{ groups['kube_control_plane'][0] }}"

- name: Calico | Patch node asNumber for per node peering
command:
cmd: |-
{{ bin_dir }}/calicoctl.sh patch node "{{ inventory_hostname }}" --patch '{{ patch is string | ternary(patch, patch | to_json) }}'
vars:
patch: >
{"spec": {
"bgp": {
"asNumber": "{{ local_as }}"
},
"orchRefs": [{"nodeName": "{{ inventory_hostname }}", "orchestrator": "k8s"}]
}}
register: output
retries: 0
until: output.rc == 0
delay: "{{ retry_stagger | random + 3 }}"
when:
- inventory_hostname in groups['k8s_cluster']
- local_as is defined
- groups['calico_rr'] | default([]) | length == 0
- output_get_node.rc == 0

- name: Calico | Configure node asNumber for per node peering
command:
cmd: "{{ bin_dir }}/calicoctl.sh apply -f -"
Expand All @@ -48,6 +80,7 @@
- inventory_hostname in groups['k8s_cluster']
- local_as is defined
- groups['calico_rr'] | default([]) | length == 0
- output_get_node.rc != 0

- name: Calico | Configure peering with router(s) at node scope
command:
Expand Down

0 comments on commit d008d0a

Please sign in to comment.