Fix linters issue and metadata

With update of ansible-lint to version >=6.0.0 a lot of new
linters were added, that enabled by default. In order to comply
with linter rules we're applying changes to the role.

With that we also update metdata to reflect current state.

Change-Id: I13935aa1ae19449184053fc40cc64b09ed1ba9ef
This commit is contained in:
Dmitriy Rabotyagov 2023-07-11 14:38:40 +02:00 committed by Dmitriy Rabotyagov
parent cef3aa94f6
commit 91f578f2c0
13 changed files with 92 additions and 58 deletions

View File

@ -79,7 +79,7 @@ galera_monitoring_max_connections: 10
# This can be replaced with other hostnames, cidr, ips, and ips + wildcards. # This can be replaced with other hostnames, cidr, ips, and ips + wildcards.
# See https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html # See https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html
# #
#galera_monitoring_allowed_source: "0.0.0.0/0" # galera_monitoring_allowed_source: "0.0.0.0/0"
# Additional users to add or remove # Additional users to add or remove
galera_additional_users: [] galera_additional_users: []
@ -143,15 +143,15 @@ galera_wsrep_cluster_address: >-
galera_wsrep_node_incoming_address: "{{ galera_wsrep_address }}" galera_wsrep_node_incoming_address: "{{ galera_wsrep_address }}"
## Cap the maximum number of threads / workers when a user value is unspecified. ## Cap the maximum number of threads / workers when a user value is unspecified.
galera_wsrep_slave_threads_max: 16 galera_wsrep_slave_threads_max: 16
galera_wsrep_slave_threads: "{{ [[ansible_facts['processor_vcpus']|default(2), 2] | max, galera_wsrep_slave_threads_max] | min }}" galera_wsrep_slave_threads: "{{ [[ansible_facts['processor_vcpus'] | default(2), 2] | max, galera_wsrep_slave_threads_max] | min }}"
galera_wsrep_retry_autocommit: 3 galera_wsrep_retry_autocommit: 3
galera_wsrep_debug: NONE galera_wsrep_debug: NONE
galera_wsrep_sst_method: mariabackup galera_wsrep_sst_method: mariabackup
galera_wsrep_provider_options: galera_wsrep_provider_options:
- { option: "gcache.size", value: "{{ galera_gcache_size }}" } - { option: "gcache.size", value: "{{ galera_gcache_size }}" }
- { option: "gmcast.listen_addr", value: "tcp://{{ galera_wsrep_node_incoming_address }}:{{ galera_wsrep_cluster_port }}" } - { option: "gmcast.listen_addr", value: "tcp://{{ galera_wsrep_node_incoming_address }}:{{ galera_wsrep_cluster_port }}" }
galera_wsrep_sst_auth_user: "{{ galera_root_user }}" galera_wsrep_sst_auth_user: "{{ galera_root_user }}"
galera_wsrep_sst_auth_password: "{{ galera_root_password }}" galera_wsrep_sst_auth_password: "{{ galera_root_password }}"
# mariabackup parallel/sync threads # mariabackup parallel/sync threads
galera_mariabackup_threads: 4 galera_mariabackup_threads: 4
@ -227,7 +227,10 @@ galera_pki_install_ca:
galera_pki_keys_path: "{{ galera_pki_dir ~ '/certs/private/' }}" galera_pki_keys_path: "{{ galera_pki_dir ~ '/certs/private/' }}"
galera_pki_certs_path: "{{ galera_pki_dir ~ '/certs/certs/' }}" galera_pki_certs_path: "{{ galera_pki_dir ~ '/certs/certs/' }}"
galera_pki_intermediate_cert_name: "{{ openstack_pki_service_intermediate_cert_name | default('MariaDBIntermediate') }}" galera_pki_intermediate_cert_name: "{{ openstack_pki_service_intermediate_cert_name | default('MariaDBIntermediate') }}"
galera_pki_intermediate_cert_path: "{{ galera_pki_dir ~ '/roots/' ~ galera_pki_intermediate_cert_name ~ '/certs/' ~ galera_pki_intermediate_cert_name ~ '.crt' }}" galera_pki_intermediate_cert_path: >-
{{
galera_pki_dir ~ '/roots/' ~ galera_pki_intermediate_cert_name ~ '/certs/' ~ galera_pki_intermediate_cert_name ~ '.crt'
}}
galera_pki_regen_cert: '' galera_pki_regen_cert: ''
galera_pki_certificates: galera_pki_certificates:
- name: "galera_{{ ansible_facts['hostname'] }}" - name: "galera_{{ ansible_facts['hostname'] }}"
@ -284,7 +287,7 @@ galera_pki_install_certificates:
# Setting the following variable to 'yes' will disable the PrivateDevices # Setting the following variable to 'yes' will disable the PrivateDevices
galera_disable_privatedevices: "{{ _galera_disable_privatedevices }}" galera_disable_privatedevices: "{{ _galera_disable_privatedevices }}"
#install and configure the galera client as well as the server # install and configure the galera client as well as the server
galera_install_client: false galera_install_client: false
galera_client_package_install: "{{ galera_install_client }}" galera_client_package_install: "{{ galera_install_client }}"
galera_client_package_state: "latest" galera_client_package_state: "latest"
@ -296,13 +299,18 @@ galera_ssl_server: "{{ openstack_pki_setup_host | default('localhost') }}"
## Database info ## Database info
galera_db_setup_host: "{{ openstack_db_setup_host | default(galera_cluster_members[0] | default('localhost')) }}" galera_db_setup_host: "{{ openstack_db_setup_host | default(galera_cluster_members[0] | default('localhost')) }}"
galera_db_setup_python_interpreter: "{{ openstack_db_setup_python_interpreter | default((galera_db_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_facts['python']['executable'])) }}" galera_db_setup_python_interpreter: >-
{{
openstack_db_setup_python_interpreter | default(
(galera_db_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_facts['python']['executable'])
)
}}
# Configure backups of database # Configure backups of database
# copies is the number of full backups to be kept, the corresponding # copies is the number of full backups to be kept, the corresponding
# incremental backups will also be kept. Uses systemd timer instead of cron. # incremental backups will also be kept. Uses systemd timer instead of cron.
galera_mariadb_backups_enabled: false galera_mariadb_backups_enabled: false
#galera_mariadb_backups_group_gid: <specify a GID> # galera_mariadb_backups_group_gid: <specify a GID>
galera_mariadb_backups_group_name: backups galera_mariadb_backups_group_name: backups
galera_mariadb_backups_path: "/var/backup/mariadb_backups" galera_mariadb_backups_path: "/var/backup/mariadb_backups"
galera_mariadb_backups_full_copies: 2 galera_mariadb_backups_full_copies: 2
@ -314,7 +322,7 @@ galera_mariadb_backups_increment_on_calendar:
- "*-*-* 12:00:00" - "*-*-* 12:00:00"
- "*-*-* 18:00:00" - "*-*-* 18:00:00"
galera_mariadb_backups_increment_randomized_delay_sec: 0 galera_mariadb_backups_increment_randomized_delay_sec: 0
#galera_mariadb_backups_user is the name of the mariadb database user # galera_mariadb_backups_user is the name of the mariadb database user
galera_mariadb_backups_user: galera_mariadb_backup galera_mariadb_backups_user: galera_mariadb_backup
galera_mariadb_backups_suffix: "{{ inventory_hostname }}" galera_mariadb_backups_suffix: "{{ inventory_hostname }}"
galera_mariadb_backups_cnf_file: "/etc/mysql/mariabackup.cnf" galera_mariadb_backups_cnf_file: "/etc/mysql/mariabackup.cnf"

