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
|