Move standard package lists to __mariadb_packages vars; clarify test guards
- Define __mariadb_packages (+ __mariadb_packages_mdbf for RedHat) in vars/ and set_fact them in variables.yml, matching the role's variable pattern; install tasks now use `mariadb_packages + mariadb_packages_extra` for clearer diffs and user-overridable base lists. - Comment why rsync is used as the extra test package. - Verify guard: use `mariadb_packages_extra | length > 0` (drop redundant default([]) since defaults/main.yml already provides []); comment why the explicit boolean is needed (ansible-core 2.19 rejects a non-boolean when:).
This commit is contained in:
parent
16b62c9856
commit
a4c8559e4c
|
|
@ -3,6 +3,8 @@ mariadb_server_id: 1
|
|||
mariadb_bind_address: 0.0.0.0
|
||||
mariadb_replication_role: primary
|
||||
|
||||
# rsync is an arbitrary, lightweight package available in every target distro's
|
||||
# repos; it exercises the mariadb_packages_extra path without pulling in anything heavy.
|
||||
mariadb_packages_extra:
|
||||
- rsync
|
||||
|
||||
|
|
|
|||
|
|
@ -20,19 +20,22 @@
|
|||
that: not pkg_status.changed
|
||||
fail_msg: "{{ mariadb_server_package }} is not installed"
|
||||
|
||||
# `when: mariadb_packages_extra` relied on a list being implicitly truthy.
|
||||
# ansible-core 2.19 rejects a non-boolean `when:` as an error, so the
|
||||
# "list is non-empty" check must be explicit: `| length > 0`.
|
||||
- name: Verify extra packages status
|
||||
ansible.builtin.package:
|
||||
name: "{{ mariadb_packages_extra }}"
|
||||
state: present
|
||||
check_mode: true
|
||||
register: extra_pkg_status
|
||||
when: mariadb_packages_extra | default([]) | length > 0
|
||||
when: mariadb_packages_extra | length > 0
|
||||
|
||||
- name: Check that extra packages are installed
|
||||
ansible.builtin.assert:
|
||||
that: not extra_pkg_status.changed
|
||||
fail_msg: "extra packages {{ mariadb_packages_extra }} are not installed"
|
||||
when: mariadb_packages_extra | default([]) | length > 0
|
||||
when: mariadb_packages_extra | length > 0
|
||||
|
||||
- name: Register {{ mariadb_config_file }}
|
||||
ansible.builtin.stat:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
- name: Install packages (package)
|
||||
ansible.builtin.package:
|
||||
name: "{{ [mariadb_server_package, 'mariadb-backup', 'mariadb-client', 'py3-pymysql'] + mariadb_packages_extra }}"
|
||||
name: "{{ mariadb_packages + mariadb_packages_extra }}"
|
||||
state: present
|
||||
notify: Setup MariaDB
|
||||
|
||||
|
|
|
|||
|
|
@ -77,6 +77,6 @@
|
|||
|
||||
- name: Install packages (apt)
|
||||
ansible.builtin.apt:
|
||||
package: "{{ [mariadb_server_package, 'mariadb-backup', 'python3-pymysql'] + mariadb_packages_extra }}"
|
||||
package: "{{ mariadb_packages + mariadb_packages_extra }}"
|
||||
state: present
|
||||
update_cache: true
|
||||
|
|
|
|||
|
|
@ -22,13 +22,13 @@
|
|||
|
||||
- name: Install packages (dnf)
|
||||
ansible.builtin.dnf:
|
||||
name: "{{ [mariadb_server_package, 'mariadb-backup', 'python3-PyMySQL'] + mariadb_packages_extra }}"
|
||||
name: "{{ mariadb_packages + mariadb_packages_extra }}"
|
||||
state: present
|
||||
when: not mariadb_use_official_repo
|
||||
|
||||
- name: Install packages (dnf/mdbf repo)
|
||||
ansible.builtin.dnf:
|
||||
name: "{{ [mariadb_server_package_mdbf, 'MariaDB-backup', 'python3-PyMySQL'] + mariadb_packages_extra }}"
|
||||
name: "{{ mariadb_packages_mdbf + mariadb_packages_extra }}"
|
||||
state: present
|
||||
when: mariadb_use_official_repo
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,18 @@
|
|||
- ansible_facts.os_family == "RedHat"
|
||||
- mariadb_server_package_mdbf is not defined
|
||||
|
||||
- name: Define mariadb_packages.
|
||||
ansible.builtin.set_fact:
|
||||
mariadb_packages: "{{ __mariadb_packages }}"
|
||||
when: mariadb_packages is not defined
|
||||
|
||||
- name: Define mariadb_packages_mdbf.
|
||||
ansible.builtin.set_fact:
|
||||
mariadb_packages_mdbf: "{{ __mariadb_packages_mdbf }}"
|
||||
when:
|
||||
- ansible_facts.os_family == "RedHat"
|
||||
- mariadb_packages_mdbf is not defined
|
||||
|
||||
- name: Define mariadb_config_file.
|
||||
ansible.builtin.set_fact:
|
||||
mariadb_config_file: "{{ __mariadb_config_file }}"
|
||||
|
|
|
|||
|
|
@ -8,3 +8,8 @@ __mariadb_unix_socket: "/run/mysqld/mysqld.sock"
|
|||
__mariadb_log_dir: "/var/log/mariadb"
|
||||
__mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log"
|
||||
__mariadb_cron_package_name: "cronie"
|
||||
__mariadb_packages:
|
||||
- "{{ mariadb_server_package }}"
|
||||
- mariadb-backup
|
||||
- mariadb-client
|
||||
- py3-pymysql
|
||||
|
|
|
|||
|
|
@ -8,3 +8,7 @@ __mariadb_unix_socket: "/run/mysqld/mysqld.sock"
|
|||
__mariadb_log_dir: "/var/log/mysql"
|
||||
__mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log"
|
||||
__mariadb_cron_package_name: "cron"
|
||||
__mariadb_packages:
|
||||
- "{{ mariadb_server_package }}"
|
||||
- mariadb-backup
|
||||
- python3-pymysql
|
||||
|
|
|
|||
|
|
@ -9,3 +9,11 @@ __mariadb_unix_socket: "/var/lib/mysql/mysql.sock"
|
|||
__mariadb_log_dir: "/var/log/mariadb"
|
||||
__mariadb_log_error_file: "{{ mariadb_log_dir }}/error.log"
|
||||
__mariadb_cron_package_name: "cronie"
|
||||
__mariadb_packages:
|
||||
- "{{ mariadb_server_package }}"
|
||||
- mariadb-backup
|
||||
- python3-PyMySQL
|
||||
__mariadb_packages_mdbf:
|
||||
- "{{ mariadb_server_package_mdbf }}"
|
||||
- MariaDB-backup
|
||||
- python3-PyMySQL
|
||||
|
|
|
|||
Loading…
Reference in New Issue