# This is set by t-h-t.
# Defaults to hiera('gnocchi_api_network', undef)
#
+# [*gnocchi_redis_password*]
+# (Required) Password for the gnocchi redis user for the coordination url
+# Defaults to hiera('gnocchi_redis_password')
+#
+# [*redis_vip*]
+# (Required) Redis ip address for the coordination url
+# Defaults to hiera('redis_vip')
+#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
$generate_service_certificates = hiera('generate_service_certificates', false),
$gnocchi_backend = downcase(hiera('gnocchi_backend', 'swift')),
$gnocchi_network = hiera('gnocchi_api_network', undef),
+ $gnocchi_redis_password = hiera('gnocchi_redis_password'),
+ $redis_vip = hiera('redis_vip'),
$step = hiera('step'),
) {
if $::hostname == downcase($bootstrap_node) {
if $step >= 4 {
class { '::gnocchi::storage':
- coordination_url => join(['redis://:', hiera('gnocchi_redis_password'), '@', normalize_ip_for_uri(hiera('redis_vip')), ':6379/']),
+ coordination_url => join(['redis://:', $gnocchi_redis_password, '@', normalize_ip_for_uri($redis_vip), ':6379/']),
}
case $gnocchi_backend {
'swift': { include ::gnocchi::storage::swift }
end
context 'with step less than 3' do
- let(:params) { { :step => 2 } }
+ let(:params) { {
+ :step => 2,
+ :gnocchi_redis_password => 'gnocchi',
+ :redis_vip => '127.0.0.1'
+ } }
it {
is_expected.to contain_class('tripleo::profile::base::gnocchi::api')
let(:params) { {
:step => 3,
:bootstrap_node => 'node.example.com',
+ :gnocchi_redis_password => 'gnocchi',
+ :redis_vip => '127.0.0.1'
} }
it {
context 'with step 3' do
let(:params) { {
:step => 3,
+ :gnocchi_redis_password => 'gnocchi',
+ :redis_vip => '127.0.0.1'
} }
it {
}
end
- # TODO(aschultz): fix profile class to not include hiera look ups in the
- # step 4 so we can properly test it
- #context 'with step 4' do
- # let(:params) { {
- # :step => 4,
- # } }
- #
- # it {
- # is_expected.to contain_class('gnocchi::api')
- # is_expected.to contain_class('gnocchi::wsgi::apache')
- # is_expected.to contain_class('gnocchi::storage')
- # }
- #end
- #
- #context 'with step 5 on bootstrap' do
- # let(:params) { {
- # :step => 5,
- # :bootstrap_node => 'node.example.com'
- # } }
- #
- # it {
- # is_expected.to contain_class('gnocchi::api')
- # is_expected.to contain_class('gnocchi::wsgi::apache')
- # is_expected.to contain_exec('run gnocchi upgrade with storage').with(
- # :command => 'gnocchi-upgrade --config-file=/etc/gnocchi/gnocchi.conf',
- # :path => ['/usr/bin', '/usr/sbin']
- # )
- # }
- #end
+ context 'with step 4' do
+ let(:params) { {
+ :step => 4,
+ :gnocchi_redis_password => 'gnocchi',
+ :redis_vip => '127.0.0.1'
+ } }
+
+ it {
+ is_expected.to contain_class('gnocchi::api')
+ is_expected.to contain_class('gnocchi::wsgi::apache')
+ is_expected.to contain_class('gnocchi::storage').with(
+ :coordination_url => 'redis://:gnocchi@127.0.0.1:6379/'
+ )
+ is_expected.to contain_class('gnocchi::storage::swift')
+ }
+ end
+
+ context 'with step 4 with file backend' do
+ let(:params) { {
+ :step => 4,
+ :gnocchi_backend => 'file',
+ :gnocchi_redis_password => 'gnocchi',
+ :redis_vip => '127.0.0.1'
+ } }
+
+ it {
+ is_expected.to contain_class('gnocchi::api')
+ is_expected.to contain_class('gnocchi::wsgi::apache')
+ is_expected.to contain_class('gnocchi::storage').with(
+ :coordination_url => 'redis://:gnocchi@127.0.0.1:6379/'
+ )
+ is_expected.to contain_class('gnocchi::storage::file')
+ }
+ end
+
+ context 'with step 4 with ceph backend' do
+ let(:params) { {
+ :step => 4,
+ :gnocchi_backend => 'rbd',
+ :gnocchi_redis_password => 'gnocchi',
+ :redis_vip => '127.0.0.1'
+ } }
+
+ it {
+ is_expected.to contain_class('gnocchi::api')
+ is_expected.to contain_class('gnocchi::wsgi::apache')
+ is_expected.to contain_class('gnocchi::storage').with(
+ :coordination_url => 'redis://:gnocchi@127.0.0.1:6379/'
+ )
+ is_expected.to contain_class('gnocchi::storage::ceph')
+ }
+ end
+
+ context 'with step 5 on bootstrap' do
+ let(:params) { {
+ :step => 5,
+ :bootstrap_node => 'node.example.com',
+ :gnocchi_redis_password => 'gnocchi',
+ :redis_vip => '127.0.0.1'
+ } }
+
+ it {
+ is_expected.to contain_class('gnocchi::api')
+ is_expected.to contain_class('gnocchi::wsgi::apache')
+ is_expected.to contain_exec('run gnocchi upgrade with storage').with(
+ :command => 'gnocchi-upgrade --config-file=/etc/gnocchi/gnocchi.conf',
+ :path => ['/usr/bin', '/usr/sbin']
+ )
+ }
+ end
end