Set threads based on number of cpus

This patch removes hardcode from the following options, and make
them dynamically picked based on number of cpus if not set
explicitly in the model:

 innodb_read_io_threads
 innodb_write_io_threads
 wsrep_slave_threads
 xtrabackup_parallel

Change-Id: I731197689960cfdfed6a4fd930b898172d425b1d
Related-Prod: PROD-24813
diff --git a/galera/map.jinja b/galera/map.jinja
index c9e21cc..0894eb2 100644
--- a/galera/map.jinja
+++ b/galera/map.jinja
@@ -1,10 +1,16 @@
 {% set mysql_version  = pillar.galera.get('version', {}).get('mysql', '5.6') %}
 {% set galera_version = pillar.galera.get('version', {}).get('galera', '3')  %}
 
+{% set threads_default = [grains.num_cpus * 2, 12] | sort | first %}
+
 {%- load_yaml as master %}
   default:
     max_connections: 20000
     innodb_buffer_pool_size: '3138M'
+    innodb_read_io_threads: {{ threads_default }}
+    innodb_write_io_threads: {{ threads_default }}
+    wsrep_slave_threads: {{ threads_default }}
+    xtrabackup_parallel: {{ threads_default }}
   Debian:
     pkgs:
     - mysql-wsrep-{{ mysql_version }}
@@ -51,6 +57,10 @@
   default:
     max_connections: 20000
     innodb_buffer_pool_size: '3138M'
+    innodb_read_io_threads: {{ threads_default }}
+    innodb_write_io_threads: {{ threads_default }}
+    wsrep_slave_threads: {{ threads_default }}
+    xtrabackup_parallel: {{ threads_default }}
   Debian:
     pkgs:
     - mysql-wsrep-{{ mysql_version }}
diff --git a/metadata/service/master/cluster.yml b/metadata/service/master/cluster.yml
index af0bf1c..2cb4f36 100644
--- a/metadata/service/master/cluster.yml
+++ b/metadata/service/master/cluster.yml
@@ -10,10 +10,6 @@
     galera_server_admin_user: root
     galera_max_connections: 20000
     galera_innodb_buffer_pool_size: 3138M
-    galera_innodb_read_io_threads: 8
-    galera_innodb_write_io_threads: 8
-    galera_wsrep_slave_threads: 8
-    galera_xtrabackup_parallel: 4
     galera_error_log_enabled: true
     galera_error_log_path: /var/log/mysql/error.log
   galera:
@@ -36,10 +32,6 @@
         port: 4567
       max_connections: ${_param:galera_max_connections}
       innodb_buffer_pool_size: ${_param:galera_innodb_buffer_pool_size}
-      innodb_read_io_threads: ${_param:galera_innodb_read_io_threads}
-      innodb_write_io_threads: ${_param:galera_innodb_write_io_threads}
-      wsrep_slave_threads: ${_param:galera_wsrep_slave_threads}
-      xtrabackup_parallel: ${_param:galera_xtrabackup_parallel}
       error_log_enabled: ${_param:galera_error_log_enabled}
       error_log_path: ${_param:galera_error_log_path}
   mysql:
diff --git a/metadata/service/master/single.yml b/metadata/service/master/single.yml
index bed28d6..f71fc6e 100644
--- a/metadata/service/master/single.yml
+++ b/metadata/service/master/single.yml
@@ -10,10 +10,6 @@
     galera_server_admin_user: root
     galera_max_connections: 20000
     galera_innodb_buffer_pool_size: 3138M
-    galera_innodb_read_io_threads: 8
-    galera_innodb_write_io_threads: 8
-    galera_wsrep_slave_threads: 8
-    galera_xtrabackup_parallel: 4
     galera_error_log_enabled: true
     galera_error_log_path: /var/log/mysql/error.log
   galera:
@@ -32,10 +28,6 @@
         port: 4567
       max_connections: ${_param:galera_max_connections}
       innodb_buffer_pool_size: ${_param:galera_innodb_buffer_pool_size}
-      innodb_read_io_threads: ${_param:galera_innodb_read_io_threads}
-      innodb_write_io_threads: ${_param:galera_innodb_write_io_threads}
-      wsrep_slave_threads: ${_param:galera_wsrep_slave_threads}
-      xtrabackup_parallel: ${_param:galera_xtrabackup_parallel}
       error_log_enabled: ${_param:galera_error_log_enabled}
       error_log_path: ${_param:galera_error_log_path}
   mysql:
diff --git a/metadata/service/slave/cluster.yml b/metadata/service/slave/cluster.yml
index 49eb6bb..e2140d8 100644
--- a/metadata/service/slave/cluster.yml
+++ b/metadata/service/slave/cluster.yml
@@ -10,10 +10,6 @@
     galera_server_admin_user: root
     galera_max_connections: 20000
     galera_innodb_buffer_pool_size: 3138M
-    galera_innodb_read_io_threads: 8
-    galera_innodb_write_io_threads: 8
-    galera_wsrep_slave_threads: 8
-    galera_xtrabackup_parallel: 4
     galera_error_log_enabled: true
     galera_error_log_path: /var/log/mysql/error.log
   galera:
@@ -36,10 +32,6 @@
         port: 4567
       max_connections: ${_param:galera_max_connections}
       innodb_buffer_pool_size: ${_param:galera_innodb_buffer_pool_size}
-      innodb_read_io_threads: ${_param:galera_innodb_read_io_threads}
-      innodb_write_io_threads: ${_param:galera_innodb_write_io_threads}
-      wsrep_slave_threads: ${_param:galera_wsrep_slave_threads}
-      xtrabackup_parallel: ${_param:galera_xtrabackup_parallel}
       error_log_enabled: ${_param:galera_error_log_enabled}
       error_log_path: ${_param:galera_error_log_path}
   mysql: