From d91f9e14e6c828a4d9a31d5c5c9393721467d9d3 Mon Sep 17 00:00:00 2001 From: Matthew Mosesohn Date: Tue, 11 Sep 2018 15:14:10 +0300 Subject: [PATCH] Put back legacy support for calico ippools and bgp settings --- roles/network_plugin/calico/tasks/check.yml | 1 + roles/network_plugin/calico/tasks/install.yml | 55 +++++++++++++++---- 2 files changed, 46 insertions(+), 10 deletions(-) diff --git a/roles/network_plugin/calico/tasks/check.yml b/roles/network_plugin/calico/tasks/check.yml index cfacf12a1..89f204c59 100644 --- a/roles/network_plugin/calico/tasks/check.yml +++ b/roles/network_plugin/calico/tasks/check.yml @@ -22,6 +22,7 @@ that: - calico_version_on_server.stdout|version_compare('v2.6.5', '>=') msg: "Your version of calico is not fresh enough for upgrade" + when: calico_upgrade_enabled - name: "Set upgrade flag when version needs to be updated" set_fact: diff --git a/roles/network_plugin/calico/tasks/install.yml b/roles/network_plugin/calico/tasks/install.yml index 4e1f1dc5e..dd72ff323 100644 --- a/roles/network_plugin/calico/tasks/install.yml +++ b/roles/network_plugin/calico/tasks/install.yml @@ -1,5 +1,4 @@ --- - - name: Calico | Write Calico cni config template: src: "cni-calico.conflist.j2" @@ -102,6 +101,25 @@ run_once: true delegate_to: "{{ groups['kube-master'][0] }}" when: + - calico_version_on_server.stdout|version_compare('v3.0.0', '>') or calico_upgrade_enabled + - 'calico_conf.stdout == "0"' + +- name: Calico | Configure calico network pool (legacy) + shell: > + echo ' + { "kind": "ipPool", + "spec": {"disabled": false, "ipip": {"enabled": {{ ipip }}, "mode": "{{ ipip_mode|lower }}"}, + "nat-outgoing": {{ nat_outgoing|default(false) and not peer_with_router|default(false) }}}, + "apiVersion": "v1", + "metadata": {"cidr": "{{ kube_pods_subnet }}"} + }' | {{ bin_dir }}/calicoctl apply -f - + environment: + NO_DEFAULT_POOLS: true + run_once: true + delegate_to: "{{ groups['kube-master'][0] }}" + when: + - calico_version_on_server.stdout|version_compare('v3.0.0', '<') + - not calico_upgrade_enabled - 'calico_conf.stdout == "0"' - name: "Determine nodeToNodeMesh needed state" @@ -112,7 +130,6 @@ - inventory_hostname in groups['k8s-cluster'] run_once: yes - - name: Calico | Set global as_num shell: > echo ' @@ -127,6 +144,24 @@ "asNumber": {{ global_as_num }} }} ' | {{ bin_dir }}/calicoctl --skip-exists create -f - run_once: true delegate_to: "{{ groups['kube-master'][0] }}" + when: + - calico_version_on_server.stdout|version_compare('v3.0.0', '>') or calico_upgrade_enabled + +- name: Calico | Set global as_num (legacy) + command: "{{ bin_dir}}/calicoctl config set asNumber {{ global_as_num }}" + run_once: true + when: + - calico_version_on_server.stdout|version_compare('v3.0.0', '<') + - not calico_upgrade_enabled + +- name: Calico | Disable node mesh (legacy) + command: "{{ bin_dir }}/calicoctl config set nodeToNodeMesh off" + run_once: yes + when: + - calico_version_on_server.stdout|version_compare('v3.0.0', '<') + - not calico_upgrade_enabled + - nodeToMeshEnabled|default(True) + run_once: true - name: Calico | Configure peering with router(s) shell: > @@ -164,10 +199,10 @@ delay: "{{ retry_stagger | random + 3 }}" with_items: "{{ peers|default([]) }}" when: - - calico_version_on_server.stdout|version_compare('v3.0.0', '<') - - not calico_upgrade_enabled - - peer_with_router|default(false) - - inventory_hostname in groups['k8s-cluster'] + - calico_version_on_server.stdout|version_compare('v3.0.0', '<') + - not calico_upgrade_enabled + - peer_with_router|default(false) + - inventory_hostname in groups['k8s-cluster'] - name: Calico | Configure peering with route reflectors shell: > @@ -208,10 +243,10 @@ delay: "{{ retry_stagger | random + 3 }}" with_items: "{{ groups['calico-rr'] | default([]) }}" when: - - calico_version_on_server.stdout|version_compare('v3.0.0', '<') - - not calico_upgrade_enabled - - peer_with_calico_rr|default(false) - - hostvars[item]['cluster_id'] == cluster_id + - calico_version_on_server.stdout|version_compare('v3.0.0', '<') + - not calico_upgrade_enabled + - peer_with_calico_rr|default(false) + - hostvars[item]['cluster_id'] == cluster_id - name: Calico | Create calico manifests