Enable innodb_buffer_pool_size configuration
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 2 Aug 2017 14:38:45 +0000 (10:38 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 3 Aug 2017 16:03:21 +0000 (12:03 -0400)
Adds a hiera-enabled setting for mysql.pp to
allow configuration of innodb_buffer_pool_size, a key
configurational element for MySQL performance tuning.

Change-Id: Iabdcb6f76510becb98cba35c95db550ffce44ff3
Closes-bug: #1704978

manifests/profile/base/database/mysql.pp
releasenotes/notes/innodb_buffer_pool_size-6fa946cf008a4606.yaml [new file with mode: 0644]

index 3bf41cf..7e7d68b 100644 (file)
 #   limit for the mysql service.
 #   Defaults to false
 #
+# [*innodb_buffer_pool_size*]
+#   (Optional) Configure the size of the MySQL buffer pool.
+#   Defaults to hiera('innodb_buffer_pool_size', undef)
+#
 # [*manage_resources*]
 #   (Optional) Whether or not manage root user, root my.cnf, and service.
 #   Defaults to true
@@ -76,6 +80,7 @@ class tripleo::profile::base::database::mysql (
   $certificate_specs             = {},
   $enable_internal_tls           = hiera('enable_internal_tls', false),
   $generate_dropin_file_limit    = false,
+  $innodb_buffer_pool_size       = hiera('innodb_buffer_pool_size', undef),
   $manage_resources              = true,
   $mysql_server_options          = {},
   $mysql_max_connections         = hiera('mysql_max_connections', undef),
@@ -123,14 +128,15 @@ class tripleo::profile::base::database::mysql (
     # MysqlNetwork and ControllerHostnameResolveNetwork in ServiceNetMap
     $mysql_server_default = {
       'mysqld' => {
-        'bind-address'          => $bind_address,
-        'max_connections'       => $mysql_max_connections,
-        'open_files_limit'      => '-1',
-        'innodb_file_per_table' => 'ON',
-        'ssl'                   => $enable_internal_tls,
-        'ssl-key'               => $tls_keyfile,
-        'ssl-cert'              => $tls_certfile,
-        'ssl-ca'                => undef,
+        'bind-address'            => $bind_address,
+        'max_connections'         => $mysql_max_connections,
+        'open_files_limit'        => '-1',
+        'innodb_buffer_pool_size' => $innodb_buffer_pool_size,
+        'innodb_file_per_table'   => 'ON',
+        'ssl'                     => $enable_internal_tls,
+        'ssl-key'                 => $tls_keyfile,
+        'ssl-cert'                => $tls_certfile,
+        'ssl-ca'                  => undef,
       }
     }
     $mysql_server_options_real = deep_merge($mysql_server_default, $mysql_server_options)
diff --git a/releasenotes/notes/innodb_buffer_pool_size-6fa946cf008a4606.yaml b/releasenotes/notes/innodb_buffer_pool_size-6fa946cf008a4606.yaml
new file mode 100644 (file)
index 0000000..b4663eb
--- /dev/null
@@ -0,0 +1,4 @@
+---
+features:
+  - |
+    Enable innodb_buffer_pool_size configuration for all MySQL databases.