Files
puppet-openstack/spec/classes/openstack_glance_spec.rb
danehans 036640adbb Adds Support for Bind Host
Previously, the openstack::glance class would not allow
users to specify an IP address to bind Glance service to.

This change implements the bind_host parameter to allow
users to specify an IP address for binding Glance API and Registry.

Defaults to '0.0.0.0' for backwards compatibility and to bind
Glance services to all addresses.

Change-Id: I1e69df9401b2358b6af531c083850258c3585e41
2013-07-17 00:07:15 +00:00

115 lines
3.2 KiB
Ruby

require 'spec_helper'
describe 'openstack::glance' do
let :facts do
{
:operatingsystem => 'Ubuntu',
:osfamily => 'Debian'
}
end
let :params do
{
:user_password => 'glance_user_pass',
:db_password => 'glance_db_pass',
:keystone_host => '127.0.1.1'
}
end
describe 'with only required parameters' do
it 'should configure with applicable defaults' do
should contain_class('glance::api').with(
:verbose => false,
:debug => false,
:registry_host => '0.0.0.0',
:bind_host => '0.0.0.0',
:auth_type => 'keystone',
:auth_port => '35357',
:auth_host => '127.0.1.1',
:keystone_tenant => 'services',
:keystone_user => 'glance',
:keystone_password => 'glance_user_pass',
:sql_connection => 'mysql://glance:glance_db_pass@127.0.0.1/glance',
:sql_idle_timeout => '3600',
:enabled => true
)
should contain_class('glance::registry').with(
:verbose => false,
:debug => false,
:bind_host => '0.0.0.0',
:auth_host => '127.0.1.1',
:auth_port => '35357',
:auth_type => 'keystone',
:keystone_tenant => 'services',
:keystone_user => 'glance',
:keystone_password => 'glance_user_pass',
:sql_connection => 'mysql://glance:glance_db_pass@127.0.0.1/glance',
:enabled => true
)
should contain_class('glance::backend::file')
end
end
describe 'with an invalid db_type' do
before do
params.merge!(:db_type => 'sqlite' )
end
it 'should fail' do
expect { subject }.to raise_error(Puppet::Error, /Unsupported db_type sqlite/)
end
end
describe 'with an invalid backend' do
before do
params.merge!(:backend => 'ceph')
end
it 'should fail' do
expect { subject }.to raise_error(Puppet::Error, /Unsupported backend ceph/)
end
end
describe 'when configuring swift as the backend' do
before do
params.merge!({
:backend => 'swift',
:swift_store_user => 'dan',
:swift_store_key => '123'
})
end
it 'should configure swift as the backend' do
should_not contain_class('glance::backend::file')
should contain_class('glance::backend::swift').with(
:swift_store_user => 'dan',
:swift_store_key => '123',
:swift_store_auth_address => 'http://127.0.0.1:5000/v2.0/',
:swift_store_create_container_on_put => true
)
end
describe 'user key must be set' do
before do
params.delete(:swift_store_key)
end
it 'should fail' do
expect do
subject
end.to raise_error(Puppet::Error, /swift_store_key must be set when configuring swift/)
end
end
describe 'user name must be set' do
before do
params.delete(:swift_store_user)
end
it 'should fail' do
expect do
subject
end.to raise_error(Puppet::Error, /swift_store_user must be set when configuring swift/)
end
end
end
end