Deep merge hiera keys for mysqld_options

Currently when adding some tuning options via hiera, galera won't start because
overriding even a single mysql option will reset the whole key in the hash. So
for example, when adding:
    tripleo::profile::base::database::mysql::mysql_server_options:
      mysqld:
        # MySQL InnoDB equally divided in 1GB instances
        innodb_buffer_pool_instances: 2
        # Query network write timeout raised to 120 seconds
        net_write_timeout: 120
        # Query network read timeout raised to 120 seconds
        net_read_timeout: 120
        # MySQL connection timeout set to 8 hours
        connect_timeout: 28800

Things will break because all the wsrep options that are set normally will be
overridden and galera will refuse to start

Tested by passing the above hiera keys and observing the deploy complete
successfully and the settings correctly applied to galera/mysql on the overcloud.

Change-Id: I30f03bc8eb81db0243c137d4af08924adeebc951
Closes-Bug: #1848060
This commit is contained in:
Michele Baldessari 2019-10-14 19:19:51 +02:00
parent 06e901c215
commit 7e78ebdc0f
1 changed files with 1 additions and 1 deletions

View File

@ -258,7 +258,7 @@ class tripleo::profile::pacemaker::database::mysql_bundle (
}
}
$mysqld_options = merge($mysqld_options_mysqld, $mysqld_options_sst, $mysql_server_options)
$mysqld_options = deep_merge($mysqld_options_mysqld, $mysqld_options_sst, $mysql_server_options)
# remove_default_accounts parameter will execute some mysql commands
# to remove the default accounts created by MySQL package.