View File

@ -18,19 +18,19 @@ galaxy_info:
description: Installation galera server description: Installation galera server
company: Rackspace company: Rackspace
license: Apache2 license: Apache2
min_ansible_version: 2.1 min_ansible_version: "2.10"
platforms: platforms:
- name: Debian - name: Debian
versions: versions:
- buster - bullseye
- name: Ubuntu - name: Ubuntu
versions: versions:
- bionic
- focal - focal
- jammy
- name: EL - name: EL
versions: versions:
- 8 - "9"
categories: galaxy_tags:
- cloud - cloud
- galera - galera
- mariadb - mariadb

View File

@ -17,11 +17,13 @@
set_fact: set_fact:
galera_packages_list: "{{ galera_client_distro_packages }}" galera_packages_list: "{{ galera_client_distro_packages }}"
- include_tasks: "galera_install_{{ ansible_facts['pkg_mgr'] }}.yml" - name: Including distro-specific installation tasks
include_tasks: "galera_install_{{ ansible_facts['pkg_mgr'] }}.yml"
when: when:
- galera_client_package_install | bool - galera_client_package_install | bool
- include_tasks: galera_client_post_install.yml - name: Including galera_client_post_install
include_tasks: galera_client_post_install.yml
- name: Create and install SSL certificates - name: Create and install SSL certificates
include_role: include_role:

