diff --git a/manifests/auth_file.pp b/manifests/auth_file.pp index fb99281..c54e58b 100644 --- a/manifests/auth_file.pp +++ b/manifests/auth_file.pp @@ -8,11 +8,13 @@ class openstack::auth_file( $controller_node = '127.0.0.1', $keystone_admin_token = 'keystone_admin_token', $admin_user = 'admin', - $admin_tenant = 'admin' + $admin_tenant = 'admin', + $use_no_cache = 'true' ) { file { '/root/openrc': content => " + export OS_NO_CACHE=${use_no_cache} export OS_TENANT_NAME=${admin_tenant} export OS_USERNAME=${admin_user} export OS_PASSWORD='${admin_password}' diff --git a/spec/classes/openstack_auth_file_spec.rb b/spec/classes/openstack_auth_file_spec.rb new file mode 100644 index 0000000..b0b195b --- /dev/null +++ b/spec/classes/openstack_auth_file_spec.rb @@ -0,0 +1,55 @@ +require 'spec_helper' + +describe 'openstack::auth_file' do + + describe "when only passing required class parameters" do + + let :params do + { :admin_password => 'admin' } + end + + it 'should create a openrc file' do + should contain_file('/root/openrc').with_content( + ' + export OS_NO_CACHE=true + export OS_TENANT_NAME=admin + export OS_USERNAME=admin + export OS_PASSWORD=\'admin\' + export OS_AUTH_URL="http://127.0.0.1:5000/v2.0/" + export OS_AUTH_STRATEGY=keystone + export SERVICE_TOKEN=keystone_admin_token + export SERVICE_ENDPOINT=http://127.0.0.1:35357/v2.0/ + ' + ) + end + end + + describe 'when overridding' do + + let :params do + { + :admin_password => 'nova', + :controller_node => '127.0.0.2', + :keystone_admin_token => 'keystone', + :admin_user => 'nova', + :admin_tenant => 'nova', + :use_no_cache => 'false', + } + end + + it 'should create a openrc file' do + should contain_file('/root/openrc').with_content( + ' + export OS_NO_CACHE=false + export OS_TENANT_NAME=nova + export OS_USERNAME=nova + export OS_PASSWORD=\'nova\' + export OS_AUTH_URL="http://127.0.0.2:5000/v2.0/" + export OS_AUTH_STRATEGY=keystone + export SERVICE_TOKEN=keystone + export SERVICE_ENDPOINT=http://127.0.0.2:35357/v2.0/ + ' + ) + end + end +end