k8s-sig-cluster-lifecycleawskubesprayhigh-availabilityansiblekubernetes-clustergcekubernetesbare-metal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.6 KiB
50 lines
1.6 KiB
---
|
|
- name: "Check_certs | check if the certs have already been generated on first master"
|
|
stat:
|
|
path: "{{ kube_cert_dir }}/{{ item }}"
|
|
delegate_to: "{{groups['kube-master'][0]}}"
|
|
register: kubecert_master
|
|
run_once: true
|
|
with_items: >-
|
|
['ca.pem',
|
|
{% for host in groups['k8s-cluster'] %}
|
|
'node-{{ host }}-key.pem'
|
|
{% if not loop.last %}{{','}}{% endif %}
|
|
{% endfor %}]
|
|
|
|
- name: "Check_certs | Set default value for 'sync_certs', 'gen_certs', and 'secret_changed' to false"
|
|
set_fact:
|
|
sync_certs: false
|
|
gen_certs: false
|
|
secret_changed: false
|
|
|
|
- name: "Check_certs | Set 'gen_certs' to true"
|
|
set_fact:
|
|
gen_certs: true
|
|
when: "not {{ item.stat.exists }}"
|
|
run_once: true
|
|
with_items: "{{ kubecert_master.results }}"
|
|
|
|
- name: "Check certs | check if a cert already exists"
|
|
stat:
|
|
path: "{{ kube_cert_dir }}/{{ item }}"
|
|
register: kubecert
|
|
with_items:
|
|
- ca.pem
|
|
- node-{{ inventory_hostname }}-key.pem
|
|
|
|
- name: "Check_certs | Set 'sync_certs' to true"
|
|
set_fact:
|
|
sync_certs: true
|
|
when: >-
|
|
{%- set certs = {'sync': False} -%}
|
|
{%- for host in groups['k8s-cluster'] %}
|
|
{% if host == inventory_hostname %}
|
|
{% if (not kubecert.results[0].stat.exists|default(False)) or
|
|
(not kubecert.results[1].stat.exists|default(False)) or
|
|
(kubecert.results[1].stat.checksum|default('') != kubecert_master.results[loop.index].stat.checksum|default('')) -%}
|
|
{%- set _ = certs.update({'sync': True}) -%}
|
|
{% endif %}
|
|
{% endif %}
|
|
{%- endfor -%}
|
|
{{ certs.sync }}
|