View File

@ -17,4 +17,5 @@
set_fact: set_fact:
galera_packages_list: "{{ galera_devel_distro_packages }}" galera_packages_list: "{{ galera_devel_distro_packages }}"
- include_tasks: "galera_install_{{ ansible_facts['pkg_mgr'] }}.yml" - name: Including distro-specific installation tasks
include_tasks: "galera_install_{{ ansible_facts['pkg_mgr'] }}.yml"

View File

@ -23,10 +23,16 @@
src: "gpg/{{ item.id }}" src: "gpg/{{ item.id }}"
dest: "{{ item.file }}" dest: "{{ item.file }}"
mode: '0644' mode: '0644'
with_items: "{{ galera_gpg_keys | selectattr('file','defined') | list }}" with_items: "{{ galera_gpg_keys | selectattr('file', 'defined') | list }}"
- name: Install gpg keys - name: Install gpg keys
apt_key: "{{ key }}" apt_key:
data: "{{ key['data'] | default(omit) }}"
file: "{{ key['file'] | default(omit) }}"
id: "{{ key['id'] | default(omit) }}"
state: "{{ key['state'] | default(omit) }}"
url: "{{ key['url'] | default(omit) }}"
validate_certs: "{{ key['validate_certs'] | default(omit) }}"
with_items: "{{ galera_gpg_keys }}" with_items: "{{ galera_gpg_keys }}"
loop_control: loop_control:
loop_var: key loop_var: key
@ -62,16 +68,6 @@
with_items: "{{ galera_debconf_items }}" with_items: "{{ galera_debconf_items }}"
no_log: yes no_log: yes
- name: Update Apt cache
apt:
update_cache: yes
when:
- add_galera_repo is changed
register: update_apt_cache
until: update_apt_cache is success
retries: 5
delay: 2
- name: Install galera role remote packages (apt) - name: Install galera role remote packages (apt)
apt: apt:
name: "{{ galera_packages_list }}" name: "{{ galera_packages_list }}"

View File

@ -29,7 +29,7 @@
config_type: "ini" config_type: "ini"
notify: Restart all mysql notify: Restart all mysql
- name: use encryption with the file key management plugin - name: Use encryption with the file key management plugin
block: block:
- name: Create encryption directory - name: Create encryption directory
file: file:
@ -50,10 +50,11 @@
file: file:
path: "{{ galera_db_encryption_tmp_dir }}" path: "{{ galera_db_encryption_tmp_dir }}"
state: directory state: directory
mode: "0750"
delegate_to: "localhost" delegate_to: "localhost"
run_once: true run_once: true
- name: Create encryption keys if the user does not specify them and put them on the deploy host - name: Create encryption keys if the user does not specify them and put them on the deploy host # noqa: no-changed-when risky-shell-pipe
shell: "for i in {1..2}; do echo \"$i;$(openssl rand -hex 32)\"; done | tee {{ galera_db_encryption_tmp_dir }}/mysql_encryption_keys > /dev/null" shell: "for i in {1..2}; do echo \"$i;$(openssl rand -hex 32)\"; done | tee {{ galera_db_encryption_tmp_dir }}/mysql_encryption_keys > /dev/null"
delegate_to: "localhost" delegate_to: "localhost"
run_once: true run_once: true
@ -61,14 +62,26 @@
- galera_db_encryption_keys is not defined - galera_db_encryption_keys is not defined
- name: Create the encryption key file from the user provided galera_db_encryption_keys - name: Create the encryption key file from the user provided galera_db_encryption_keys
shell: "echo '{{ galera_db_encryption_keys }}' > {{ galera_db_encryption_tmp_dir }}/mysql_encryption_keys" shell: "echo '{{ galera_db_encryption_keys }}' > {{ galera_db_encryption_tmp_dir }}/mysql_encryption_keys" # noqa: no-changed-when
delegate_to: "localhost" delegate_to: "localhost"
run_once: true run_once: true
when: when:
- galera_db_encryption_keys is defined - galera_db_encryption_keys is defined
- name: Create an encrypted keyfile using encryption key - name: Create an encrypted keyfile using encryption key
command: "openssl enc -aes-256-cbc -md sha1 -k {{ galera_db_encryption_password }} -in {{ galera_db_encryption_tmp_dir }}/mysql_encryption_keys -out {{ galera_db_encryption_tmp_dir }}/mysql_encryption_keyfile.enc" command: # noqa: no-changed-when
argv:
- openssl
- enc
- -aes-256-cbc
- -md
- sha1
- -k
- "{{ galera_db_encryption_password }}"
- -in
- "{{ galera_db_encryption_tmp_dir }}/mysql_encryption_keys"
- -out
- "{{ galera_db_encryption_tmp_dir }}/mysql_encryption_keyfile.enc"
delegate_to: "localhost" delegate_to: "localhost"
run_once: true run_once: true
@ -78,7 +91,7 @@
dest: "/etc/mysql/encryption/keyfile.enc" dest: "/etc/mysql/encryption/keyfile.enc"
owner: mysql owner: mysql
group: mysql group: mysql
mode: 0600 mode: "0600"
force: false # only copy the file if it does not exist force: false # only copy the file if it does not exist
notify: Restart all mysql notify: Restart all mysql
@ -88,7 +101,6 @@
dest: "/etc/mysql/encryption/.keyfile.key" dest: "/etc/mysql/encryption/.keyfile.key"
owner: mysql owner: mysql
group: mysql group: mysql
mode: 0600 mode: "0600"
when: when:
- galera_mariadb_encryption_plugin == "file_key_management" - galera_mariadb_encryption_plugin == "file_key_management"

