From 98056ed243f2309e2b1b30a0fdd0baee82116faf Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Mon, 6 Apr 2020 21:29:03 +0300 Subject: [PATCH] Bump MariaDB version to 10.4 Patch aims to use next stable release of MariaDB Remove no_log from functional tests, the only credentials used here are for the purposes of the test and debug output is valuable. Change-Id: Ic4cdc26ddf1cb0591f0a2218355b7cca7af0b0fb --- defaults/main.yml | 7 ++++--- handlers/main.yml | 2 +- tasks/galera_server_main.yml | 1 + tasks/galera_server_post_install.yml | 9 ++++++++- tasks/galera_server_setup.yml | 9 +++------ tasks/galera_server_upgrade_pre.yml | 4 ++-- tasks/main.yml | 1 + tests/test-galera-server-functional.yml | 9 ++++----- vars/debian.yml | 7 ++++--- vars/redhat.yml | 5 ++++- vars/suse.yml | 1 + 11 files changed, 33 insertions(+), 22 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 41bb72ed..ba8b4185 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -41,8 +41,9 @@ galera_mariadb_service_name: mariadb galera_mariadb_server_package: "{{ _galera_mariadb_server_package }}" # The major version used to select the repo URL path -galera_major_version: 10.3 -galera_minor_version: 18 +# NOTE(noonedeadpunk) 10.4.13 seems broken, as it crushed during requests http://paste.openstack.org/show/794059/ +galera_major_version: 10.4 +galera_minor_version: 12 # Set the URL for the MariaDB repository galera_repo_host: "downloads.mariadb.com" @@ -122,7 +123,7 @@ galera_wsrep_node_incoming_address: "{{ galera_wsrep_address }}" galera_wsrep_slave_threads_max: 16 galera_wsrep_slave_threads: "{{ [[ansible_processor_vcpus|default(2), 2] | max, galera_wsrep_slave_threads_max] | min }}" galera_wsrep_retry_autocommit: 3 -galera_wsrep_debug: 0 +galera_wsrep_debug: NONE galera_wsrep_sst_method: mariabackup galera_wsrep_provider_options: - { option: "gcache.size", value: "{{ galera_gcache_size }}" } diff --git a/handlers/main.yml b/handlers/main.yml index 335c86ac..424ff94d 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -50,7 +50,7 @@ - name: Stop mysql service: - name: mysql + name: "{{ galera_mariadb_service_name }}" state: stopped changed_when: true listen: Bootstrap cluster diff --git a/tasks/galera_server_main.yml b/tasks/galera_server_main.yml index a79a76d9..ff907e37 100644 --- a/tasks/galera_server_main.yml +++ b/tasks/galera_server_main.yml @@ -88,5 +88,6 @@ meta: flush_handlers - include_tasks: galera_server_setup.yml + when: inventory_hostname == galera_server_bootstrap_node tags: - galera_server-config diff --git a/tasks/galera_server_post_install.yml b/tasks/galera_server_post_install.yml index 5cea243e..2492591e 100644 --- a/tasks/galera_server_post_install.yml +++ b/tasks/galera_server_post_install.yml @@ -100,10 +100,11 @@ dest: "{{ item.dest }}" owner: "root" group: "root" - mode: "0644" + mode: "{{ item.mode | default('0644') }}" config_overrides: "{{ item.config_overrides }}" config_type: "{{ item.config_type }}" ignore_none_type: False + when: item.condition | default(True) with_items: - src: my.cnf.j2 dest: "{{ galera_etc_conf_file }}" @@ -117,6 +118,12 @@ dest: /etc/mysql/debian.cnf config_overrides: "{{ galera_debian_cnf_overrides }}" config_type: "ini" + condition: "{{ (ansible_os_family | lower == 'debian') }}" + - src: "client.my.cnf.j2" + dest: "/root/.my.cnf" + config_overrides: "{{ galera_client_my_cnf_overrides }}" + config_type: "ini" + mode: "0600" notify: - Manage LB - Restart all mysql diff --git a/tasks/galera_server_setup.yml b/tasks/galera_server_setup.yml index 5aa4417e..7915466b 100644 --- a/tasks/galera_server_setup.yml +++ b/tasks/galera_server_setup.yml @@ -20,6 +20,7 @@ password: "{{ item.password }}" priv: "{{ item.priv }}" state: "{{ item.state }}" + login_unix_socket: "{{ galera_unix_socket }}" with_items: - name: "{{ galera_root_user }}" host: "%" @@ -29,8 +30,8 @@ - name: "{{ galera_root_user }}" host: "localhost" password: "{{ galera_root_password }}" - priv: "*.*:ALL" - state: absent + priv: "*.*:ALL,GRANT" + state: present - name: "{{ galera_monitoring_user }}" host: '%' password: "{{ galera_monitoring_user_password }}" @@ -45,8 +46,6 @@ until: galera_users is success retries: 3 delay: 10 - delegate_to: "{{ galera_server_bootstrap_node }}" - run_once: true no_log: True - name: Run MySQL Upgrade @@ -57,5 +56,3 @@ until: galera_mysql_upgrade is success retries: 3 delay: 10 - delegate_to: "{{ galera_server_bootstrap_node }}" - run_once: true diff --git a/tasks/galera_server_upgrade_pre.yml b/tasks/galera_server_upgrade_pre.yml index 4e3ae23f..329524db 100644 --- a/tasks/galera_server_upgrade_pre.yml +++ b/tasks/galera_server_upgrade_pre.yml @@ -19,7 +19,7 @@ # we only try to stop the service is it exists. - name: Check whether a mysql service exists yet shell: >- - systemctl list-unit-files --state=enabled --type=service | grep "^mysql.service .* enabled$" + systemctl list-unit-files --state=enabled --type=service | grep "^{{ galera_mariadb_service_name }}.service .* enabled$" args: executable: /bin/bash warn: no @@ -29,7 +29,7 @@ - name: Stop MariaDB systemd: - name: mysql + name: "{{ galera_mariadb_service_name }}" state: stopped register: galera_restart_fall_back until: galera_restart_fall_back is success diff --git a/tasks/main.yml b/tasks/main.yml index 1441bc49..3c4df25f 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -27,6 +27,7 @@ - include_tasks: galera_client_main.yml when: - galera_install_client | bool + - inventory_hostname not in galera_cluster_members - include_tasks: galera_server_main.yml when: diff --git a/tests/test-galera-server-functional.yml b/tests/test-galera-server-functional.yml index 6c8bf03b..cec9344a 100644 --- a/tests/test-galera-server-functional.yml +++ b/tests/test-galera-server-functional.yml @@ -57,7 +57,6 @@ --silent \ --skip-column-names register: wsrep_incoming_addresses - no_log: true changed_when: false tags: - skip_ansible_lint @@ -68,7 +67,6 @@ -e "show status like 'wsrep_local_state_comment';" \ --silent \ --skip-column-names - no_log: true register: wsrep_local_state_comment changed_when: false tags: @@ -81,7 +79,6 @@ --silent \ --skip-column-names register: wsrep_evs_state - no_log: true changed_when: false tags: - skip_ansible_lint @@ -101,7 +98,8 @@ name: "OSA-test" state: "present" when: ansible_host == '10.1.0.2' - no_log: true + tags: + - skip_ansible_lint - name: Grant access to the DB on 10.1.0.3 mysql_user: login_user: "{{ galera_root_user }}" @@ -112,10 +110,11 @@ host: "{{ item }}" state: "present" priv: "OSA-test.*:ALL" - no_log: true with_items: - "localhost" - "%" when: ansible_host == '10.1.0.3' + tags: + - skip_ansible_lint vars_files: - common/test-vars.yml diff --git a/vars/debian.yml b/vars/debian.yml index 52a32648..28517e32 100644 --- a/vars/debian.yml +++ b/vars/debian.yml @@ -53,16 +53,15 @@ _galera_mariadb_server_package: "mariadb-server-{{ galera_major_version }}" # mariadb-galera-server and galera. galera_server_mariadb_distro_packages: - libmariadb-dev - - mariadb-client + - mariadb-client-{{ galera_major_version }} - mariadb-backup - "{{ galera_mariadb_server_package }}" - - galera-3 - rsync - socat # The packages to uninstall during an upgrade from a previous version galera_server_upgrade_packages_remove: - - mariadb-server + - mariadb-server-* - mysql-common galera_debconf_items: @@ -86,3 +85,5 @@ galera_wsrep_provider: "/usr/lib/galera/libgalera_smm.so" galera_client_distro_packages: - "mariadb-client-{{ galera_major_version }}" + +galera_unix_socket: "/var/run/mysqld/mysqld.sock" diff --git a/vars/redhat.yml b/vars/redhat.yml index 5436ce1b..ac397f3a 100644 --- a/vars/redhat.yml +++ b/vars/redhat.yml @@ -57,6 +57,7 @@ galera_mariadb_distro_packages_remove: # The packages to uninstall during an upgrade from a previous version galera_server_upgrade_packages_remove: + - galera-* - MariaDB-Galera-server - MariaDB-server @@ -66,7 +67,9 @@ _galera_repo: description: "MariaDB Repo" baseurl: "{{ galera_repo_url }}" -galera_wsrep_provider: "/usr/lib/galera/libgalera_smm.so" +galera_wsrep_provider: "/usr/lib64/galera-4/libgalera_smm.so" galera_client_distro_packages: - MariaDB-client + +galera_unix_socket: "/var/lib/mysql/mysql.sock" diff --git a/vars/suse.yml b/vars/suse.yml index 25a48d7c..e3887886 100644 --- a/vars/suse.yml +++ b/vars/suse.yml @@ -67,6 +67,7 @@ _galera_repo: baseurl: "{{ galera_repo_url }}" galera_wsrep_provider: "/usr/lib64/galera/libgalera_smm.so" +galera_unix_socket: "/var/lib/mysqld/mysqld.sock" mariadb_delete_etc_conf_files: - default_plugins.cnf