diff --git a/README.rst b/README.rst
index a378905..7b24c83 100644
--- a/README.rst
+++ b/README.rst
@@ -80,6 +80,7 @@
                   - all privileges
 
 Additional check params:
+========================
 
 .. code-block:: yaml
 
@@ -92,6 +93,20 @@
         - available_when_readonly: 1
         - port 9200
 
+InnoDB parameters
+=================
+
+- **innodb_buffer_pool_size** - the default value is 35% of the available ram
+
+Usage:
+.. code-block:: yaml
+
+    galera:
+        master:
+          innodb_buffer_pool_size: 1024M
+        slave:
+          innodb_buffer_pool_size: 1024M
+
 
 Usage
 =====
@@ -117,15 +132,15 @@
 
 .. code-block:: bash
 
-    Enter current password for root (enter for none): 
+    Enter current password for root (enter for none):
     OK, successfully used password, moving on...
 
     Setting the root password ensures that nobody can log into the MySQL
     root user without the proper authorisation.
 
     Set root password? [Y/n] y
-    New password: 
-    Re-enter new password: 
+    New password:
+    Re-enter new password:
     Password updated successfully!
     Reloading privilege tables..
      ... Success!
@@ -164,7 +179,7 @@
     Cleaning up...
 
 5. service mysql stop
-6. uncomment all wsrep* lines except first server, where leave only in my.cnf wsrep_cluster_address='gcomm://'; 
+6. uncomment all wsrep* lines except first server, where leave only in my.cnf wsrep_cluster_address='gcomm://';
 7. start first node
 8. Start third node which is connected to first one
 9. Start second node which is connected to third one
diff --git a/galera/files/my.cnf b/galera/files/my.cnf
index 5ceb376..070efcc 100644
--- a/galera/files/my.cnf
+++ b/galera/files/my.cnf
@@ -38,7 +38,12 @@
 
 innodb_file_format=Barracuda
 innodb_file_per_table=1
-innodb_buffer_pool_size=3138M
+{%- if service.innodb_buffer_pool_size is not defined %}
+  {% set buffer_pool_size = '%.0fM'%(grains['mem_total']*0.35) %}
+{%- else %}
+  {% set buffer_pool_size = service.innodb_buffer_pool_size %}
+{%- endif %}
+innodb_buffer_pool_size={{ buffer_pool_size }}
 innodb_log_file_size=627M
 innodb_read_io_threads=8
 innodb_write_io_threads=8
@@ -48,7 +53,6 @@
 innodb_doublewrite=0
 innodb_autoinc_lock_mode=2
 innodb_locks_unsafe_for_binlog=1
-
 wsrep_cluster_address="gcomm://{% for member in service.members %}{{ member.host}}:4567{% if not loop.last %},{% endif %}{% endfor %}/?pc.wait_prim=no"
 wsrep_provider={{ service.wsrep_provider }}
 wsrep_cluster_name="openstack"
diff --git a/galera/master.sls b/galera/master.sls
index 62de076..e1d9e4e 100644
--- a/galera/master.sls
+++ b/galera/master.sls
@@ -105,7 +105,7 @@
   - require:
     - pkg: galera_packages
 
-{%- endif %} 
+{%- endif %}
 
 galera_init_script:
   file.managed:
@@ -168,11 +168,26 @@
   - require:
     - cmd: galera_bootstrap_set_root_password
 
+galera_bootstrap_stop_service_pre:
+  cmd.run:
+  - name: mysqladmin -h localhost -u root -p{{ master.admin.password }} shutdown
+  {%- if not grains.get('noservices', False) %}
+  - ignore_retcode: true
+  - require:
+    - cmd: mysql_bootstrap_update_maint_password
+  {%- else %}
+  - onlyif: /bin/false
+  {%- endif %}
+
 galera_bootstrap_stop_service:
   service.dead:
   - name: {{ master.service }}
+  {%- if not grains.get('noservices', False) %}
   - require:
-    - cmd: mysql_bootstrap_update_maint_password
+    - cmd: galera_bootstrap_stop_service_pre
+  {%- else %}
+  - onlyif: /bin/false
+  {%- endif %}
 
 galera_bootstrap_init_config:
   file.managed:
@@ -180,7 +195,7 @@
   - source: salt://galera/files/my.cnf.init
   - mode: 644
   - template: jinja
