diff options
author | 2015-04-10 11:28:44 +0200 | |
---|---|---|
committer | 2015-04-10 17:07:02 +0000 | |
commit | bafe58c42d2c0c58346fce929cf443c0436b6cd5 (patch) | |
tree | 073e59b869a50c92a6752a11f92672fa16b9da55 | |
parent | ea327280931da20c258cc30a64bd9c57cc0b8ddb (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.yaml | 4 | ||||
-rw-r--r-- | overcloud-without-mergepy.yaml | 5 | ||||
-rw-r--r-- | puppet/controller-puppet.yaml | 6 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller.pp | 7 |
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') |