From dd63bdbeecfe9a9f9488ac742ba55c14362df834 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Thu, 29 Mar 2012 11:37:29 +0200
Subject: [PATCH] Jinja2-ify instance-mariadb.cfg .

---
 software/erp5/instance-mariadb.cfg    | 172 --------------------------
 software/erp5/instance-mariadb.cfg.in | 172 ++++++++++++++++++++++++++
 software/erp5/instance.cfg            |   2 +-
 software/erp5/software.cfg            |  20 ++-
 4 files changed, 188 insertions(+), 178 deletions(-)
 delete mode 100644 software/erp5/instance-mariadb.cfg
 create mode 100644 software/erp5/instance-mariadb.cfg.in

diff --git a/software/erp5/instance-mariadb.cfg b/software/erp5/instance-mariadb.cfg
deleted file mode 100644
index dc0ea8c56..000000000
--- a/software/erp5/instance-mariadb.cfg
+++ /dev/null
@@ -1,172 +0,0 @@
-[buildout]
-parts =
-  publish-mariadb-url
-  mariadb-instance
-  logrotate
-  logrotate-entry-mariadb
-  cron
-  cron-entry-logrotate
-  cron-entry-mariadb-backup
-  binary-link
-
-eggs-directory = ${buildout:eggs-directory}
-develop-eggs-directory = ${buildout:develop-eggs-directory}
-offline = true
-
-[publish-mariadb-url]
-recipe = slapos.cookbook:publishurl
-url = mysql://$${mariadb-instance:user}:$${mariadb-instance:password}@$${mariadb-instance:ip}:$${mariadb-instance:port}/$${mariadb-instance:database}
-
-[cron-entry-mariadb-backup]
-<= cron
-recipe = slapos.cookbook:cron.d
-name = mariadb-backup
-frequency = 0 0 * * *
-command = $${mariadb-instance:backup-script}
-
-[mariadb-instance]
-recipe = slapos.cookbook:generic.mysql
-
-# Options
-user = user
-parallel-test-database-amount = 100
-port = 45678
-ip = $${slap-network-information:local-ipv4}
-database = erp5
-test-user = erp5_test
-test-database = erp5_test
-mysql-test-database-base = testdb
-mysql-test-user-base = testuser
-
-# Paths
-wrapper = $${basedirectory:services}/mariadb
-update-wrapper = $${basedirectory:services}/mariadb_update
-backup-script = $${rootdirectory:bin}/innobackupex-controller
-full-backup-directory = $${directory:mariadb-backup-full}
-incremental-backup-directory = $${directory:mariadb-backup-incremental}
-data-directory = $${directory:mariadb-data}
-pid-file = $${basedirectory:run}/mariadb.pid
-socket = $${basedirectory:run}/mariadb.sock
-error-log = $${basedirectory:log}/mariadb_error.log
-slow-query-log = $${basedirectory:log}/mariadb_slowquery.log
-conf-file = $${rootdirectory:etc}/mariadb.cnf
-bin-directory = $${rootdirectory:bin}
-innobackupex-incremental = $${rootdirectory:bin}/innobackupex-incremental
-innobackupex-full = $${rootdirectory:bin}/innobackupex-full
-
-# Binary information
-innobackupex-binary = ${xtrabackup:location}/bin/innobackupex
-mysql-binary = ${mariadb:location}/bin/mysql
-mysql-install-binary = ${mariadb:location}/bin/mysql_install_db
-mysql-upgrade-binary = ${mariadb:location}/bin/mysql_upgrade
-mysqld-binary = ${mariadb:location}/libexec/mysqld
-pt-archiver-binary = ${perl:siteprefix}/bin/pt-archiver
-pt-config-diff-binary = ${perl:siteprefix}/bin/pt-config-diff
-pt-deadlock-logger-binary = ${perl:siteprefix}/bin/pt-deadlock-logger
-pt-duplicate-key-checker-binary = ${perl:siteprefix}/bin/pt-duplicate-key-checker
-pt-fifo-split-binary = ${perl:siteprefix}/bin/pt-fifo-split
-pt-find-binary = ${perl:siteprefix}/bin/pt-find
-pt-fk-error-logger-binary = ${perl:siteprefix}/bin/pt-fk-error-logger
-pt-heartbeat-binary = ${perl:siteprefix}/bin/pt-heartbeat
-pt-index-usage-binary = ${perl:siteprefix}/bin/pt-index-usage
-pt-kill-binary = ${perl:siteprefix}/bin/pt-kill
-pt-log-player-binary = ${perl:siteprefix}/bin/pt-log-player
-pt-online-schema-change-binary = ${perl:siteprefix}/bin/pt-online-schema-change
-pt-query-advisor-binary = ${perl:siteprefix}/bin/pt-query-advisor
-pt-query-digest-binary = ${perl:siteprefix}/bin/pt-query-digest
-pt-show-grants-binary = ${perl:siteprefix}/bin/pt-show-grants
-pt-slave-delay-binary = ${perl:siteprefix}/bin/pt-slave-delay
-pt-slave-find-binary = ${perl:siteprefix}/bin/pt-slave-find
-pt-slave-restart-binary = ${perl:siteprefix}/bin/pt-slave-restart
-pt-table-checksum-binary = ${perl:siteprefix}/bin/pt-table-checksum
-pt-table-sync-binary = ${perl:siteprefix}/bin/pt-table-sync
-pt-tcp-model-binary = ${perl:siteprefix}/bin/pt-tcp-model
-pt-trend-binary = ${perl:siteprefix}/bin/pt-trend
-pt-upgrade-binary = ${perl:siteprefix}/bin/pt-upgrade
-pt-variable-advisor-binary = ${perl:siteprefix}/bin/pt-variable-advisor
-pt-visual-explain-binary = ${perl:siteprefix}/bin/pt-visual-explain
-xtrabackup-binary = ${xtrabackup:location}/bin/xtrabackup_51
-perl-binary = ${perl:location}/bin/perl
-
-[logrotate]
-recipe = slapos.cookbook:logrotate
-# Binaries
-logrotate-binary = ${logrotate:location}/usr/sbin/logrotate
-gzip-binary = ${gzip:location}/bin/gzip
-gunzip-binary = ${gzip:location}/bin/gunzip
-# Directories
-wrapper = $${rootdirectory:bin}/logrotate
-conf = $${rootdirectory:etc}/logrotate.conf
-logrotate-entries = $${directory:logrotate-entries}
-backup = $${directory:logrotate-backup}
-state-file = $${rootdirectory:srv}/logrotate.status
-
-[logrotate-entry-mariadb]
-<= logrotate
-recipe = slapos.cookbook:logrotate.d
-name = mariadb
-log = $${mariadb-instance:error-log} $${mariadb-instance:slow-query-log}
-post = $${mariadb-instance:mysql-binary} --no-defaults -B --socket=$${mariadb-instance:socket} -e "FLUSH LOGS"
-
-[cron]
-recipe = slapos.cookbook:cron
-dcrond-binary = ${dcron:location}/sbin/crond
-cron-entries = $${directory:cron-entries}
-crontabs = $${directory:crontabs}
-cronstamps = $${directory:cronstamps}
-catcher = $${cron-simplelogger:wrapper}
-binary = $${basedirectory:services}/crond
-
-[cron-simplelogger]
-recipe = slapos.cookbook:simplelogger
-wrapper = $${rootdirectory:bin}/cron_simplelogger
-log = $${basedirectory:log}/cron.log
-
-[cron-entry-logrotate]
-<= cron
-recipe = slapos.cookbook:cron.d
-name = logrotate
-frequency = 0 0 * * *
-command = $${logrotate:wrapper}
-
-[binary-link]
-recipe = slapos.cookbook:symbolic.link
-target-directory = $${rootdirectory:bin}
-link-binary = 
-  ${coreutils:location}/bin/basename
-  ${coreutils:location}/bin/cat
-  ${coreutils:location}/bin/cp
-  ${coreutils:location}/bin/ls
-  ${coreutils:location}/bin/tr
-  ${coreutils:location}/bin/uname
-  ${gettext:location}/lib/gettext/hostname
-  ${grep:location}/bin/grep
-  ${sed:location}/bin/sed
-  ${mariadb:location}/bin/mysql
-
-[rootdirectory]
-recipe = slapos.cookbook:mkdirectory
-etc = $${buildout:directory}/etc
-var = $${buildout:directory}/var
-srv = $${buildout:directory}/srv
-bin = $${buildout:directory}/bin
-
-[basedirectory]
-recipe = slapos.cookbook:mkdirectory
-log = $${rootdirectory:var}/log
-services = $${rootdirectory:etc}/run
-run = $${rootdirectory:var}/run
-backup = $${rootdirectory:srv}/backup
-
-[directory]
-recipe = slapos.cookbook:mkdirectory
-cron-entries = $${rootdirectory:etc}/cron.d
-crontabs = $${rootdirectory:etc}/crontabs
-cronstamps = $${rootdirectory:etc}/cronstamps
-ca-dir = $${rootdirectory:srv}/ssl
-mariadb-backup-full = $${basedirectory:backup}/mariadb-full
-mariadb-backup-incremental = $${basedirectory:backup}/mariadb-incremental
-mariadb-data = $${rootdirectory:srv}/mariadb
-logrotate-backup = $${basedirectory:backup}/logrotate
-logrotate-entries = $${rootdirectory:etc}/logrotate.d
-
diff --git a/software/erp5/instance-mariadb.cfg.in b/software/erp5/instance-mariadb.cfg.in
new file mode 100644
index 000000000..016947092
--- /dev/null
+++ b/software/erp5/instance-mariadb.cfg.in
@@ -0,0 +1,172 @@
+[buildout]
+parts =
+  publish-mariadb-url
+  mariadb-instance
+  logrotate
+  logrotate-entry-mariadb
+  cron
+  cron-entry-logrotate
+  cron-entry-mariadb-backup
+  binary-link
+
+eggs-directory = {{ eggs_directory }}
+develop-eggs-directory = {{ develop_eggs_directory }}
+offline = true
+
+[publish-mariadb-url]
+recipe = slapos.cookbook:publishurl
+url = mysql://${mariadb-instance:user}:${mariadb-instance:password}@${mariadb-instance:ip}:${mariadb-instance:port}/${mariadb-instance:database}
+
+[cron-entry-mariadb-backup]
+<= cron
+recipe = slapos.cookbook:cron.d
+name = mariadb-backup
+frequency = 0 0 * * *
+command = ${mariadb-instance:backup-script}
+
+[mariadb-instance]
+recipe = slapos.cookbook:generic.mysql
+
+# Options
+user = user
+parallel-test-database-amount = 100
+port = 45678
+ip = ${slap-network-information:local-ipv4}
+database = erp5
+test-user = erp5_test
+test-database = erp5_test
+mysql-test-database-base = testdb
+mysql-test-user-base = testuser
+
+# Paths
+wrapper = ${basedirectory:services}/mariadb
+update-wrapper = ${basedirectory:services}/mariadb_update
+backup-script = ${rootdirectory:bin}/innobackupex-controller
+full-backup-directory = ${directory:mariadb-backup-full}
+incremental-backup-directory = ${directory:mariadb-backup-incremental}
+data-directory = ${directory:mariadb-data}
+pid-file = ${basedirectory:run}/mariadb.pid
+socket = ${basedirectory:run}/mariadb.sock
+error-log = ${basedirectory:log}/mariadb_error.log
+slow-query-log = ${basedirectory:log}/mariadb_slowquery.log
+conf-file = ${rootdirectory:etc}/mariadb.cnf
+bin-directory = ${rootdirectory:bin}
+innobackupex-incremental = ${rootdirectory:bin}/innobackupex-incremental
+innobackupex-full = ${rootdirectory:bin}/innobackupex-full
+
+# Binary information
+innobackupex-binary = {{ xtrabackup_location }}/bin/innobackupex
+mysql-binary = {{ mariadb_location }}/bin/mysql
+mysql-install-binary = {{ mariadb_location }}/bin/mysql_install_db
+mysql-upgrade-binary = {{ mariadb_location }}/bin/mysql_upgrade
+mysqld-binary = {{ mariadb_location }}/libexec/mysqld
+pt-archiver-binary = {{ perl_siteprefix }}/bin/pt-archiver
+pt-config-diff-binary = {{ perl_siteprefix }}/bin/pt-config-diff
+pt-deadlock-logger-binary = {{ perl_siteprefix }}/bin/pt-deadlock-logger
+pt-duplicate-key-checker-binary = {{ perl_siteprefix }}/bin/pt-duplicate-key-checker
+pt-fifo-split-binary = {{ perl_siteprefix }}/bin/pt-fifo-split
+pt-find-binary = {{ perl_siteprefix }}/bin/pt-find
+pt-fk-error-logger-binary = {{ perl_siteprefix }}/bin/pt-fk-error-logger
+pt-heartbeat-binary = {{ perl_siteprefix }}/bin/pt-heartbeat
+pt-index-usage-binary = {{ perl_siteprefix }}/bin/pt-index-usage
+pt-kill-binary = {{ perl_siteprefix }}/bin/pt-kill
+pt-log-player-binary = {{ perl_siteprefix }}/bin/pt-log-player
+pt-online-schema-change-binary = {{ perl_siteprefix }}/bin/pt-online-schema-change
+pt-query-advisor-binary = {{ perl_siteprefix }}/bin/pt-query-advisor
+pt-query-digest-binary = {{ perl_siteprefix }}/bin/pt-query-digest
+pt-show-grants-binary = {{ perl_siteprefix }}/bin/pt-show-grants
+pt-slave-delay-binary = {{ perl_siteprefix }}/bin/pt-slave-delay
+pt-slave-find-binary = {{ perl_siteprefix }}/bin/pt-slave-find
+pt-slave-restart-binary = {{ perl_siteprefix }}/bin/pt-slave-restart
+pt-table-checksum-binary = {{ perl_siteprefix }}/bin/pt-table-checksum
+pt-table-sync-binary = {{ perl_siteprefix }}/bin/pt-table-sync
+pt-tcp-model-binary = {{ perl_siteprefix }}/bin/pt-tcp-model
+pt-trend-binary = {{ perl_siteprefix }}/bin/pt-trend
+pt-upgrade-binary = {{ perl_siteprefix }}/bin/pt-upgrade
+pt-variable-advisor-binary = {{ perl_siteprefix }}/bin/pt-variable-advisor
+pt-visual-explain-binary = {{ perl_siteprefix }}/bin/pt-visual-explain
+xtrabackup-binary = {{ xtrabackup_location }}/bin/xtrabackup_51
+perl-binary = {{ perl_location }}/bin/perl
+
+[logrotate]
+recipe = slapos.cookbook:logrotate
+# Binaries
+logrotate-binary = {{ logrotate_location }}/usr/sbin/logrotate
+gzip-binary = {{ gzip_location }}/bin/gzip
+gunzip-binary = {{ gzip_location }}/bin/gunzip
+# Directories
+wrapper = ${rootdirectory:bin}/logrotate
+conf = ${rootdirectory:etc}/logrotate.conf
+logrotate-entries = ${directory:logrotate-entries}
+backup = ${directory:logrotate-backup}
+state-file = ${rootdirectory:srv}/logrotate.status
+
+[logrotate-entry-mariadb]
+<= logrotate
+recipe = slapos.cookbook:logrotate.d
+name = mariadb
+log = ${mariadb-instance:error-log} ${mariadb-instance:slow-query-log}
+post = ${mariadb-instance:mysql-binary} --no-defaults -B --socket=${mariadb-instance:socket} -e "FLUSH LOGS"
+
+[cron]
+recipe = slapos.cookbook:cron
+dcrond-binary = {{ dcron_location }}/sbin/crond
+cron-entries = ${directory:cron-entries}
+crontabs = ${directory:crontabs}
+cronstamps = ${directory:cronstamps}
+catcher = ${cron-simplelogger:wrapper}
+binary = ${basedirectory:services}/crond
+
+[cron-simplelogger]
+recipe = slapos.cookbook:simplelogger
+wrapper = ${rootdirectory:bin}/cron_simplelogger
+log = ${basedirectory:log}/cron.log
+
+[cron-entry-logrotate]
+<= cron
+recipe = slapos.cookbook:cron.d
+name = logrotate
+frequency = 0 0 * * *
+command = ${logrotate:wrapper}
+
+[binary-link]
+recipe = slapos.cookbook:symbolic.link
+target-directory = ${rootdirectory:bin}
+link-binary = 
+  {{ coreutils_location }}/bin/basename
+  {{ coreutils_location }}/bin/cat
+  {{ coreutils_location }}/bin/cp
+  {{ coreutils_location }}/bin/ls
+  {{ coreutils_location }}/bin/tr
+  {{ coreutils_location }}/bin/uname
+  {{ gettext_location }}/lib/gettext/hostname
+  {{ grep_location }}/bin/grep
+  {{ sed_location }}/bin/sed
+  {{ mariadb_location }}/bin/mysql
+
+[rootdirectory]
+recipe = slapos.cookbook:mkdirectory
+etc = ${buildout:directory}/etc
+var = ${buildout:directory}/var
+srv = ${buildout:directory}/srv
+bin = ${buildout:directory}/bin
+
+[basedirectory]
+recipe = slapos.cookbook:mkdirectory
+log = ${rootdirectory:var}/log
+services = ${rootdirectory:etc}/run
+run = ${rootdirectory:var}/run
+backup = ${rootdirectory:srv}/backup
+
+[directory]
+recipe = slapos.cookbook:mkdirectory
+cron-entries = ${rootdirectory:etc}/cron.d
+crontabs = ${rootdirectory:etc}/crontabs
+cronstamps = ${rootdirectory:etc}/cronstamps
+ca-dir = ${rootdirectory:srv}/ssl
+mariadb-backup-full = ${basedirectory:backup}/mariadb-full
+mariadb-backup-incremental = ${basedirectory:backup}/mariadb-incremental
+mariadb-data = ${rootdirectory:srv}/mariadb
+logrotate-backup = ${basedirectory:backup}/logrotate
+logrotate-entries = ${rootdirectory:etc}/logrotate.d
+
diff --git a/software/erp5/instance.cfg b/software/erp5/instance.cfg
index 6dfd2d274..f2210f1f0 100644
--- a/software/erp5/instance.cfg
+++ b/software/erp5/instance.cfg
@@ -30,7 +30,7 @@ kumofs = ${template-kumofs:output}
 memcached = ${template-memcached:rendered}
 cloudooo = $${dynamic-template-cloudooo:output}
 zope = ${template-zope:output}