-  - require: 
+  - require:
     - service: galera_bootstrap_stop_service
 
 galera_bootstrap_start_service_final:
@@ -209,7 +224,7 @@
   - source: salt://galera/files/my.cnf
   - mode: 644
   - template: jinja
-  - require_in: 
+  - require_in:
     - service: galera_service
 
 galera_service:
diff --git a/galera/meta/grafana.yml b/galera/meta/grafana.yml
index 0334826..778d4cb 100644
--- a/galera/meta/grafana.yml
+++ b/galera/meta/grafana.yml
@@ -8,6 +8,7 @@
     format: json
     template: galera/files/grafana_dashboards/mysql_influxdb.json
   main:
+    datasource: influxdb
     row:
       ost-middleware:
         title: Middleware
diff --git a/galera/meta/prometheus.yml b/galera/meta/prometheus.yml
index 8c50cd0..6187ea1 100644
--- a/galera/meta/prometheus.yml
+++ b/galera/meta/prometheus.yml
@@ -1,6 +1,15 @@
 {% raw %}
 server:
   alert:
+    GaleraServiceDown:
+      if: >-
+        mysql_up != 1
+      labels:
+        severity: warning
+        service: mysql
+      annotations:
+        summary: 'Galera service down'
+        description: 'Galera service is down on node {{ $labels.host }}'
     GaleraNodeNotReady:
       if: 'mysql_wsrep_ready != 1'
       for: 1m
diff --git a/galera/slave.sls b/galera/slave.sls
index 87434a8..9d9f123 100644
--- a/galera/slave.sls
+++ b/galera/slave.sls
@@ -144,7 +144,7 @@
   {%- if grains.get('noservices') %}
   - onlyif: /bin/false
   {%- endif %}
-  - require: 
+  - require:
     - file: galera_run_dir
     - file: galera_init_script
   - timeout: 1800
@@ -167,14 +167,26 @@
   - require:
     - cmd: galera_bootstrap_set_root_password
 
+galera_bootstrap_stop_service_pre:
+  cmd.run:
+  - name: mysqladmin -h localhost -u root -p{{ slave.admin.password }} shutdown
+  {%- if not grains.get('noservices', False) %}
+  - ignore_retcode: true
+  - require:
+    - cmd: mysql_bootstrap_update_maint_password
+  {%- else %}
+  - onlyif: /bin/false
+  {%- endif %}
+
 galera_bootstrap_stop_service:
   service.dead:
   - name: {{ slave.service }}
-  {%- if grains.get('noservices') %}
+  {%- if not grains.get('noservices', False) %}
+  - require:
+    - cmd: galera_bootstrap_stop_service_pre
+  {%- else %}
   - onlyif: /bin/false
   {%- endif %}
-  - require:
-    - cmd: mysql_bootstrap_update_maint_password
 
 galera_bootstrap_init_config:
   file.managed:
@@ -182,7 +194,7 @@
   - source: salt://galera/files/my.cnf
   - mode: 644
   - template: jinja
-  - require: 
+  - require:
     - service: galera_bootstrap_stop_service
 
 galera_bootstrap_start_service_final:
@@ -191,7 +203,7 @@
   {%- if grains.get('noservices') %}
   - onlyif: /bin/false
   {%- endif %}
-  - require: 
+  - require:
     - file: galera_bootstrap_init_config
     - file: galera_bootstrap_script
   - timeout: 1800
@@ -212,7 +224,7 @@
   - source: salt://galera/files/my.cnf
   - mode: 644
   - template: jinja
-  - require_in: 
+  - require_in:
     - service: galera_service
 
 galera_service:
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index fe0d87e..29fb975 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -6,11 +6,13 @@
 CURDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 METADATA=${CURDIR}/../metadata.yml
 FORMULA_NAME=$(cat $METADATA | python -c "import sys,yaml; print yaml.load(sys.stdin)['name']")
+FORMULA_META_DIR=${CURDIR}/../${FORMULA_NAME}/meta
 
 ## Overrideable parameters
 PILLARDIR=${PILLARDIR:-${CURDIR}/pillar}
 BUILDDIR=${BUILDDIR:-${CURDIR}/build}
 VENV_DIR=${VENV_DIR:-${BUILDDIR}/virtualenv}
+MOCK_BIN_DIR=${MOCK_BIN_DIR:-${CURDIR}/mock_bin}
 DEPSDIR=${BUILDDIR}/deps
 
 SALT_FILE_DIR=${SALT_FILE_DIR:-${BUILDDIR}/file_root}
