allow non existing etcd group (#6797)

When using kubeadm managed etcd, configuring an etcd group can now
be skipped.
This commit is contained in:
Hans Feldt
2020-10-21 16:32:20 +02:00
committed by GitHub
parent f2ef781efd
commit 04b19359cb
5 changed files with 21 additions and 8 deletions

View File

@@ -1,14 +1,22 @@
---
- name: Stop if either kube-master, kube-node or etcd is empty
- name: Stop if either kube-master or kube-node group is empty
assert:
that: groups.get('{{ item }}')
that: "groups.get('{{ item }}')"
with_items:
- kube-master
- kube-node
- etcd
run_once: true
when: not ignore_assert_errors
- name: Stop if etcd group is empty in external etcd mode
assert:
that: groups.get('etcd')
fail_msg: "Group 'etcd' cannot be empty in external etcd mode"
run_once: true
when:
- not ignore_assert_errors
- not etcd_kubeadm_enabled
- name: Stop if non systemd OS type
assert:
that: ansible_service_mgr == "systemd"
@@ -61,6 +69,7 @@
that: groups.etcd|length is not divisibleby 2
when:
- not ignore_assert_errors
- groups.get('etcd')
- inventory_hostname in groups['etcd']
- name: Stop if memory is too small for masters

View File

@@ -2,7 +2,7 @@
- name: Hosts | create list from inventory
set_fact:
etc_hosts_inventory_block: |-
{% for item in (groups['k8s-cluster'] + groups['etcd'] + groups['calico-rr']|default([]))|unique -%}
{% for item in (groups['k8s-cluster'] + groups['etcd']|default([]) + groups['calico-rr']|default([]))|unique -%}
{% if 'access_ip' in hostvars[item] or 'ip' in hostvars[item] or 'ansible_default_ipv4' in hostvars[item] -%}
{{ hostvars[item]['access_ip'] | default(hostvars[item]['ip'] | default(hostvars[item]['ansible_default_ipv4']['address'])) }}
{%- if ('ansible_hostname' in hostvars[item] and item != hostvars[item]['ansible_hostname']) %} {{ hostvars[item]['ansible_hostname'] }}.{{ dns_domain }} {{ hostvars[item]['ansible_hostname'] }}{% endif %} {{ item }}.{{ dns_domain }} {{ item }}