Skip to content

Commit d42525b

Browse files
author
KARTHIK S
committed
[Issue-12117]-Certificates for the new hosts are not generated during scale.yml
1 parent 4ad9f9b commit d42525b

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

roles/etcd/tasks/check_certs.yml

+26
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,32 @@
9595
key: "gen_{{ item.node_type }}_certs_{{ force_etcd_cert_refresh or item.certs is not subset(existing_certs) }}"
9696
loop: "{{ cert_files | dict2items(key_name='node_type', value_name='certs') }}"
9797

98+
- name: "Check_certs | Set 'gen_node_certs' object to track which nodes needs to have certs generated on first etcd node"
99+
set_fact:
100+
gen_node_certs: |-
101+
{
102+
{% set k8s_nodes = groups['k8s_cluster'] -%}
103+
{% set existing_certs = etcdcert_master.files | map(attribute='path') | list | sort %}
104+
{% for host in k8s_nodes -%}
105+
{% set host_cert = "%s/node-%s.pem" | format(etcd_cert_dir, host) %}
106+
{% set host_key = "%s/node-%s-key.pem" | format(etcd_cert_dir, host) %}
107+
{% if force_etcd_cert_refresh -%}
108+
"{{ host }}"{% if not loop.last %},{% endif %}
109+
{% elif host_cert not in existing_certs and host_key not in existing_certs -%}
110+
"{{ host }}"{% if not loop.last %},{% endif %}
111+
{% endif -%}
112+
{% endfor %}
113+
}
114+
run_once: true
115+
116+
- name: "Check_certs | Add gen_node_certs object into 'gen_node_certs_True' group on first etcd node"
117+
ansible.builtin.add_host:
118+
name: "{{ item }}"
119+
groups: gen_node_certs_True
120+
with_items: "{{ gen_node_certs }}"
121+
run_once: true
122+
when: gen_node_certs | length > 0
123+
98124
- name: "Check_certs | Set 'etcd_member_requires_sync' to true if ca or member/admin cert and key don't exist on etcd member or checksum doesn't match"
99125
set_fact:
100126
etcd_member_requires_sync: true

0 commit comments

Comments
 (0)