@@ -18,7 +20,7 @@
 SALT_CONFIG_DIR=${SALT_CONFIG_DIR:-${BUILDDIR}/salt}
 SALT_CACHE_DIR=${SALT_CACHE_DIR:-${SALT_CONFIG_DIR}/cache}
 
-SALT_OPTS="${SALT_OPTS} --retcode-passthrough --local -c ${SALT_CONFIG_DIR}"
+SALT_OPTS="${SALT_OPTS} --retcode-passthrough --local -c ${SALT_CONFIG_DIR} --log-file=/dev/null"
 
 if [ "x${SALT_VERSION}" != "x" ]; then
     PIP_SALT_VERSION="==${SALT_VERSION}"
@@ -40,10 +42,20 @@
     pip install salt${PIP_SALT_VERSION}
 }
 
+setup_mock_bin() {
+    # If some state requires a binary, a lightweight replacement for
+    # such binary can be put into MOCK_BIN_DIR for test purposes
+    if [ -d "${MOCK_BIN_DIR}" ]; then
+        PATH="${MOCK_BIN_DIR}:$PATH"
+        export PATH
+    fi
+}
+
 setup_pillar() {
     [ ! -d ${SALT_PILLAR_DIR} ] && mkdir -p ${SALT_PILLAR_DIR}
     echo "base:" > ${SALT_PILLAR_DIR}/top.sls
     for pillar in ${PILLARDIR}/*; do
+        grep ${FORMULA_NAME}: ${pillar} &>/dev/null || continue
         state_name=$(basename ${pillar%.sls})
         echo -e "  ${state_name}:\n    - ${state_name}" >> ${SALT_PILLAR_DIR}/top.sls
     done
@@ -56,6 +68,7 @@
 
     echo "base:" > ${SALT_FILE_DIR}/top.sls
     for pillar in ${PILLARDIR}/*.sls; do
+        grep ${FORMULA_NAME}: ${pillar} &>/dev/null || continue
         state_name=$(basename ${pillar%.sls})
         echo -e "  ${state_name}:\n    - ${FORMULA_NAME}" >> ${SALT_FILE_DIR}/top.sls
     done
@@ -64,6 +77,7 @@
 file_client: local
 cachedir: ${SALT_CACHE_DIR}
 verify_env: False
+minion_id_caching: False
 
 file_roots:
   base:
@@ -118,6 +132,7 @@
     [ -d ${BUILDDIR} ] && mkdir -p ${BUILDDIR}
 
     which salt-call || setup_virtualenv
+    setup_mock_bin
     setup_pillar
     setup_salt
     install_dependencies
@@ -125,9 +140,28 @@
 
 run() {
     for pillar in ${PILLARDIR}/*.sls; do
+        grep ${FORMULA_NAME}: ${pillar} &>/dev/null || continue
         state_name=$(basename ${pillar%.sls})
         salt_run grains.set 'noservices' False force=True
+
+        echo "Checking state ${FORMULA_NAME}.${state_name} ..."
         salt_run --id=${state_name} state.show_sls ${FORMULA_NAME} || (log_err "Execution of ${FORMULA_NAME}.${state_name} failed"; exit 1)
+
+        # Check that all files in 'meta' folder can be rendered using any valid pillar
+        for meta in `find ${FORMULA_META_DIR} -type f`; do
+            meta_name=$(basename ${meta})
+            echo "Checking meta ${meta_name} ..."
+            salt_run --out=quiet --id=${state_name} cp.get_template ${meta} ${SALT_CACHE_DIR}/${meta_name} \
+              || (log_err "Failed to render meta ${meta} using pillar ${FORMULA_NAME}.${state_name}"; exit 1)
+            cat ${SALT_CACHE_DIR}/${meta_name}
+        done
+    done
+}
+
+real_run() {
+    for pillar in ${PILLARDIR}/*.sls; do
+        state_name=$(basename ${pillar%.sls})
+        salt_run --id=${state_name} state.sls ${FORMULA_NAME} || (log_err "Execution of ${FORMULA_NAME}.${state_name} failed"; exit 1)
     done
 }
 
@@ -156,6 +190,9 @@
     run)
         run
         ;;
+    real-run)
+        real_run
+        ;;
     *)
         prepare
         run
