59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require 'spec_helper'
 | |
| 
 | |
| describe 'cloud::object::ringbuilder' do
 | |
| 
 | |
|   shared_examples_for 'openstack swift ringbuilder' do
 | |
| 
 | |
|     let :params do
 | |
|       {
 | |
|         :rsyncd_ipaddress            => '127.0.0.1',
 | |
|         :replicas                    => 3,
 | |
|         :swift_rsync_max_connections => 5,
 | |
|         :enabled                     => true
 | |
|       }
 | |
|     end
 | |
| 
 | |
|     it 'create the three rings' do
 | |
|       is_expected.to contain_class('swift::ringbuilder').with({
 | |
|         'part_power'     => '15',
 | |
|         'replicas'       => '3',
 | |
|         'min_part_hours' => '24',
 | |
|       })
 | |
|     end
 | |
| 
 | |
|     it 'create the ring rsync server' do
 | |
|       is_expected.to contain_class('swift::ringserver').with({
 | |
|         'local_net_ip'    => '127.0.0.1',
 | |
|         'max_connections' => '5',
 | |
|       })
 | |
|     end
 | |
| 
 | |
|     context 'when ringbuilder is not enabled' do
 | |
|       before do
 | |
|         params.merge!(
 | |
|           :enabled => false
 | |
|         )
 | |
|       end
 | |
|       it 'should not configure swift ring builder' do
 | |
|         is_expected.not_to contain_class('swift::ringbuilder')
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   context 'on Debian platforms' do
 | |
|     let :facts do
 | |
|       { :osfamily => 'Debian' }
 | |
|     end
 | |
| 
 | |
|     it_configures 'openstack swift ringbuilder'
 | |
|   end
 | |
| 
 | |
|   context 'on RedHat platforms' do
 | |
|     let :facts do
 | |
|       { :osfamily => 'RedHat' }
 | |
|     end
 | |
|     it_configures 'openstack swift ringbuilder'
 | |
|   end
 | |
| 
 | |
| end
 | 