-mariadb = ${template-mariadb:output}
+mariadb = ${template-mariadb:rendered}
 sphinx = ${template-sphinx:output}
 tidstorage = $${dynamic-template-tidstorage:output}
 varnish = ${template-varnish:rendered}
diff --git a/software/erp5/software.cfg b/software/erp5/software.cfg
index d3f4783fa..5789519bb 100644
--- a/software/erp5/software.cfg
+++ b/software/erp5/software.cfg
@@ -56,11 +56,21 @@ context =
     ${:extra-context}
 
 [template-mariadb]
-recipe = slapos.recipe.template
-url = ${:_profile_base_location_}/instance-mariadb.cfg
-md5sum = 0fde9038bf012ab4a8d628e1be3ed613
-output = ${buildout:directory}/template-mariadb.cfg
-mode = 0644
+< = template-jinja2-base
+filename = instance-mariadb.cfg
+md5sum = c6c7998cc3371c27d3bf633129117af0
+extra-context =
+    key coreutils_location coreutils:location
+    key dcron_location dcron:location
+    key gettext_location gettext:location
+    key grep_location grep:location
+    key gzip_location gzip:location
+    key logrotate_location logrotate:location
+    key mariadb_location mariadb:location
+    key perl_location perl:location
+    key perl_siteprefix perl:siteprefix
+    key sed_location sed:location
+    key xtrabackup_location xtrabackup:location
 
 [template-sphinx]
 recipe = slapos.recipe.template
-- 
2.30.9