summaryrefslogtreecommitdiffstats
path: root/puppet-barometer/manifests/db.pp
diff options
context:
space:
mode:
Diffstat (limited to 'puppet-barometer/manifests/db.pp')
-rw-r--r--puppet-barometer/manifests/db.pp65
1 files changed, 65 insertions, 0 deletions
diff --git a/puppet-barometer/manifests/db.pp b/puppet-barometer/manifests/db.pp
new file mode 100644
index 00000000..83165784
--- /dev/null
+++ b/puppet-barometer/manifests/db.pp
@@ -0,0 +1,65 @@
+# == Class: barometer::db
+#
+# Configure the barometer database
+#
+# === Parameters
+#
+# [*database_connection*]
+# (Optional) Url used to connect to database.
+# Defaults to 'sqlite:////var/lib/barometer/barometer.sqlite'.
+#
+# [*database_idle_timeout*]
+# (Optional) Timeout when db connections should be reaped.
+# Defaults to $::os_service_default
+#
+# [*database_db_max_retries*]
+# (optional) Maximum retries in case of connection error or deadlock error
+# before error is raised. Set to -1 to specify an infinite retry count.
+# Defaults to $::os_service_default
+#
+# [*database_max_retries*]
+# (Optional) Maximum number of database connection retries during startup.
+# Setting -1 implies an infinite retry count.
+# Defaults to $::os_service_default
+#
+# [*database_retry_interval*]
+# (Optional) Interval between retries of opening a database connection.
+# Defaults to $::os_service_default
+#
+# [*database_min_pool_size*]
+# (Optional) Minimum number of SQL connections to keep open in a pool.
+# Defaults to $::os_service_default
+#
+# [*database_max_pool_size*]
+# (Optional)Maximum number of SQL connections to keep open in a pool.
+# Defaults to $::os_service_default
+#
+# [*database_max_overflow*]
+# (Optional) If set, use this value for max_overflow with sqlalchemy.
+# Defaults to $::os_service_default
+#
+class barometer::db (
+ $database_connection = 'sqlite:////var/lib/barometer/barometer.sqlite',
+ $database_idle_timeout = $::os_service_default,
+ $database_min_pool_size = $::os_service_default,
+ $database_max_pool_size = $::os_service_default,
+ $database_db_max_retries = $::os_service_default,
+ $database_max_retries = $::os_service_default,
+ $database_retry_interval = $::os_service_default,
+ $database_max_overflow = $::os_service_default,
+) {
+
+ validate_re($database_connection,
+ '^(sqlite|mysql(\+pymysql)?|postgresql):\/\/(\S+:\S+@\S+\/\S+)?')
+
+ oslo::db { 'barometer_config':
+ connection => $database_connection,
+ idle_timeout => $database_idle_timeout,
+ min_pool_size => $database_min_pool_size,
+ db_max_retries => $database_db_max_retries,
+ max_retries => $database_max_retries,
+ retry_interval => $database_retry_interval,
+ max_pool_size => $database_max_pool_size,
+ max_overflow => $database_max_overflow,
+ }
+}