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.

36 lines
1.1 KiB

  1. ---
  2. - name: "Check_certs | check if the certs have already been generated on first master"
  3. stat:
  4. path: "{{ etcd_cert_dir }}/ca.pem"
  5. delegate_to: "{{groups['etcd'][0]}}"
  6. register: etcdcert_master
  7. run_once: true
  8. - name: "Check_certs | Set default value for 'sync_certs' and 'gen_certs' to false"
  9. set_fact:
  10. sync_certs: false
  11. gen_certs: false
  12. - name: "Check_certs | Set 'sync_certs' and 'gen_certs' to true"
  13. set_fact:
  14. gen_certs: true
  15. when: not etcdcert_master.stat.exists
  16. run_once: true
  17. - name: "Check certs | check if a cert already exists"
  18. stat:
  19. path: "{{ etcd_cert_dir }}/ca.pem"
  20. register: etcdcert
  21. - name: "Check_certs | Set 'sync_certs' to true"
  22. set_fact:
  23. sync_certs: true
  24. when: >-
  25. {%- set certs = {'sync': False} -%}
  26. {%- for server in play_hosts
  27. if (not hostvars[server].etcdcert.stat.exists|default(False)) or
  28. (hostvars[server].etcdcert.stat.checksum|default('') != etcdcert_master.stat.checksum|default('')) -%}
  29. {%- set _ = certs.update({'sync': True}) -%}
  30. {%- endfor -%}
  31. {{ certs.sync }}
  32. run_once: true