48 lines
1.6 KiB
YAML
48 lines
1.6 KiB
YAML
---
|
|
- name: Slurp CNI config
|
|
slurp:
|
|
src: /etc/cni/net.d/10-calico.conflist
|
|
register: calico_cni_config_slurp
|
|
failed_when: false
|
|
|
|
- name: Gather calico facts
|
|
tags:
|
|
- facts
|
|
when: calico_cni_config_slurp.content is defined
|
|
block:
|
|
- name: Set fact calico_cni_config from slurped CNI config
|
|
set_fact:
|
|
calico_cni_config: "{{ calico_cni_config_slurp['content'] | b64decode | from_json }}"
|
|
- name: Set fact calico_datastore to etcd if needed
|
|
set_fact:
|
|
calico_datastore: etcd
|
|
when:
|
|
- "'plugins' in calico_cni_config"
|
|
- "'etcd_endpoints' in calico_cni_config.plugins.0"
|
|
|
|
- name: Calico | Get kubelet hostname
|
|
shell: >-
|
|
set -o pipefail && {{ kubectl }} get node -o custom-columns='NAME:.metadata.name,INTERNAL-IP:.status.addresses[?(@.type=="InternalIP")].address'
|
|
| egrep "{{ ansible_all_ipv4_addresses | join('$|') }}$" | cut -d" " -f1
|
|
args:
|
|
executable: /bin/bash
|
|
register: calico_kubelet_name
|
|
delegate_to: "{{ groups['kube_control_plane'][0] }}"
|
|
when:
|
|
- cloud_provider
|
|
|
|
- name: Calico | Gather os specific variables
|
|
include_vars: "{{ item }}"
|
|
with_first_found:
|
|
- files:
|
|
- "{{ ansible_distribution | lower }}-{{ ansible_distribution_version | lower | replace('/', '_') }}.yml"
|
|
- "{{ ansible_distribution | lower }}-{{ ansible_distribution_release }}.yml"
|
|
- "{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower | replace('/', '_') }}.yml"
|
|
- "{{ ansible_distribution | lower }}.yml"
|
|
- "{{ ansible_os_family | lower }}-{{ ansible_architecture }}.yml"
|
|
- "{{ ansible_os_family | lower }}.yml"
|
|
- defaults.yml
|
|
paths:
|
|
- ../vars
|
|
skip: true
|