Puppet Class: gnocchi::db
- Inherits:
- gnocchi::params
- Defined in:
- manifests/db.pp
Overview
Class: gnocchi::db
Configure the Gnocchi database
Parameters
- database_connection
-
Url used to connect to database. (Optional) Defaults to ‘sqlite:////var/lib/gnocchi/gnocchi.sqlite’.
- package_ensure
-
(optional) The state of gnocchi packages Defaults to ‘present’
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'manifests/db.pp', line 15
class gnocchi::db (
$database_connection = 'sqlite:////var/lib/gnocchi/gnocchi.sqlite',
$package_ensure = 'present',
) inherits gnocchi::params {
include gnocchi::deps
# NOTE(spredzy): In order to keep backward compatibility we rely on the pick function
# to use gnocchi::<myparam> if gnocchi::db::<myparam> isn't specified.
$database_connection_real = pick($::gnocchi::database_connection, $database_connection)
validate_legacy(Oslo::Dbconn, 'validate_re', $database_connection_real,
['^(sqlite|mysql(\+pymysql)?|postgresql):\/\/(\S+:\S+@\S+\/\S+)?'])
if $database_connection_real {
case $database_connection_real {
/^mysql(\+pymysql)?:\/\//: {
require '::mysql::bindings'
require '::mysql::bindings::python'
if $database_connection_real =~ /^mysql\+pymysql/ {
$backend_package = $::gnocchi::params::pymysql_package_name
} else {
$backend_package = false
}
}
/^postgresql:\/\//: {
$backend_package = false
require '::postgresql::lib::python'
}
/^sqlite:\/\//: {
$backend_package = $::gnocchi::params::sqlite_package_name
}
default: {
fail('Unsupported backend configured')
}
}
if $backend_package and !defined(Package[$backend_package]) {
package {'gnocchi-backend-package':
ensure => present,
name => $backend_package,
tag => 'openstack',
}
}
gnocchi_config {
'indexer/url': value => $database_connection_real, secret => true;
}
# NOTE(tobasco): gnocchi-indexer-sqlalchemy not packaged in Ubuntu for Queens release.
if $::osfamily != 'Debian' {
package { 'gnocchi-indexer-sqlalchemy':
ensure => $package_ensure,
name => $::gnocchi::params::indexer_package_name,
tag => ['openstack', 'gnocchi-package'],
}
}
}
}
|