bf09ce072e2592d04daa54f52a06168ffa922c4a
[armband.git] / 0001-puppet-database-Fix-Percona-XtraBackup-sync.patch
1 From: Dan Andresan <dan.andresan@enea.com>
2 Date: Fri, 20 Jan 2017 17:24:40 +0200
3 Subject: [PATCH] puppet: database: Fix Percona XtraBackup sync
4
5 Recently, Percona released XtraBackup 2.4.5 which considers that SSL
6 is enabled if it finds ssl-ca, ssl-cert, ssl-key set up in my.cnf,
7 even if ssl is set to false in the same config file. Furthermore,
8 it complains that ssl is deprecated on the stdout instead of stderr,
9 corrupting xbstream in the process.
10
11 Because ssl was set to false, this patch delete all other ssl-* keys
12 from the config file, avoiding xtrabackup getting confused.
13
14 See percona xtrabackup bugs here:
15 https://bugs.launchpad.net/percona-xtrabackup/+bug/1646480
16 https://bugs.launchpad.net/percona-xtrabackup/+bug/1647340
17
18 Closes-bug: https://jira.opnfv.org/browse/ARMBAND-197
19
20 Signed-off-by: Dan Andresan <dan.andresan@enea.com>
21 ---
22  .../puppet/osnailyfacter/manifests/database/database.pp    | 14 +++++++++++++-
23  1 file changed, 13 insertions(+), 1 deletion(-)
24
25 diff --git a/deployment/puppet/osnailyfacter/manifests/database/database.pp b/deployment/puppet/osnailyfacter/manifests/database/database.pp
26 index 4fca959..ce406d7 100644
27 --- a/deployment/puppet/osnailyfacter/manifests/database/database.pp
28 +++ b/deployment/puppet/osnailyfacter/manifests/database/database.pp
29 @@ -253,12 +253,24 @@ class osnailyfacter::database::database {
30        package_name => $mysql_package_name,
31      }
32
33 +    # remove ssl - not used and confuse Percona XtraBackup 2.4.5
34 +    # see ARMBAND-197: https://jira.opnfv.org/browse/ARMBAND-197
35 +    $percona_hotfix = {
36 +      'mysqld'                           => {
37 +        'ssl'                            => undef,
38 +        'ssl-ca'                         => undef,
39 +        'ssl-cert'                       => undef,
40 +        'ssl-key'                        => undef
41 +      }
42 +    }
43 +
44      # build our mysql options to be configured in my.cnf
45      $mysql_override_options = mysql_deepmerge(
46        $fuel_override_options,
47        $ignore_db_dir_options,
48        $binary_logs_options,
49 -      $syslog_options
50 +      $syslog_options,
51 +      $percona_hotfix
52      )
53      $galera_options = mysql_deepmerge($wsrep_options, $vendor_override_options)
54      $override_options = mysql_deepmerge($mysql_override_options, $galera_options)