37 lines
1.3 KiB
YAML
37 lines
1.3 KiB
YAML
|
---
|
||
|
- name: "Check vars defined correctly"
|
||
|
assert:
|
||
|
that:
|
||
|
- "calico_pool_name is defined"
|
||
|
- "calico_pool_name | match('^[a-zA-Z0-9-_\\\\.]{2,63}$')"
|
||
|
- "ipip_mode is defined"
|
||
|
- "ipip_mode in ['Always', 'CrossSubnet', 'Never']"
|
||
|
msg: "Check variable definitions seems something is wrong"
|
||
|
run_once: yes
|
||
|
|
||
|
- name: "Get current version of calico cluster version"
|
||
|
shell: "{{ bin_dir }}/calicoctl version | grep 'Cluster Version' | awk '{ print $3}'"
|
||
|
register: calico_version_on_server
|
||
|
run_once: yes
|
||
|
delegate_to: "{{ groups['kube-master'][0] }}"
|
||
|
|
||
|
- name: "Determine if calico upgrade is needed"
|
||
|
block:
|
||
|
- name: "Check that calico version is enought for upgrade"
|
||
|
assert:
|
||
|
that:
|
||
|
- calico_version_on_server.stdout|version_compare('v2.6.5', '>=')
|
||
|
msg: "Your version of calico is not fresh enough for upgrade"
|
||
|
|
||
|
- name: "Set upgrade flag when version needs to be updated"
|
||
|
set_fact:
|
||
|
calico_upgrade_needed: True
|
||
|
when:
|
||
|
- calico_version_on_server.stdout|version_compare('v2.6.5', '>=')
|
||
|
- calico_version_on_server.stdout|version_compare('v3.0.0', '<')
|
||
|
|
||
|
when:
|
||
|
- 'calico_version_on_server.stdout is defined'
|
||
|
- 'calico_version_on_server.stdout != ""'
|
||
|
- inventory_hostname == groups['kube-master'][0]
|
||
|
run_once: yes
|