[calico] don't clobber user set bgp configuration options that are not managed by kubespray
This commit is contained in:
parent
47812ec002
commit
569a319ff5
1 changed files with 39 additions and 21 deletions
|
@ -297,13 +297,18 @@
|
||||||
- inventory_hostname in groups['k8s_cluster']
|
- inventory_hostname in groups['k8s_cluster']
|
||||||
run_once: yes
|
run_once: yes
|
||||||
|
|
||||||
- name: Calico | Set up BGP Configuration
|
- block:
|
||||||
command:
|
- name: Calico | Get existing BGP Configuration
|
||||||
cmd: "{{ bin_dir }}/calicoctl.sh apply -f -"
|
command: "{{ bin_dir }}/calicoctl.sh get bgpconfig default -o json"
|
||||||
stdin: "{{ stdin is string | ternary(stdin, stdin|to_json) }}"
|
register: _bgp_config_cmd
|
||||||
vars:
|
ignore_errors: True
|
||||||
stdin: >
|
changed_when: False
|
||||||
{ "kind": "BGPConfiguration",
|
|
||||||
|
- name: Calico | Set kubespray BGP Configuration
|
||||||
|
set_fact:
|
||||||
|
_bgp_config: >
|
||||||
|
{
|
||||||
|
"kind": "BGPConfiguration",
|
||||||
"apiVersion": "projectcalico.org/v3",
|
"apiVersion": "projectcalico.org/v3",
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"name": "default",
|
"name": "default",
|
||||||
|
@ -316,8 +321,21 @@
|
||||||
{% if calico_advertise_cluster_ips|default(false) %}
|
{% if calico_advertise_cluster_ips|default(false) %}
|
||||||
"serviceClusterIPs": [{"cidr": "{{ kube_service_addresses }}" } {{ ',{"cidr":"' + kube_service_addresses_ipv6 + '"}' if enable_dual_stack_networks else '' }}],{% endif %}
|
"serviceClusterIPs": [{"cidr": "{{ kube_service_addresses }}" } {{ ',{"cidr":"' + kube_service_addresses_ipv6 + '"}' if enable_dual_stack_networks else '' }}],{% endif %}
|
||||||
{% if calico_advertise_service_loadbalancer_ips|length > 0 %}"serviceLoadBalancerIPs": {{ _service_loadbalancer_ips }},{% endif %}
|
{% if calico_advertise_service_loadbalancer_ips|length > 0 %}"serviceLoadBalancerIPs": {{ _service_loadbalancer_ips }},{% endif %}
|
||||||
"serviceExternalIPs": {{ _service_external_ips|default([]) }} }}
|
"serviceExternalIPs": {{ _service_external_ips|default([]) }}
|
||||||
changed_when: false
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- name: Calico | Process BGP Configuration
|
||||||
|
set_fact:
|
||||||
|
_bgp_config: "{{ _bgp_config_cmd.stdout | from_json | combine(_bgp_config, recursive=True) }}"
|
||||||
|
when:
|
||||||
|
- _bgp_config_cmd is success
|
||||||
|
|
||||||
|
- name: Calico | Set up BGP Configuration
|
||||||
|
command:
|
||||||
|
cmd: "{{ bin_dir }}/calicoctl.sh apply -f -"
|
||||||
|
stdin: "{{ _bgp_config is string | ternary(_bgp_config, _bgp_config|to_json) }}"
|
||||||
|
changed_when: False
|
||||||
when:
|
when:
|
||||||
- inventory_hostname == groups['kube_control_plane'][0]
|
- inventory_hostname == groups['kube_control_plane'][0]
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue