From 3f50c1788e30852ff65c1a753000b0bc67ebc92e Mon Sep 17 00:00:00 2001 From: Ian van der Linde Date: Thu, 25 Apr 2024 09:26:56 +0200 Subject: [PATCH 01/11] Add minimum EFM PgPool integration values At the moment there is an option to enable EFM PgPool integration, but the integration is incomplete as it does not include the minimum parameters required by EFM to complete the integration. As such, the flag is currently not viable, even though it exists. This patch fixes this by making use of existing variables to populate the configuration when the flag is enabled, and allows for the attach and detach scripts to be made configurable. --- roles/setup_efm/defaults/main.yml | 2 ++ roles/setup_efm/tasks/efm_configure.yml | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/roles/setup_efm/defaults/main.yml b/roles/setup_efm/defaults/main.yml index b003480e7..149e44bf6 100644 --- a/roles/setup_efm/defaults/main.yml +++ b/roles/setup_efm/defaults/main.yml @@ -108,6 +108,8 @@ pcp_passfile_owner: "efm" pcp_passfile_group: "efm" pcp_passfile_mode: "0600" pgpool2_pcp_port: 9898 +efm_pgpool2_lb_attach: "{{ efm_bin_path }}/pcp_attach_all.sh %h %t" +efm_pgpool2_lb_detach: "" supported_os: - CentOS7 diff --git a/roles/setup_efm/tasks/efm_configure.yml b/roles/setup_efm/tasks/efm_configure.yml index 08ff9d88d..cb75031d7 100644 --- a/roles/setup_efm/tasks/efm_configure.yml +++ b/roles/setup_efm/tasks/efm_configure.yml @@ -40,12 +40,20 @@ - name: Prepare parameters for PgPoolII integration ansible.builtin.set_fact: efm_lb_parameters: - - {name: script.load.balancer.attach, value: "{{ efm_bin_path }}/pcp_attach_all.sh %h %t"} - {name: auto.resume.period, value: "5"} - {name: script.custom.monitor, value: "{{ efm_bin_path }}/pg_pcp_health.sh"} - {name: custom.monitor.interval, value: "5"} - {name: custom.monitor.safe.mode, value: "true"} - {name: custom.monitor.timeout, value: "10"} + - {name: detach.on.agent.failure, value: "{{ detach_on_agent_failure|lower }}"} + - {name: pgpool.enable, value: "{{ efm_pgpool2_integration|lower }}"} + - {name: pgpool.bin, value: "{{ pgpool2_bin_path }}"} + - {name: pcp.user, value: "{{ pcp_admin_user }}"} + - {name: pcp.host, value: "{{ pgpool2_vip }}"} + - {name: pcp.port, value: "{{ pgpool2_pcp_port }}"} + - {name: pcp.pass.file, value: "{{ pcp_passfile }}"} + - {name: script.load.balancer.attach, value: "{{ efm_pgpool2_lb_attach }}"} + - {name: script.load.balancer.detach, value: "{{ efm_pgpool2_lb_detach }}"} when: - efm_pgpool2_integration From bbf9f5490c090e2bdc569de6c2a1fcacc074d9df Mon Sep 17 00:00:00 2001 From: Ian van der Linde Date: Thu, 25 Apr 2024 09:32:14 +0200 Subject: [PATCH 02/11] Remove accidental inclusion of change related to PR #629. --- roles/setup_efm/tasks/efm_configure.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/roles/setup_efm/tasks/efm_configure.yml b/roles/setup_efm/tasks/efm_configure.yml index cb75031d7..5737856b2 100644 --- a/roles/setup_efm/tasks/efm_configure.yml +++ b/roles/setup_efm/tasks/efm_configure.yml @@ -45,7 +45,6 @@ - {name: custom.monitor.interval, value: "5"} - {name: custom.monitor.safe.mode, value: "true"} - {name: custom.monitor.timeout, value: "10"} - - {name: detach.on.agent.failure, value: "{{ detach_on_agent_failure|lower }}"} - {name: pgpool.enable, value: "{{ efm_pgpool2_integration|lower }}"} - {name: pgpool.bin, value: "{{ pgpool2_bin_path }}"} - {name: pcp.user, value: "{{ pcp_admin_user }}"} From 473952333aa0f21d9120f8e4bed75f463f4b5dfe Mon Sep 17 00:00:00 2001 From: Ian van der Linde Date: Thu, 25 Apr 2024 09:38:03 +0200 Subject: [PATCH 03/11] Fix ansible-lint spacing notice. --- roles/setup_efm/tasks/efm_configure.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/setup_efm/tasks/efm_configure.yml b/roles/setup_efm/tasks/efm_configure.yml index 5737856b2..1012a04d2 100644 --- a/roles/setup_efm/tasks/efm_configure.yml +++ b/roles/setup_efm/tasks/efm_configure.yml @@ -45,7 +45,7 @@ - {name: custom.monitor.interval, value: "5"} - {name: custom.monitor.safe.mode, value: "true"} - {name: custom.monitor.timeout, value: "10"} - - {name: pgpool.enable, value: "{{ efm_pgpool2_integration|lower }}"} + - {name: pgpool.enable, value: "{{ efm_pgpool2_integration | lower }}"} - {name: pgpool.bin, value: "{{ pgpool2_bin_path }}"} - {name: pcp.user, value: "{{ pcp_admin_user }}"} - {name: pcp.host, value: "{{ pgpool2_vip }}"} From 7e2709182d218d2e8836cc4294d23b3fd6340d45 Mon Sep 17 00:00:00 2001 From: Ian van der Linde Date: Tue, 2 Apr 2024 09:47:10 +0200 Subject: [PATCH 04/11] Adjust python-apt package to be findable on newer Debian/Ubuntu versions. --- roles/install_dbserver/tasks/validate_install_dbserver.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/install_dbserver/tasks/validate_install_dbserver.yml b/roles/install_dbserver/tasks/validate_install_dbserver.yml index e1b056b46..eb15e4175 100644 --- a/roles/install_dbserver/tasks/validate_install_dbserver.yml +++ b/roles/install_dbserver/tasks/validate_install_dbserver.yml @@ -99,7 +99,7 @@ - name: Install python-apt package ansible.builtin.package: - name: python-apt + name: python3-apt state: present when: - ansible_os_family == 'Debian' From 3b89a2fa5182c3d146c152467924372b6db2e280 Mon Sep 17 00:00:00 2001 From: Ian van der Linde Date: Wed, 17 Apr 2024 13:04:23 +0200 Subject: [PATCH 05/11] Make accommodations for different Debian versions for python-apt package. --- .../tasks/validate_install_dbserver.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/roles/install_dbserver/tasks/validate_install_dbserver.yml b/roles/install_dbserver/tasks/validate_install_dbserver.yml index eb15e4175..ca261b22b 100644 --- a/roles/install_dbserver/tasks/validate_install_dbserver.yml +++ b/roles/install_dbserver/tasks/validate_install_dbserver.yml @@ -97,12 +97,21 @@ - ansible_os_family == 'RedHat' - pg_version|int > 10 -- name: Install python-apt package +- name: Install python-apt package for Debian 9/10 + ansible.builtin.package: + name: python-apt + state: present + when: + - ansible_os_family == 'Debian' + - ansible_distribution_major_version in ['9', '10'] + +- name: Install python3-apt package for Debian 11/12 ansible.builtin.package: name: python3-apt state: present when: - ansible_os_family == 'Debian' + - ansible_distribution_major_version in ['11', '12'] - name: Set package list for PG Debian ansible.builtin.set_fact: From e9cd5682e63a722e611cd130d0c083d18efbc122 Mon Sep 17 00:00:00 2001 From: Ian van der Linde Date: Wed, 17 Apr 2024 11:51:19 +0200 Subject: [PATCH 06/11] Allow setting EFM user.email and ping.server.ip properties. --- roles/setup_efm/defaults/main.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/roles/setup_efm/defaults/main.yml b/roles/setup_efm/defaults/main.yml index 149e44bf6..64a729e76 100644 --- a/roles/setup_efm/defaults/main.yml +++ b/roles/setup_efm/defaults/main.yml @@ -27,6 +27,8 @@ primary_public_ip: "" primary_private_ip: "" input_password: "" pg_allow_ip_addresses: [] +ping_server_ip: "8.8.8.8" +efm_user_email: "unknown@gmail.com" # setting validate_only to true allows you to validate setup on an existing node # use_validation flag applies to deployment configuration and validation after setup @@ -46,7 +48,7 @@ efm_default_parameters: - {name: db.bin, value: "{{ pg_bin_path }}"} - {name: db.recovery.dir, value: "{{ pg_data }}"} - {name: db.data.dir, value: "{{ pg_data }}"} - - {name: user.email, value: "unknown@gmail.com"} + - {name: user.email, value: "{{ efm_user_email }}"} - {name: auto.allow.hosts, value: true} - {name: stable.nodes.file, value: true} - {name: local.period, value: "3"} @@ -55,6 +57,7 @@ efm_default_parameters: - {name: remote.timeout, value: "5"} - {name: node.timeout, value: "5"} - {name: admin.port, value: "{{ efm_admin_port }}"} + - {name: ping.server.ip, value: "{{ ping_server_ip }}"} efm_physical_slot_param: - {name: update.physical.slots.period, value: "5"} From 9ebf90eeeef4f42d8bb151519063b336e4ffd501 Mon Sep 17 00:00:00 2001 From: Ian van der Linde Date: Thu, 18 Apr 2024 08:06:14 +0200 Subject: [PATCH 07/11] Remove jinja2 templating from assertion predicates. This addresses a fatal error in newer Ansible versions caused by a warning stating that "conditional statements should not include jinja2 templating". This warning leads to the fatal error stating that the conditional check is marked as unsafe. This patch removes the jinja templating from the strings and also removes the strings themselves, leaving the bare predicate. --- .../tasks/validate_execute_binary_upgrade.yml | 2 +- roles/install_dbserver/tasks/validate_install_dbserver.yml | 2 +- roles/setup_dbt2/tasks/validate_setup_dbt2.yml | 2 +- roles/setup_dbt2_client/tasks/validate_setup_dbt2_client.yml | 2 +- roles/setup_dbt2_driver/tasks/validate_setup_dbt2_driver.yml | 2 +- roles/setup_dbt3/tasks/validate_setup_dbt3.yml | 2 +- roles/setup_dbt7/tasks/validate_setup_dbt7.yml | 2 +- roles/setup_pgpool2/tasks/validate_setup_pgpool2.yml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/roles/execute_binary_upgrade/tasks/validate_execute_binary_upgrade.yml b/roles/execute_binary_upgrade/tasks/validate_execute_binary_upgrade.yml index a229a27ce..ef4e2e15f 100644 --- a/roles/execute_binary_upgrade/tasks/validate_execute_binary_upgrade.yml +++ b/roles/execute_binary_upgrade/tasks/validate_execute_binary_upgrade.yml @@ -204,7 +204,7 @@ - name: Check that all required packages have been installed ansible.builtin.assert: that: - - "{{ ansible_facts.packages[package] }} is defined" + - ansible_facts.packages[package] is defined fail_msg: "Package {{ package }} has not been installed." success_msg: "Package {{ package }} has been installed." loop: "{{ package_list }}" diff --git a/roles/install_dbserver/tasks/validate_install_dbserver.yml b/roles/install_dbserver/tasks/validate_install_dbserver.yml index ca261b22b..19808d4c0 100644 --- a/roles/install_dbserver/tasks/validate_install_dbserver.yml +++ b/roles/install_dbserver/tasks/validate_install_dbserver.yml @@ -196,7 +196,7 @@ - name: Check that all required packages have been installed ansible.builtin.assert: that: - - "{{ ansible_facts.packages[package] }} is defined" + - ansible_facts.packages[package] is defined fail_msg: "Package {{ package }} has not been installed." success_msg: "Package {{ package }} has been installed." loop: "{{ package_list }}" diff --git a/roles/setup_dbt2/tasks/validate_setup_dbt2.yml b/roles/setup_dbt2/tasks/validate_setup_dbt2.yml index 37681f76c..f1f71b784 100644 --- a/roles/setup_dbt2/tasks/validate_setup_dbt2.yml +++ b/roles/setup_dbt2/tasks/validate_setup_dbt2.yml @@ -18,7 +18,7 @@ - name: Check that all packages in dbt2_db_pkg_list has been installed ansible.builtin.assert: that: - - "{{ ansible_facts.packages[package] }} is defined" + - ansible_facts.packages[package] is defined fail_msg: "Package {{ package }} has not been installed." success_msg: "Package {{ package }} has been installed." loop: "{{ dbt2_db_pkg_list }}" diff --git a/roles/setup_dbt2_client/tasks/validate_setup_dbt2_client.yml b/roles/setup_dbt2_client/tasks/validate_setup_dbt2_client.yml index 85dca83df..5c6355a90 100644 --- a/roles/setup_dbt2_client/tasks/validate_setup_dbt2_client.yml +++ b/roles/setup_dbt2_client/tasks/validate_setup_dbt2_client.yml @@ -11,7 +11,7 @@ - name: Check that all packages in dbt2_client_pkg_list has been installed ansible.builtin.assert: that: - - "{{ ansible_facts.packages[package] }} is defined" + - ansible_facts.packages[package] is defined fail_msg: "Package {{ package }} has not been installed." success_msg: "Package {{ package }} has been installed." loop: "{{ dbt2_client_pkg_list }}" diff --git a/roles/setup_dbt2_driver/tasks/validate_setup_dbt2_driver.yml b/roles/setup_dbt2_driver/tasks/validate_setup_dbt2_driver.yml index 7f6afa3f4..d971929d8 100644 --- a/roles/setup_dbt2_driver/tasks/validate_setup_dbt2_driver.yml +++ b/roles/setup_dbt2_driver/tasks/validate_setup_dbt2_driver.yml @@ -11,7 +11,7 @@ - name: Check that all packages in dbt2_driver_pkg_list has been installed ansible.builtin.assert: that: - - "{{ ansible_facts.packages[package] }} is defined" + - ansible_facts.packages[package] is defined fail_msg: "Package {{ package }} has not been installed." success_msg: "Package {{ package }} has been installed." loop: "{{ dbt2_driver_pkg_list }}" diff --git a/roles/setup_dbt3/tasks/validate_setup_dbt3.yml b/roles/setup_dbt3/tasks/validate_setup_dbt3.yml index a4bd18f17..7d35b5f25 100644 --- a/roles/setup_dbt3/tasks/validate_setup_dbt3.yml +++ b/roles/setup_dbt3/tasks/validate_setup_dbt3.yml @@ -11,7 +11,7 @@ - name: Check that all packages in dbt3_db_pkg_list has been installed ansible.builtin.assert: that: - - "{{ ansible_facts.packages[package] }} is defined" + - ansible_facts.packages[package] is defined fail_msg: "Package {{ package }} has not been installed." success_msg: "Package {{ package }} has been installed." loop: "{{ dbt3_db_pkg_list }}" diff --git a/roles/setup_dbt7/tasks/validate_setup_dbt7.yml b/roles/setup_dbt7/tasks/validate_setup_dbt7.yml index 4e308074b..fd1d2df6c 100644 --- a/roles/setup_dbt7/tasks/validate_setup_dbt7.yml +++ b/roles/setup_dbt7/tasks/validate_setup_dbt7.yml @@ -11,7 +11,7 @@ - name: Check that all packages in dbt7_db_pkg_list has been installed ansible.builtin.assert: that: - - "{{ ansible_facts.packages[package] }} is defined" + - ansible_facts.packages[package] is defined fail_msg: "Package {{ package }} has not been installed." success_msg: "Package {{ package }} has been installed." loop: "{{ dbt7_db_pkg_list }}" diff --git a/roles/setup_pgpool2/tasks/validate_setup_pgpool2.yml b/roles/setup_pgpool2/tasks/validate_setup_pgpool2.yml index 738d0be2e..72c25ad8b 100644 --- a/roles/setup_pgpool2/tasks/validate_setup_pgpool2.yml +++ b/roles/setup_pgpool2/tasks/validate_setup_pgpool2.yml @@ -55,7 +55,7 @@ - name: Check that all required pgpool2 packages have been installed ansible.builtin.assert: that: - - "{{ ansible_facts.packages[package] }} is defined" + - ansible_facts.packages[package] is defined fail_msg: "Package {{ package }} has not been installed." success_msg: "Package {{ package }} has been installed." loop: "{{ pgpool2_packages_check }}" From 88c9d81cc5c0a687a57b89f9eecef33f0bcd6ef1 Mon Sep 17 00:00:00 2001 From: Ian van der Linde Date: Thu, 18 Apr 2024 08:46:35 +0200 Subject: [PATCH 08/11] Also address jinja2 predicate issues in barman, efm and pem server tasks --- .../setup_barmanserver/tasks/validate_setup_barmanserver.yml | 2 +- roles/setup_efm/tasks/validate_setup_efm.yml | 4 ++-- roles/setup_pemserver/tasks/validate_setup_pemserver.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/setup_barmanserver/tasks/validate_setup_barmanserver.yml b/roles/setup_barmanserver/tasks/validate_setup_barmanserver.yml index 7c5ad8eeb..f153defe3 100644 --- a/roles/setup_barmanserver/tasks/validate_setup_barmanserver.yml +++ b/roles/setup_barmanserver/tasks/validate_setup_barmanserver.yml @@ -8,7 +8,7 @@ - name: Check that all required barman packages have been installed ansible.builtin.assert: that: - - "{{ ansible_facts.packages[item] }} is defined" + - ansible_facts.packages[item] is defined fail_msg: "Package {{ item }} has not been installed." success_msg: "Package {{ item }} has been installed." loop: diff --git a/roles/setup_efm/tasks/validate_setup_efm.yml b/roles/setup_efm/tasks/validate_setup_efm.yml index 83f301ea0..639727095 100644 --- a/roles/setup_efm/tasks/validate_setup_efm.yml +++ b/roles/setup_efm/tasks/validate_setup_efm.yml @@ -55,7 +55,7 @@ - name: Check that all required packages have been installed on RedHat ansible.builtin.assert: that: - - "{{ ansible_facts.packages[item] }} is defined" + - ansible_facts.packages[item] is defined fail_msg: "Package {{ item }} has not been installed." success_msg: "Package {{ item }} has been installed." loop: @@ -66,7 +66,7 @@ - name: Check that all required packages have been installed on Debian ansible.builtin.assert: that: - - "{{ ansible_facts.packages[item] }} is defined" + - ansible_facts.packages[item] is defined fail_msg: "Package {{ item }} has not been installed." success_msg: "Package {{ item }} has been installed." loop: diff --git a/roles/setup_pemserver/tasks/validate_setup_pemserver.yml b/roles/setup_pemserver/tasks/validate_setup_pemserver.yml index 1d461a232..290411539 100644 --- a/roles/setup_pemserver/tasks/validate_setup_pemserver.yml +++ b/roles/setup_pemserver/tasks/validate_setup_pemserver.yml @@ -67,7 +67,7 @@ - name: Check that all required packages have been installed ansible.builtin.assert: that: - - "{{ ansible_facts.packages[item] }} is defined" + - ansible_facts.packages[item] is defined fail_msg: "Package {{ item }} has not been installed." success_msg: "Package {{ item }} has been installed." loop: "{{ pem_server_packages }}" From f5b97cb2e06e319ab294a51246fe73851304f00a Mon Sep 17 00:00:00 2001 From: Ian van der Linde Date: Thu, 18 Apr 2024 09:53:12 +0200 Subject: [PATCH 09/11] Remove jinja predicates from barman setup validation. --- roles/setup_barman/tasks/validate_setup_barman.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/setup_barman/tasks/validate_setup_barman.yml b/roles/setup_barman/tasks/validate_setup_barman.yml index 452af7f6e..a96c9954c 100644 --- a/roles/setup_barman/tasks/validate_setup_barman.yml +++ b/roles/setup_barman/tasks/validate_setup_barman.yml @@ -42,7 +42,7 @@ - name: Check if backup server has been configured correctly. ansible.builtin.assert: that: - - barman_list_server_res.stdout_lines is search('{{ primary_inventory_hostname }}') + - barman_list_server_res.stdout_lines is search(primary_inventory_hostname) fail_msg: "{{ primary_inventory_hostname }} backup server was not configured correctly." success_msg: "{{ primary_inventory_hostname }} backup server was configured correctly." run_once: true @@ -64,7 +64,7 @@ - name: Check if barman home directory has been configured correctly ansible.builtin.assert: that: - - barman_show_server_res.stdout_lines is search('{{ barman_home }}') + - barman_show_server_res.stdout_lines is search(barman_home) fail_msg: "{{ barman_home }} directory was not configured correctly" success_msg: "{{ barman_home }} directory was configured correctly" run_once: true From ea9814cf3d4d58cdc49a2ad4001dc5eb84e17142 Mon Sep 17 00:00:00 2001 From: Ian van der Linde Date: Thu, 25 Apr 2024 08:50:13 +0200 Subject: [PATCH 10/11] Make PgPool PCP package name configurable on RHEL At the moment, the PgPool package can be specified manually, but the corresponding pcp package on RHEL cannot. This patch allows for that, keeping the existing defaults. A patch is not needed for EPAS, as it does not make use of such a package. --- roles/setup_pgpool2/tasks/pgpool2_install.yml | 2 +- roles/setup_pgpool2/vars/PG_RedHat.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/roles/setup_pgpool2/tasks/pgpool2_install.yml b/roles/setup_pgpool2/tasks/pgpool2_install.yml index ddb18c734..a32b4e71d 100644 --- a/roles/setup_pgpool2/tasks/pgpool2_install.yml +++ b/roles/setup_pgpool2/tasks/pgpool2_install.yml @@ -29,7 +29,7 @@ - name: Install pgpool-II-pcp package on RedHat ansible.builtin.package: - name: "pgpool-II-pcp" + name: "{{ pgpool2_pcp_package_name }}" state: present when: - ansible_os_family == 'RedHat' diff --git a/roles/setup_pgpool2/vars/PG_RedHat.yml b/roles/setup_pgpool2/vars/PG_RedHat.yml index c898441d6..dda4ab853 100644 --- a/roles/setup_pgpool2/vars/PG_RedHat.yml +++ b/roles/setup_pgpool2/vars/PG_RedHat.yml @@ -2,6 +2,7 @@ pgpool2_version: 4.3 # We don't have the choice of the version with community PostgreSQL pgpool2_package_name: "pgpool-II" +pgpool2_pcp_package_name: "pgpool-II-pcp" pgpool2_configuration_file: "/etc/pgpool-II/pgpool.conf" pgpool2_pool_passwd_file: "/etc/pgpool-II/pool_passwd" pgpool2_user: "postgres" From d65d378e9e5297b6b38847d0e32c8600c2d628e2 Mon Sep 17 00:00:00 2001 From: Ian van der Linde Date: Thu, 25 Apr 2024 09:01:01 +0200 Subject: [PATCH 11/11] Add run_once to PgPool test user creation In some cases I have found that the task to create the PgPool test user can run multiple times, with runs subsequent from the first failing with a duplicate key error (the user already exists on the backend after the first run). This patch prevents that from occurring. --- roles/setup_pgpool2/tasks/validate_setup_pgpool2.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/setup_pgpool2/tasks/validate_setup_pgpool2.yml b/roles/setup_pgpool2/tasks/validate_setup_pgpool2.yml index 72c25ad8b..d3d8d9781 100644 --- a/roles/setup_pgpool2/tasks/validate_setup_pgpool2.yml +++ b/roles/setup_pgpool2/tasks/validate_setup_pgpool2.yml @@ -123,6 +123,7 @@ pg_database: "{{ pg_pgpool_database }}" no_log: "{{ disable_logging }}" when: pgpool2_test_user_password|length > 1 + run_once: true - name: Add pgpool2_test_user ansible.builtin.include_role: @@ -181,6 +182,7 @@ state: absent no_log: "{{ disable_logging }}" when: pgpool2_test_user_password|length > 1 + run_once: true - name: Remove pgpool2_test_user from pgpool2 ansible.builtin.include_role: