summaryrefslogtreecommitdiffstats
path: root/patches/fuel-library/0001-puppet-database-Fix-Percona-XtraBackup-sync.patch
blob: bf09ce072e2592d04daa54f52a06168ffa922c4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
From: Dan Andresan <dan.andresan@enea.com>
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 <dan.andresan@enea.com>
---
 .../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)