diff --git a/roles/network_plugin/calico/rr/tasks/main.yml b/roles/network_plugin/calico/rr/tasks/main.yml index 02cfce152..521da1e4a 100644 --- a/roles/network_plugin/calico/rr/tasks/main.yml +++ b/roles/network_plugin/calico/rr/tasks/main.yml @@ -47,19 +47,41 @@ notify: restart calico-rr - name: Calico-rr | Configure route reflector + command: |- + {{ bin_dir }}/etcdctl \ + --endpoints={{ etcd_access_addresses }} \ + put /calico/bgp/v1/rr_v4/{{ rr_ip }} \ + '{ + "ip": "{{ rr_ip }}", + "cluster_id": "{{ cluster_id }}" + }' + environment: + ETCDCTL_API: 3 + ETCDCTL_CERT: "{{ etcd_cert_dir }}/admin-{{ groups['etcd'][0] }}.pem" + ETCDCTL_KEY: "{{ etcd_cert_dir }}/admin-{{ groups['etcd'][0] }}-key.pem" + retries: 4 + delay: "{{ retry_stagger | random + 3 }}" + delegate_to: "{{groups['etcd'][0]}}" + when: + - calico_version | version_compare("v3.0.0", ">=") + +- name: Calico-rr | Configure route reflector (legacy) command: |- {{ bin_dir }}/etcdctl \ --peers={{ etcd_access_addresses }} \ - --cert-file {{ etcd_cert_dir }}/admin-{{ groups['etcd'][0] }}.pem \ - --key-file {{ etcd_cert_dir }}/admin-{{ groups['etcd'][0] }}-key.pem \ set /calico/bgp/v1/rr_v4/{{ rr_ip }} \ '{ "ip": "{{ rr_ip }}", "cluster_id": "{{ cluster_id }}" }' + environment: + ETCDCTL_CERT_FILE: "{{ etcd_cert_dir }}/admin-{{ groups['etcd'][0] }}.pem" + ETCDCTL_KEY_FILE: "{{ etcd_cert_dir }}/admin-{{ groups['etcd'][0] }}-key.pem" retries: 4 delay: "{{ retry_stagger | random + 3 }}" delegate_to: "{{groups['etcd'][0]}}" + when: + - calico_version | version_compare("v3.0.0", "<") - meta: flush_handlers