X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fglance%2Fspec%2Fclasses%2Fglance_registry_spec.rb;fp=3rdparty%2Fmodules%2Fglance%2Fspec%2Fclasses%2Fglance_registry_spec.rb;h=0000000000000000000000000000000000000000;hb=6e1426dc77fb4e5d51f07c187c6f2219431dc31e;hp=8431d696b6f6814601136d72d0bf5713275d4823;hpb=87423ba664cd5f2bb462ebadd08b1a90d0fe1c8d;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/glance/spec/classes/glance_registry_spec.rb b/3rdparty/modules/glance/spec/classes/glance_registry_spec.rb deleted file mode 100644 index 8431d696b..000000000 --- a/3rdparty/modules/glance/spec/classes/glance_registry_spec.rb +++ /dev/null @@ -1,356 +0,0 @@ - -describe 'glance::registry' do - - let :facts do - { - :osfamily => 'Debian' - } - end - - let :default_params do - { - :verbose => false, - :debug => false, - :bind_host => '0.0.0.0', - :bind_port => '9191', - :log_file => '/var/log/glance/registry.log', - :log_dir => '/var/log/glance', - :database_connection => 'sqlite:///var/lib/glance/glance.sqlite', - :database_idle_timeout => '3600', - :enabled => true, - :manage_service => true, - :auth_type => 'keystone', - :auth_host => '127.0.0.1', - :auth_port => '35357', - :auth_protocol => 'http', - :auth_uri => 'http://127.0.0.1:5000/', - :keystone_tenant => 'services', - :keystone_user => 'glance', - :keystone_password => 'ChangeMe', - :purge_config => false, - :sync_db => true, - } - end - - [ - {:keystone_password => 'ChangeMe'}, - { - :verbose => true, - :debug => true, - :bind_host => '127.0.0.1', - :bind_port => '9111', - :database_connection => 'sqlite:///var/lib/glance.sqlite', - :database_idle_timeout => '360', - :enabled => false, - :auth_type => 'keystone', - :auth_host => '127.0.0.1', - :auth_port => '35357', - :auth_protocol => 'http', - :auth_uri => 'http://127.0.0.1:5000/', - :keystone_tenant => 'admin', - :keystone_user => 'admin', - :keystone_password => 'ChangeMe', - :sync_db => false, - } - ].each do |param_set| - - describe "when #{param_set == {:keystone_password => 'ChangeMe'} ? "using default" : "specifying"} class parameters" do - let :param_hash do - default_params.merge(param_set) - end - - let :params do - param_set - end - - it { should contain_class 'glance::registry' } - - it { should contain_service('glance-registry').with( - 'ensure' => (param_hash[:manage_service] && param_hash[:enabled]) ? 'running' : 'stopped', - 'enable' => param_hash[:enabled], - 'hasstatus' => true, - 'hasrestart' => true, - 'subscribe' => 'File[/etc/glance/glance-registry.conf]', - 'require' => 'Class[Glance]' - )} - - it 'should only sync the db if the service is enabled' do - - if param_hash[:enabled] - should contain_exec('glance-manage db_sync').with( - 'path' => '/usr/bin', - 'command' => 'glance-manage --config-file=/etc/glance/glance-registry.conf db_sync', - 'refreshonly' => true, - 'logoutput' => 'on_failure', - 'subscribe' => ['Package[glance-registry]', 'File[/etc/glance/glance-registry.conf]'], - 'notify' => 'Service[glance-registry]' - ) - end - end - it 'should not sync the db if sync_db is set to false' do - - if param_hash[:enabled] and !param_hash[:sync_db] - is_expected.not_to contain_exec('glance-manage db_sync') - end - end - it 'should configure itself' do - [ - 'verbose', - 'debug', - 'bind_port', - 'bind_host', - ].each do |config| - should contain_glance_registry_config("DEFAULT/#{config}").with_value(param_hash[config.intern]) - end - [ - 'database_connection', - 'database_idle_timeout', - ].each do |config| - should contain_glance_registry_config("database/#{config.gsub(/database_/,'')}").with_value(param_hash[config.intern]) - end - [ - 'auth_host', - 'auth_port', - 'auth_protocol' - ].each do |config| - should contain_glance_registry_config("keystone_authtoken/#{config}").with_value(param_hash[config.intern]) - end - should contain_glance_registry_config('keystone_authtoken/auth_admin_prefix').with_ensure('absent') - if param_hash[:auth_type] == 'keystone' - should contain_glance_registry_config("paste_deploy/flavor").with_value('keystone') - should contain_glance_registry_config("keystone_authtoken/admin_tenant_name").with_value(param_hash[:keystone_tenant]) - should contain_glance_registry_config("keystone_authtoken/admin_user").with_value(param_hash[:keystone_user]) - should contain_glance_registry_config("keystone_authtoken/admin_password").with_value(param_hash[:keystone_password]) - should contain_glance_registry_config("keystone_authtoken/admin_password").with_value(param_hash[:keystone_password]).with_secret(true) - end - end - end - end - - describe 'with disabled service managing' do - let :params do - { - :keystone_password => 'ChangeMe', - :manage_service => false, - :enabled => false, - } - end - - it { should contain_service('glance-registry').with( - 'ensure' => nil, - 'enable' => false, - 'hasstatus' => true, - 'hasrestart' => true, - 'subscribe' => 'File[/etc/glance/glance-registry.conf]', - 'require' => 'Class[Glance]' - )} - end - - describe 'with overridden pipeline' do - # At the time of writing there was only blank and keystone as options - # but there is no reason that there can't be more options in the future. - let :params do - { - :keystone_password => 'ChangeMe', - :pipeline => 'validoptionstring', - } - end - - it { should contain_glance_registry_config('paste_deploy/flavor').with_value('validoptionstring') } - end - - describe 'with blank pipeline' do - let :params do - { - :keystone_password => 'ChangeMe', - :pipeline => '', - } - end - - it { should contain_glance_registry_config('paste_deploy/flavor').with_ensure('absent') } - end - - [ - 'keystone/', - 'keystone+', - '+keystone', - 'keystone+cachemanagement+', - '+' - ].each do |pipeline| - describe "with pipeline incorrect value #{pipeline}" do - let :params do - { - :keystone_password => 'ChangeMe', - :auth_type => 'keystone', - :pipeline => pipeline - } - end - - it { expect { should contain_glance_registry_config('filter:paste_deploy/flavor') }.to\ - raise_error(Puppet::Error, /validate_re\(\): .* does not match/) } - end - end - - describe 'with overriden auth_admin_prefix' do - let :params do - { - :keystone_password => 'ChangeMe', - :auth_admin_prefix => '/keystone/main' - } - end - - it { should contain_glance_registry_config('keystone_authtoken/auth_admin_prefix').with_value('/keystone/main') } - end - - [ - '/keystone/', - 'keystone/', - 'keystone', - '/keystone/admin/', - 'keystone/admin/', - 'keystone/admin' - ].each do |auth_admin_prefix| - describe "with auth_admin_prefix_containing incorrect value #{auth_admin_prefix}" do - let :params do - { - :keystone_password => 'ChangeMe', - :auth_admin_prefix => auth_admin_prefix - } - end - - it { expect { should contain_glance_registry_config('filter:authtoken/auth_admin_prefix') }.to\ - raise_error(Puppet::Error, /validate_re\(\): "#{auth_admin_prefix}" does not match/) } - end - end - - describe 'with syslog disabled by default' do - let :params do - default_params - end - - it { should contain_glance_registry_config('DEFAULT/use_syslog').with_value(false) } - it { should_not contain_glance_registry_config('DEFAULT/syslog_log_facility') } - end - - describe 'with syslog enabled' do - let :params do - default_params.merge({ - :use_syslog => 'true', - }) - end - - it { should contain_glance_registry_config('DEFAULT/use_syslog').with_value(true) } - it { should contain_glance_registry_config('DEFAULT/syslog_log_facility').with_value('LOG_USER') } - end - - describe 'with syslog enabled and custom settings' do - let :params do - default_params.merge({ - :use_syslog => 'true', - :log_facility => 'LOG_LOCAL0' - }) - end - - it { should contain_glance_registry_config('DEFAULT/use_syslog').with_value(true) } - it { should contain_glance_registry_config('DEFAULT/syslog_log_facility').with_value('LOG_LOCAL0') } - end - - describe 'with log_file enabled by default' do - let(:params) { default_params } - - it { should contain_glance_registry_config('DEFAULT/log_file').with_value(default_params[:log_file]) } - - context 'with log_file disabled' do - let(:params) { default_params.merge!({ :log_file => false }) } - it { should contain_glance_registry_config('DEFAULT/log_file').with_ensure('absent') } - end - end - - describe 'with log_dir enabled by default' do - let(:params) { default_params } - - it { should contain_glance_registry_config('DEFAULT/log_dir').with_value(default_params[:log_dir]) } - - context 'with log_dir disabled' do - let(:params) { default_params.merge!({ :log_dir => false }) } - it { should contain_glance_registry_config('DEFAULT/log_dir').with_ensure('absent') } - end - end - - describe 'with no ssl options (default)' do - let(:params) { default_params } - - it { should contain_glance_registry_config('DEFAULT/ca_file').with_ensure('absent')} - it { should contain_glance_registry_config('DEFAULT/cert_file').with_ensure('absent')} - it { should contain_glance_registry_config('DEFAULT/key_file').with_ensure('absent')} - end - - describe 'with ssl options' do - let :params do - default_params.merge({ - :ca_file => '/tmp/ca_file', - :cert_file => '/tmp/cert_file', - :key_file => '/tmp/key_file' - }) - end - - context 'with ssl options' do - it { should contain_glance_registry_config('DEFAULT/ca_file').with_value('/tmp/ca_file') } - it { should contain_glance_registry_config('DEFAULT/cert_file').with_value('/tmp/cert_file') } - it { should contain_glance_registry_config('DEFAULT/key_file').with_value('/tmp/key_file') } - end - end - - describe 'with deprecated sql parameters' do - let :params do - default_params.merge({ - :sql_connection => 'mysql://user:pass@db/db', - :sql_idle_timeout => '30' - }) - end - - it 'configures database' do - should contain_glance_registry_config('database/connection').with_value('mysql://user:pass@db/db') - should contain_glance_registry_config('database/idle_timeout').with_value('30') - end - end - - describe 'on Debian platforms' do - let :facts do - { :osfamily => 'Debian' } - end - - # We only test this on Debian platforms, since on RedHat there isn't a - # separate package for glance registry. - ['present', 'latest'].each do |package_ensure| - context "with package_ensure '#{package_ensure}'" do - let(:params) { default_params.merge({ :package_ensure => package_ensure }) } - it { should contain_package('glance-registry').with( - :ensure => package_ensure, - :tag => ['openstack'] - )} - end - end - end - - describe 'on RedHat platforms' do - let :facts do - { :osfamily => 'RedHat' } - end - let(:params) { default_params } - - it { should contain_package('openstack-glance')} - end - - describe 'on unknown platforms' do - let :facts do - { :osfamily => 'unknown' } - end - let(:params) { default_params } - - it 'should fails to configure glance-registry' do - expect { subject }.to raise_error(Puppet::Error, /module glance only support osfamily RedHat and Debian/) - end - end - -end