--- - name: Check cert expirys hosts: oo_etcd_to_config:oo_masters_to_config vars: openshift_certificate_expiry_show_all: yes roles: # Sets 'check_results' per host which contains health status for # etcd, master and node certificates. We will use 'check_results' # to determine if any certificates were expired prior to running # this playbook. Service restarts will be skipped if any # certificates were previously expired. - role: openshift_certificate_expiry - name: Backup existing etcd CA certificate directories hosts: oo_etcd_to_config tasks: - include_role: name: etcd tasks_from: backup_ca_certificates.yml - include_role: name: etcd tasks_from: remove_ca_certificates.yml - import_playbook: ca.yml - name: Create temp directory for syncing certs hosts: localhost connection: local become: no gather_facts: no tasks: - name: Create local temp directory for syncing certs local_action: command mktemp -d /tmp/openshift-ansible-XXXXXXX register: g_etcd_mktemp changed_when: false - name: Distribute etcd CA to etcd hosts hosts: oo_etcd_to_config tasks: - include_role: name: etcd tasks_from: distribute_ca.yml vars: etcd_sync_cert_dir: "{{ hostvars['localhost'].g_etcd_mktemp.stdout }}" etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" - import_playbook: restart.yml # Do not restart etcd when etcd certificates were previously expired. when: ('expired' not in (hostvars | lib_utils_oo_select_keys(groups['etcd']) | lib_utils_oo_collect('check_results.check_results.etcd') | lib_utils_oo_collect('health'))) - name: Retrieve etcd CA certificate hosts: oo_first_etcd tasks: - include_role: name: etcd tasks_from: retrieve_ca_certificates.yml vars: etcd_sync_cert_dir: "{{ hostvars['localhost'].g_etcd_mktemp.stdout }}" - name: Distribute etcd CA to masters hosts: oo_masters_to_config vars: openshift_ca_host: "{{ groups.oo_first_master.0 }}" tasks: - name: Deploy etcd CA copy: src: "{{ hostvars['localhost'].g_etcd_mktemp.stdout }}/ca.crt" dest: "{{ openshift.common.config_base }}/master/master.etcd-ca.crt" when: groups.oo_etcd_to_config | default([]) | length > 0 - name: Delete temporary directory on localhost hosts: localhost connection: local become: no gather_facts: no tasks: - file: name: "{{ g_etcd_mktemp.stdout }}" state: absent changed_when: false - import_playbook: ../../openshift-master/private/restart.yml # Do not restart masters when master or etcd certificates were previously expired. when: # masters - ('expired' not in hostvars | lib_utils_oo_select_keys(groups['oo_masters_to_config']) | lib_utils_oo_collect('check_results.check_results.ocp_certs') | lib_utils_oo_collect('health', {'path':hostvars[groups.oo_first_master.0].openshift.common.config_base ~ "/master/master.server.crt"})) - ('expired' not in hostvars | lib_utils_oo_select_keys(groups['oo_masters_to_config']) | lib_utils_oo_collect('check_results.check_results.ocp_certs') | lib_utils_oo_collect('health', {'path':hostvars[groups.oo_first_master.0].openshift.common.config_base ~ "/master/ca-bundle.crt"})) # etcd - ('expired' not in (hostvars | lib_utils_oo_select_keys(groups['etcd']) | lib_utils_oo_collect('check_results.check_results.etcd') | lib_utils_oo_collect('health')))