:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : Copyright (c) 2017 Enea AB and others. : : All rights reserved. This program and the accompanying materials : are made available under the terms of the Apache License, Version 2.0 : which accompanies this distribution, and is available at : http://www.apache.org/licenses/LICENSE-2.0 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: From: Dan Andresan Date: Fri, 20 Jan 2017 17:24:40 +0200 Subject: [PATCH] puppet: database: Fix Percona XtraBackup sync Recently, Percona released XtraBackup 2.4.5 which considers that SSL is enabled if it finds ssl-ca, ssl-cert, ssl-key set up in my.cnf, even if ssl is set to false in the same config file. Furthermore, it complains that ssl is deprecated on the stdout instead of stderr, corrupting xbstream in the process. Because ssl was set to false, this patch delete all other ssl-* keys from the config file, avoiding xtrabackup getting confused. See percona xtrabackup bugs here: https://bugs.launchpad.net/percona-xtrabackup/+bug/1646480 https://bugs.launchpad.net/percona-xtrabackup/+bug/1647340 Closes-bug: https://jira.opnfv.org/browse/ARMBAND-197 Signed-off-by: Dan Andresan --- .../puppet/osnailyfacter/manifests/database/database.pp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/deployment/puppet/osnailyfacter/manifests/database/database.pp b/deployment/puppet/osnailyfacter/manifests/database/database.pp index 4fca959..ce406d7 100644 --- a/deployment/puppet/osnailyfacter/manifests/database/database.pp +++ b/deployment/puppet/osnailyfacter/manifests/database/database.pp @@ -253,12 +253,24 @@ class osnailyfacter::database::database { package_name => $mysql_package_name, } + # remove ssl - not used and confuse Percona XtraBackup 2.4.5 + # see ARMBAND-197: https://jira.opnfv.org/browse/ARMBAND-197 + $percona_hotfix = { + 'mysqld' => { + 'ssl' => undef, + 'ssl-ca' => undef, + 'ssl-cert' => undef, + 'ssl-key' => undef + } + } + # build our mysql options to be configured in my.cnf $mysql_override_options = mysql_deepmerge( $fuel_override_options, $ignore_db_dir_options, $binary_logs_options, - $syslog_options + $syslog_options, + $percona_hotfix ) $galera_options = mysql_deepmerge($wsrep_options, $vendor_override_options) $override_options = mysql_deepmerge($mysql_override_options, $galera_options)