aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorAlex Schultz <aschultz@redhat.com>2017-04-12 13:53:44 -0600
committerAlex Schultz <aschultz@redhat.com>2017-04-19 16:27:43 -0600
commit4450afd495794a8ac0fc5b8c51d696416e5deb9d (patch)
treebb41cb4c0f4d478a6c20b6804341e962ceeb035a /spec
parentd5471212123fee21cc44175362cf36e9449a2484 (diff)
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
Diffstat (limited to 'spec')
-rw-r--r--spec/classes/tripleo_profile_base_gnocchi_api_spec.rb109
-rw-r--r--spec/fixtures/hieradata/default.yaml2
2 files changed, 81 insertions, 30 deletions
diff --git a/spec/classes/tripleo_profile_base_gnocchi_api_spec.rb b/spec/classes/tripleo_profile_base_gnocchi_api_spec.rb
index 805a28e..6c04e9d 100644
--- a/spec/classes/tripleo_profile_base_gnocchi_api_spec.rb
+++ b/spec/classes/tripleo_profile_base_gnocchi_api_spec.rb
@@ -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
diff --git a/spec/fixtures/hieradata/default.yaml b/spec/fixtures/hieradata/default.yaml
index 16f39a5..873a49e 100644
--- a/spec/fixtures/hieradata/default.yaml
+++ b/spec/fixtures/hieradata/default.yaml
@@ -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'