X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=fdio.infra.ansible%2Froles%2Fconsul%2Ftasks%2Fmain.yaml;h=1d6bcc0b0b90219483699febdbe7079f27cd2787;hb=refs%2Fchanges%2F06%2F36606%2F5;hp=99ac52da4430a7f6c3079ff46dffee84bf5742f0;hpb=df5672b3d9c29b51397f4770eb992c9f3f3955ce;p=csit.git diff --git a/fdio.infra.ansible/roles/consul/tasks/main.yaml b/fdio.infra.ansible/roles/consul/tasks/main.yaml index 99ac52da44..1d6bcc0b0b 100644 --- a/fdio.infra.ansible/roles/consul/tasks/main.yaml +++ b/fdio.infra.ansible/roles/consul/tasks/main.yaml @@ -1,28 +1,29 @@ --- # file: roles/consul/tasks/main.yaml -- name: Inst - Update Package Cache (APT) +- name: Inst - Update Repositories Cache apt: - update_cache: yes - cache_valid_time: 3600 + update_cache: true when: - - ansible_distribution|lower == 'ubuntu' + - ansible_os_family == 'Debian' tags: - - consul-inst-prerequisites + - consul-inst-package -- name: Inst - Prerequisites - package: +- name: Inst - Dependencies + apt: name: "{{ packages | flatten(levels=1) }}" - state: latest + state: "present" + cache_valid_time: 3600 + install_recommends: false + when: + - ansible_os_family == 'Debian' tags: - - consul-inst-prerequisites + - consul-inst-dependencies - name: Conf - Add Consul Group group: name: "{{ consul_group }}" state: "{{ consul_group_state }}" - when: - - consul_manage_group | bool tags: - consul-conf-user @@ -30,21 +31,11 @@ user: name: "{{ consul_user }}" group: "{{ consul_group }}" - groups: "{{ consul_user_groups }}" state: "{{ consul_user_state }}" system: true - when: - - consul_manage_user | bool tags: - consul-conf-user -- name: Inst - Clean Consul - file: - path: "{{ consul_inst_dir }}/consul" - state: "absent" - tags: - - consul-inst-package - - name: Inst - Download Consul get_url: url: "{{ consul_zip_url }}" @@ -52,11 +43,19 @@ tags: - consul-inst-package +- name: Inst - Clean Consul + file: + path: "{{ consul_inst_dir }}/consul" + state: "absent" + when: + - consul_force_update | bool + tags: + - consul-inst-package + - name: Inst - Unarchive Consul unarchive: src: "{{ consul_inst_dir }}/{{ consul_pkg }}" dest: "{{ consul_inst_dir }}/" - creates: "{{ consul_inst_dir }}/consul" remote_src: true tags: - consul-inst-package @@ -101,18 +100,6 @@ tags: - consul-conf -- name: Conf - Nomad integration Consul Configuration - template: - src: consul.hcl.j2 - dest: "{{ nomad_config_dir }}/consul.hcl" - owner: "nomad" - group: "nomad" - mode: 0644 - when: - - consul_nomad_integration | bool - tags: - - consul-conf - - name: Conf - Base Configuration template: src: base.hcl.j2 @@ -164,6 +151,19 @@ mode: 0600 no_log: true loop: "{{ consul_certificates | flatten(levels=1) }}" + when: + - consul_certificates is defined + tags: + - consul-conf + +- name: Conf - Stop Systemd-resolved + systemd: + daemon_reload: true + enabled: false + name: "systemd-resolved" + state: "{{ systemd_resolved_state }}" + when: + - consul_service_mgr == "systemd" tags: - consul-conf @@ -174,9 +174,13 @@ owner: "root" group: "root" mode: 0644 -# notify: -# - "Restart Consul" -# - "Stop Systemd-resolved" -# - "Restart Nomad" + notify: + - "Restart Consul" + - "Restart Nomad" + when: + - consul_service_mgr == "systemd" tags: - consul-conf + +- name: Meta - Flush handlers + meta: flush_handlers