Cover gnocchi api step 4 and 5
Update the gnocchi api to expose the redis information as a class parameter so it can be tested correctly. Change-Id: I075b4af5e7bb35f90f7b82f8fb1b6d6ad6363b71
This commit is contained in:
parent
d547121212
commit
4450afd495
@ -47,6 +47,14 @@
|
||||
# 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.
|
||||
@ -58,6 +66,8 @@ class tripleo::profile::base::gnocchi::api (
|
||||
$enable_internal_tls = hiera('enable_internal_tls', 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) {
|
||||
@ -94,7 +104,7 @@ class tripleo::profile::base::gnocchi::api (
|
||||
|
||||
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 }
|
||||
|
@ -23,7 +23,11 @@ describe 'tripleo::profile::base::gnocchi::api' do
|
||||
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')
|
||||
@ -36,6 +40,8 @@ describe 'tripleo::profile::base::gnocchi::api' do
|
||||
let(:params) { {
|
||||
:step => 3,
|
||||
:bootstrap_node => 'node.example.com',
|
||||
:gnocchi_redis_password => 'gnocchi',
|
||||
:redis_vip => '127.0.0.1'
|
||||
} }
|
||||
|
||||
it {
|
||||
@ -48,6 +54,8 @@ describe 'tripleo::profile::base::gnocchi::api' do
|
||||
context 'with step 3' do
|
||||
let(:params) { {
|
||||
:step => 3,
|
||||
:gnocchi_redis_password => 'gnocchi',
|
||||
:redis_vip => '127.0.0.1'
|
||||
} }
|
||||
|
||||
it {
|
||||
@ -57,35 +65,76 @@ describe 'tripleo::profile::base::gnocchi::api' do
|
||||
}
|
||||
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
|
||||
|
||||
|
||||
|
2
spec/fixtures/hieradata/default.yaml
vendored
2
spec/fixtures/hieradata/default.yaml
vendored
@ -30,6 +30,8 @@ cinder::rabbit_password: 'password'
|
||||
cinder::keystone::authtoken::password: 'password'
|
||||
# gnocchi related items
|
||||
gnocchi::keystone::authtoken::password: 'password'
|
||||
gnocchi::storage::ceph::ceph_username: 'gnocchi'
|
||||
gnocchi::storage::ceph::ceph_secret: 'password'
|
||||
# nova related items
|
||||
nova::rabbit_password: 'password'
|
||||
nova::keystone::authtoken::password: 'password'
|
||||
|
Loading…
Reference in New Issue
Block a user