View File

@ -17,9 +17,11 @@
set_fact: set_fact:
galera_packages_list: "{{ galera_server_required_distro_packages + galera_server_mariadb_distro_packages }}" galera_packages_list: "{{ galera_server_required_distro_packages + galera_server_mariadb_distro_packages }}"
- include_tasks: "galera_install_{{ ansible_facts['pkg_mgr'] }}.yml" - name: Including distro-specific installation tasks
include_tasks: "galera_install_{{ ansible_facts['pkg_mgr'] }}.yml"
- include_tasks: galera_server_encryption.yml - name: Including galera_server_encryption
include_tasks: galera_server_encryption.yml
when: when:
- galera_mariadb_encryption_enabled | bool - galera_mariadb_encryption_enabled | bool
tags: tags:
@ -31,6 +33,7 @@
section: galera section: galera
option: deployed option: deployed
value: true value: true
mode: "0644"
- name: Set the galera existing cluster fact - name: Set the galera existing cluster fact
set_fact: set_fact:

View File

@ -29,12 +29,13 @@
tags: tags:
- always - always
- name: initialize local facts - name: Initialize local facts
ini_file: ini_file:
dest: "/etc/ansible/facts.d/openstack_ansible.fact" dest: "/etc/ansible/facts.d/openstack_ansible.fact"
section: "galera" section: "galera"
option: initialized option: initialized
value: true value: true
mode: "0644"
- name: Refresh local facts - name: Refresh local facts
setup: setup:
@ -63,14 +64,16 @@
tags: tags:
- always - always
- include_tasks: galera_server_cluster_state.yml - name: Including galera_server_cluster_state
include_tasks: galera_server_cluster_state.yml
when: when:
- galera_deployed | bool - galera_deployed | bool
- not galera_ignore_cluster_state | bool - not galera_ignore_cluster_state | bool
tags: tags:
- always - always
- include_tasks: galera_server_upgrade.yml - name: Including galera_server_upgrade
include_tasks: galera_server_upgrade.yml
when: galera_deployed | bool when: galera_deployed | bool
args: args:
apply: apply:
@ -79,7 +82,8 @@
tags: tags:
- always - always
- include_tasks: galera_server_install.yml - name: Including galera_server_install
include_tasks: galera_server_install.yml
args: args:
apply: apply:
tags: tags:
@ -87,7 +91,8 @@
tags: tags:
- always - always
- include_tasks: galera_server_post_install.yml - name: Including galera_server_post_install
include_tasks: galera_server_post_install.yml
args: args:
apply: apply:
tags: tags:
@ -98,7 +103,8 @@
- name: Flush handlers - name: Flush handlers
meta: flush_handlers meta: flush_handlers
- include_tasks: galera_server_setup.yml - name: Including galera_server_setup
include_tasks: galera_server_setup.yml
when: inventory_hostname == galera_server_bootstrap_node when: inventory_hostname == galera_server_bootstrap_node
args: args:
apply: apply:
@ -107,7 +113,8 @@
tags: tags:
- always - always
- include_tasks: galera_server_backups.yml - name: Including galera_server_backups
include_tasks: galera_server_backups.yml
when: when:
- galera_mariadb_backups_enabled | bool - galera_mariadb_backups_enabled | bool
- inventory_hostname in galera_mariadb_backups_nodes - inventory_hostname in galera_mariadb_backups_nodes

