aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Stransky <jistr@redhat.com>2015-04-10 11:28:44 +0200
committerDan Prince <dprince@redhat.com>2015-04-10 17:07:02 +0000
commitbafe58c42d2c0c58346fce929cf443c0436b6cd5 (patch)
tree073e59b869a50c92a6752a11f92672fa16b9da55
parentea327280931da20c258cc30a64bd9c57cc0b8ddb (diff)
MariaDB bind on correct address
Despite passing bind-address for MariaDB in overcloud_controller.pp correctly, it was always trying to bind on 0.0.0.0. The problem is caused by Galera's config file (we install Galera into the image even though we don't use it yet). Galera's default config file contains override of the bind-address value to 0.0.0.0, and the setting from galera.cnf took precendence over what was in server.cnf. The mariadb-galera-server package assumes that the main config happens in galera.cnf and it ships an almost empty server.cnf. We now have an EnableGalera param, when it's set to true the mysql module will manage galera.cnf instead of server.cnf, overriding the default values from galera.cnf and fixing the issue. Change-Id: I7c2fd41d41dcf5eb4ee8b1dbd74d60cc2cabeed9 Closes-Bug: #1442256
-rw-r--r--controller.yaml4
-rw-r--r--overcloud-without-mergepy.yaml5
-rw-r--r--puppet/controller-puppet.yaml6
-rw-r--r--puppet/manifests/overcloud_controller.pp7
4 files changed, 22 insertions, 0 deletions
diff --git a/controller.yaml b/controller.yaml
index 33286d19..9c0fa0cd 100644
--- a/controller.yaml
+++ b/controller.yaml
@@ -63,6 +63,10 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ EnableGalera:
+ default: true
+ description: Whether to use Galera instead of regular MariaDB.
+ type: boolean
ExtraConfig:
default: {}
description: |
diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml
index 6172e027..d8c84bc0 100644
--- a/overcloud-without-mergepy.yaml
+++ b/overcloud-without-mergepy.yaml
@@ -259,6 +259,10 @@ parameters:
default: 'br-ex'
description: Interface where virtual ip will be assigned.
type: string
+ EnableGalera:
+ default: true
+ description: Whether to use Galera instead of regular MariaDB.
+ type: boolean
ExtraConfig:
default: {}
description: |
@@ -532,6 +536,7 @@ resources:
ControlVirtualInterface: {get_param: ControlVirtualInterface}
ControllerExtraConfig: {get_param: controllerExtraConfig}
Debug: {get_param: Debug}
+ EnableGalera: {get_param: EnableGalera}
ExtraConfig: {get_param: ExtraConfig}
Flavor: {get_param: OvercloudControlFlavor}
GlancePort: {get_param: GlancePort}
diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml
index 3c299895..780c8cfa 100644
--- a/puppet/controller-puppet.yaml
+++ b/puppet/controller-puppet.yaml
@@ -63,6 +63,10 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ EnableGalera:
+ default: true
+ description: Whether to use Galera instead of regular MariaDB.
+ type: boolean
ExtraConfig:
default: {}
description: |
@@ -507,6 +511,7 @@ resources:
- - 'http://'
- {get_param: VirtualIP}
- ':5000/v2.0/'
+ enable_galera: {get_param: EnableGalera}
mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
mysql_root_password: {get_param: MysqlRootPassword}
mysql_cluster_name:
@@ -717,6 +722,7 @@ resources:
# MySQL
admin_password: {get_input: admin_password}
+ enable_galera: {get_input: enable_galera}
mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
mysql::server::root_password: {get_input: mysql_root_password}
mysql_cluster_name: {get_input: mysql_cluster_name}
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 2b637b37..3e3f2e70 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -39,8 +39,15 @@ if hiera('step') >= 2 {
include ::ntp
}
+ if str2bool(hiera('enable_galera', 'true')) {
+ $mysql_config_file = '/etc/my.cnf.d/galera.cnf'
+ } else {
+ $mysql_config_file = '/etc/my.cnf.d/server.cnf'
+ }
+
# TODO Galara
class { 'mysql::server':
+ config_file => $mysql_config_file,
override_options => {
'mysqld' => {
'bind-address' => hiera('controller_host')