feat(release): Update VPP release notes
[csit.git] / fdio.infra.ansible / roles / consul / tasks / main.yaml
index 99ac52d..6dd4307 100644 (file)
@@ -1,68 +1,67 @@
 ---
-# file: roles/consul/tasks/main.yaml
+# file: tasks/main.yaml
 
-- name: Inst - Update Package Cache (APT)
-  apt:
-    update_cache: yes
-    cache_valid_time: 3600
+- name: Update Repositories Cache
+  ansible.builtin.apt:
+    update_cache: true
   when:
-    - ansible_distribution|lower == 'ubuntu'
+    - ansible_os_family == 'Debian'
   tags:
-    - consul-inst-prerequisites
+    - consul-inst-package
 
-- name: Inst - Prerequisites
-  package:
+- name: Dependencies
+  ansible.builtin.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: Add Consul Group
+  ansible.builtin.group:
     name: "{{ consul_group }}"
-    state: "{{ consul_group_state }}"
-  when:
-    - consul_manage_group | bool
+    state: "present"
   tags:
     - consul-conf-user
 
-- name: Conf - Add Consul user
-  user:
+- name: Add Consul user
+  ansible.builtin.user:
     name: "{{ consul_user }}"
     group: "{{ consul_group }}"
-    groups: "{{ consul_user_groups }}"
-    state: "{{ consul_user_state }}"
+    state: "present"
     system: true
-  when:
-    - consul_manage_user | bool
   tags:
     - consul-conf-user
 
-- name: Inst - Clean Consul
-  file:
-    path: "{{ consul_inst_dir }}/consul"
-    state: "absent"
+- name: Download Consul
+  ansible.builtin.get_url:
+    url: "{{ consul_zip_url }}"
+    dest: "{{ consul_inst_dir }}/{{ consul_pkg }}"
   tags:
     - consul-inst-package
 
-- name: Inst - Download Consul
-  get_url:
-    url: "{{ consul_zip_url }}"
-    dest: "{{ consul_inst_dir }}/{{ consul_pkg }}"
+- name: Clean Consul
+  ansible.builtin.file:
+    path: "{{ consul_inst_dir }}/consul"
+    state: "absent"
+  when:
+    - consul_force_update | bool
   tags:
     - consul-inst-package
 
-- name: Inst - Unarchive Consul
-  unarchive:
+- name: Unarchive Consul
+  ansible.builtin.unarchive:
     src: "{{ consul_inst_dir }}/{{ consul_pkg }}"
     dest: "{{ consul_inst_dir }}/"
-    creates: "{{ consul_inst_dir }}/consul"
     remote_src: true
   tags:
     - consul-inst-package
 
-- name: Inst - Consul
-  copy:
+- name: Consul
+  ansible.builtin.copy:
     src: "{{ consul_inst_dir }}/consul"
     dest: "{{ consul_bin_dir }}"
     owner: "{{ consul_user }}"
   tags:
     - consul-inst-package
 
-- name: Conf - Create Directories "{{ consul_data_dir }}"
-  file:
-    dest: "{{ consul_data_dir }}"
-    state: directory
-    owner: "{{ consul_user }}"
-    group: "{{ consul_group }}"
-  tags:
-    - consul-conf
-
-- name: Conf - Create Directories "{{ consul_ssl_dir }}"
-  file:
-    dest: "{{ consul_ssl_dir }}"
-    state: directory
-    owner: "{{ consul_user }}"
-    group: "{{ consul_group }}"
-  tags:
-    - consul-conf
-
-- name: Conf - Create Config Directory
-  file:
-    dest: "{{ consul_config_dir }}"
-    state: directory
+- name: Create Directories
+  ansible.builtin.file:
+    dest: "{{ item }}"
+    state: "directory"
     owner: "{{ consul_user }}"
     group: "{{ consul_group }}"
     mode: 0755
+  with_items:
+    - "{{ consul_config_dir }}"
+    - "{{ consul_ssl_dir }}"
+    - "{{ consul_data_dir }}"
+    - "{{ nomad_config_dir }}"
+    - "{{ nomad_ssl_dir }}"
   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
-    dest: "{{ consul_config_dir }}/base.hcl"
-    owner: "{{ consul_user }}"
-    group: "{{ consul_group }}"
-    mode: 0644
-  tags:
-    - consul-conf
-
-- name: Conf - Ports Configuration
-  template:
-    src: ports.hcl.j2
-    dest: "{{ consul_config_dir }}/ports.hcl"
-    owner: "{{ consul_user }}"
-    group: "{{ consul_group }}"
-    mode: 0644
-  tags:
-    - consul-conf
-
-- name: Conf - Telemetry Configuration
-  template:
-    src: telemetry.hcl.j2
-    dest: "{{ consul_config_dir }}/telemetry.hcl"
+- name: Base Configuration
+  ansible.builtin.template:
+    src: "{{ item }}.hcl.j2"
+    dest: "{{ consul_config_dir }}/{{ item }}.hcl"
     owner: "{{ consul_user }}"
     group: "{{ consul_group }}"
     mode: 0644
+  with_items:
+    - "base"
+    - "ports"
+    - "telemetry"
   tags:
     - consul-conf
 
-- name: Conf - Services Configuration
-  template:
-    src: services.json.j2
-    dest: "{{ consul_config_dir }}/services.json"
-    owner: "{{ consul_user }}"
-    group: "{{ consul_group }}"
-    mode: 0644
-  when:
-    - consul_services
-  tags:
-    - consul-conf
-
-- name: Conf - Copy Certificates And Keys
-  copy:
+- name: Copy Certificates And Keys
+  ansible.builtin.copy:
     content: "{{ item.src }}"
     dest: "{{ item.dest }}"
     owner: "{{ consul_user }}"
     mode: 0600
   no_log: true
   loop: "{{ consul_certificates | flatten(levels=1) }}"
+  when:
+    - consul_certificates is defined
   tags:
     - consul-conf
 
-- name: Conf - System.d Script
-  template:
+- name: Stop Systemd-resolved
+  ansible.builtin.systemd:
+    daemon_reload: true
+    enabled: false
+    name: "systemd-resolved"
+    state: "{{ systemd_resolved_state }}"
+  when:
+    - consul_service_mgr == "systemd"
+  tags:
+    - consul-conf
+
+- name: System.d Script
+  ansible.builtin.template:
     src: "consul_systemd.service.j2"
     dest: "/lib/systemd/system/consul.service"
     owner: "root"
     group: "root"
     mode: 0644
-#  notify:
-#    - "Restart Consul"
-#    - "Stop Systemd-resolved"
-#    - "Restart Nomad"
+  notify:
+    - "Restart Consul"
+  when:
+    - consul_service_mgr == "systemd"
   tags:
     - consul-conf
+
+- name: Flush handlers
+  ansible.builtin.meta: flush_handlers