View File

@ -90,10 +90,10 @@
file: file:
path: "{{ item.path }}" path: "{{ item.path }}"
state: "directory" state: "directory"
owner: "{{ item.owner|default('root') }}" owner: "{{ item.owner | default('root') }}"
group: "{{ item.group|default('root') }}" group: "{{ item.group | default('root') }}"
mode: "{{ item.mode|default('0755') }}" mode: "{{ item.mode | default('0755') }}"
recurse: "{{ item.recurse|default('false') }}" recurse: "{{ item.recurse | default('false') }}"
with_items: with_items:
- { path: "{{ galera_data_dir }}", owner: "mysql", mode: "02755" } - { path: "{{ galera_data_dir }}", owner: "mysql", mode: "02755" }
- { path: "{{ galera_tmp_dir }}", owner: "mysql", mode: "02755" } - { path: "{{ galera_tmp_dir }}", owner: "mysql", mode: "02755" }
@ -175,7 +175,7 @@
state: "link" state: "link"
force: "yes" force: "yes"
- name: remove default mysql_safe_syslog - name: Remove default mysql_safe_syslog
file: file:
path: "/etc/mysql/conf.d/mysqld_safe_syslog.cnf" path: "/etc/mysql/conf.d/mysqld_safe_syslog.cnf"
state: absent state: absent

View File

@ -37,7 +37,8 @@
tags: tags:
- galera_server-upgrade - galera_server-upgrade
- include_tasks: galera_server_upgrade_pre.yml - name: Including galera_server_upgrade_pre
include_tasks: galera_server_upgrade_pre.yml
when: when:
- galera_upgrade | bool - galera_upgrade | bool
args: args:

View File

@ -17,8 +17,8 @@
# a service may not yet exist on the target host. This will # a service may not yet exist on the target host. This will
# cause the service stop task to fail. To cater for this # cause the service stop task to fail. To cater for this
# we only try to stop the service is it exists. # we only try to stop the service is it exists.
- name: Check whether a mysql service exists yet - name: Check whether a mysql service exists yet # noqa command-instead-of-module risky-shell-pipe
shell: systemctl list-unit-files --state=enabled --type=service | grep "^{{ galera_mariadb_service_name }}.service .* enabled$" # noqa command-instead-of-module risky-shell-pipe shell: systemctl list-unit-files --state=enabled --type=service | grep "^{{ galera_mariadb_service_name }}.service .* enabled$"
args: args:
executable: /bin/bash executable: /bin/bash
changed_when: false changed_when: false
@ -42,4 +42,3 @@
state: absent state: absent
with_items: with_items:
- "{{ galera_server_upgrade_packages_remove }}" - "{{ galera_server_upgrade_packages_remove }}"

View File

@ -28,7 +28,8 @@
tags: tags:
- always - always
- include_tasks: galera_client_main.yml - name: Including galera_client_main
include_tasks: galera_client_main.yml
when: when:
- galera_install_client | bool - galera_install_client | bool
- inventory_hostname not in galera_cluster_members or galera_root_user != 'root' - inventory_hostname not in galera_cluster_members or galera_root_user != 'root'
@ -39,7 +40,8 @@
tags: tags:
- always - always
- include_tasks: galera_devel_main.yml - name: Including galera_devel_main
include_tasks: galera_devel_main.yml
when: when:
- galera_install_devel | bool - galera_install_devel | bool
args: args:
@ -49,7 +51,8 @@
tags: tags:
- always - always
- include_tasks: galera_server_main.yml - name: Including galera_server_main
include_tasks: galera_server_main.yml
when: when:
- galera_install_server | bool - galera_install_server | bool
args: args:

View File

@ -73,7 +73,9 @@ galera_debconf_items:
vtype: "string" vtype: "string"
# Repositories # Repositories
_galera_repo_url: "http://{{ galera_repo_host }}/MariaDB/mariadb-{{ galera_major_version }}.{{ galera_minor_version }}/repo/{{ ansible_facts['distribution'] | lower }}" _galera_repo_url: >-
http://{{ galera_repo_host }}/MariaDB/mariadb-{{ galera_major_version }}.{{ galera_minor_version }}/repo/{{ ansible_facts['distribution'] | lower }}
_galera_repo: _galera_repo:
repo: "deb {{ galera_repo_url }} {{ ansible_facts['distribution_release'] }} main" repo: "deb {{ galera_repo_url }} {{ ansible_facts['distribution_release'] }} main"
state: "present" state: "present"