diff --git a/manifests/image.pp b/manifests/image.pp index 486a2723..64f2b869 100644 --- a/manifests/image.pp +++ b/manifests/image.pp @@ -66,6 +66,8 @@ class privatecloud::image( $rabbit_password = $os_params::rabbit_password, $rabbit_host = $os_params::rabbit_hosts[0], $api_eth = $os_params::api_eth, + $verbose = $os_params::verbose, + $debug = $os_params::debug ) { $encoded_glance_user = uriescape($glance_db_user) @@ -73,8 +75,8 @@ class privatecloud::image( class { ['glance::api', 'glance::registry']: sql_connection => "mysql://${encoded_glance_user}:${encoded_glance_password}@${glance_db_host}/glance", - verbose => false, - debug => false, + verbose => $verbose, + debug => $debug, auth_host => $ks_keystone_internal_host, keystone_password => $ks_glance_password, keystone_tenant => 'services', @@ -93,7 +95,7 @@ class privatecloud::image( # TODO(EmilienM) We should migrate the backend to Ceph (WIP). For now, I let Swift. class { 'glance::backend::swift': swift_store_user => 'services:glance', - swift_store_key => $ks_keystone_glance_password, + swift_store_key => $ks_glance_password, swift_store_auth_address => $ks_keystone_internal_host, } diff --git a/spec/classes/privatecloud_image_spec.rb b/spec/classes/privatecloud_image_spec.rb index e69de29b..a257c70a 100644 --- a/spec/classes/privatecloud_image_spec.rb +++ b/spec/classes/privatecloud_image_spec.rb @@ -0,0 +1,108 @@ +# +# Copyright (C) 2014 eNovance SAS +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# Unit tests for privatecloud::image class +# + +require 'spec_helper' + +describe 'privatecloud::image' do + + shared_examples_for 'openstack image' do + + let :params do + { :glance_db_host => '10.0.0.1', + :glance_db_user => 'glance', + :glance_db_password => 'secrete', + :ks_keystone_internal_host => '10.0.0.1', + :ks_glance_internal_port => '9292', + :ks_glance_password => 'secrete', + :rabbit_host => '10.0.0.1', + :rabbit_password => 'secrete', + :debug => true, + :verbose => true, + :api_eth => '10.0.0.1' } + end + + it 'configure glance-api' do + should contain_class('glance::api').with( + :sql_connection => 'mysql://glance:secrete@10.0.0.1/glance', + :keystone_password => 'secrete', + :keystone_tenant => 'services', + :keystone_user => 'glance', + :verbose => true, + :debug => true, + :auth_host => '10.0.0.1', + :log_facility => 'LOG_LOCAL0', + :bind_host => '10.0.0.1', + :use_syslog => true + ) + end + + it 'configure glance-registry' do + should contain_class('glance::registry').with( + :sql_connection => 'mysql://glance:secrete@10.0.0.1/glance', + :keystone_password => 'secrete', + :keystone_tenant => 'services', + :keystone_user => 'glance', + :verbose => true, + :debug => true, + :auth_host => '10.0.0.1', + :log_facility => 'LOG_LOCAL0', + :bind_host => '10.0.0.1', + :use_syslog => true + ) + end + + it 'configure glance notifications with rabbitmq backend' do + should contain_class('glance::notify::rabbitmq').with( + :rabbit_password => 'secrete', + :rabbit_userid => 'glance', + :rabbit_host => '10.0.0.1' + ) + end + + it 'configure glance swift backend' do + should contain_class('glance::backend::swift').with( + :swift_store_user => 'services:glance', + :swift_store_key => 'secrete', + :swift_store_auth_address => '10.0.0.1', + ) + end + + it 'configure crontab to clean glance cache' do + should contain_class('glance::cache::cleaner') + should contain_class('glance::cache::pruner') + end + + end + + context 'on Debian platforms' do + let :facts do + { :osfamily => 'Debian' } + end + + it_configures 'openstack image' + end + + context 'on RedHat platforms' do + let :facts do + { :osfamily => 'RedHat' } + end + + it_configures 'openstack image' + end + +end