Add mariadb_packages_extra for installing additional packages
Optional list appended to the package install on all supported OS families, so extra packages resolve in the same transaction as the MariaDB server packages and are present before the configuration step. Useful for packages the server config depends on at (re)start, e.g. the compression provider plugins (mariadb-plugin-provider-*) that are split out of mariadb-server in the MariaDB repositories since 10.7 and are required when mariadb.cnf loads them via plugin_load_add.
This commit is contained in:
parent
209705a893
commit
16b62c9856
10
README.md
10
README.md
|
|
@ -138,6 +138,16 @@ mariadb_bind_address: 127.0.0.1
|
|||
mariadb_unix_socket: "default value depends on OS"
|
||||
```
|
||||
|
||||
Extra distribution packages can be installed together with the MariaDB server
|
||||
packages (same transaction, before configuration), e.g. the compression
|
||||
provider plugins when the configuration loads them via `plugin_load_add`:
|
||||
|
||||
```yaml
|
||||
mariadb_packages_extra: []
|
||||
# mariadb_packages_extra:
|
||||
# - mariadb-plugin-provider-lz4
|
||||
```
|
||||
|
||||
```yaml
|
||||
mariadb_basic_settings_raw: |
|
||||
user = mysql
|
||||
|
|
|
|||
|
|
@ -12,6 +12,13 @@ mariadb_use_official_repo_version: 10.6
|
|||
# see: https://manpages.debian.org/stable/apt/sources.list.5.en.html#DEB822-STYLE_FORMAT
|
||||
mariadb_use_official_repo_format_deb822: false
|
||||
|
||||
# Extra distribution packages to install together with the MariaDB server
|
||||
# packages (single transaction, before configuration). Useful for packages
|
||||
# the server configuration needs at (re)start, e.g. the compression provider
|
||||
# plugins (mariadb-plugin-provider-*) that are split out of mariadb-server
|
||||
# in the MariaDB repositories since 10.7.
|
||||
mariadb_packages_extra: []
|
||||
|
||||
mariadb_enabled_on_startup: true
|
||||
# The following is set to true by default but you may consider setting it to
|
||||
# false on production servers to prevent ansible from restarting mariadb server.
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@ mariadb_server_id: 1
|
|||
mariadb_bind_address: 0.0.0.0
|
||||
mariadb_replication_role: primary
|
||||
|
||||
mariadb_packages_extra:
|
||||
- rsync
|
||||
|
||||
mariadb_innodb_raw: |
|
||||
innodb_buffer_pool_size = 512M
|
||||
innodb_log_file_size = 64M
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
- name: Verify
|
||||
hosts: all
|
||||
gather_facts: true
|
||||
vars_files: vars/testvars.yml
|
||||
|
||||
tasks:
|
||||
- name: Include OS vars
|
||||
|
|
@ -19,6 +20,20 @@
|
|||
that: not pkg_status.changed
|
||||
fail_msg: "{{ mariadb_server_package }} is not installed"
|
||||
|
||||
- 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
|
||||
|
||||
- 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
|
||||
|
||||
- name: Register {{ mariadb_config_file }}
|
||||
ansible.builtin.stat:
|
||||
path: "{{ mariadb_config_file }}"
|
||||
|
|
|
|||
|
|
@ -1,11 +1,7 @@
|
|||
---
|
||||
- name: Install packages (package)
|
||||
ansible.builtin.package:
|
||||
name:
|
||||
- "{{ mariadb_server_package }}"
|
||||
- mariadb-backup
|
||||
- mariadb-client
|
||||
- py3-pymysql
|
||||
name: "{{ [mariadb_server_package, 'mariadb-backup', 'mariadb-client', 'py3-pymysql'] + mariadb_packages_extra }}"
|
||||
state: present
|
||||
notify: Setup MariaDB
|
||||
|
||||
|
|
|
|||
|
|
@ -77,9 +77,6 @@
|
|||
|
||||
- name: Install packages (apt)
|
||||
ansible.builtin.apt:
|
||||
package:
|
||||
- "{{ mariadb_server_package }}"
|
||||
- mariadb-backup
|
||||
- python3-pymysql
|
||||
package: "{{ [mariadb_server_package, 'mariadb-backup', 'python3-pymysql'] + mariadb_packages_extra }}"
|
||||
state: present
|
||||
update_cache: true
|
||||
|
|
|
|||
|
|
@ -22,19 +22,13 @@
|
|||
|
||||
- name: Install packages (dnf)
|
||||
ansible.builtin.dnf:
|
||||
name:
|
||||
- "{{ mariadb_server_package }}"
|
||||
- mariadb-backup
|
||||
- python3-PyMySQL
|
||||
name: "{{ [mariadb_server_package, 'mariadb-backup', 'python3-PyMySQL'] + 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
|
||||
name: "{{ [mariadb_server_package_mdbf, 'MariaDB-backup', 'python3-PyMySQL'] + mariadb_packages_extra }}"
|
||||
state: present
|
||||
when: mariadb_use_official_repo
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue