Files
puppet-swift/spec/classes/swift_ringserver_spec.rb
Joel Capitao b3576e78bf Add 'rsync_use_xinetd' as argument to swift::ringserver
Since in RHEL/CentOS >= 8 rsyncd systemd unit is shipped in a
different package (rsync-dameon), we need to be able to not
use xinetd to manage rsync service.
The dependency on rsync-daemon for RHEL/CentOS >= 8
is handled in puppet-rsync with [1].

[1] https://github.com/puppetlabs/puppetlabs-rsync/pull/139/files

Conflicts:
	manifests/params.pp

Resolved conflict caused by 5b0745101a .

Closes-Bug: #1930855
Change-Id: I85abf3811d61fa8bfc0a1607818d6495549b5a6b
(cherry picked from commit 053a3a2a56)
2022-01-07 20:56:21 +09:00

77 lines
2.2 KiB
Ruby

require 'spec_helper'
# LP1492636 - Cohabitation of compile matcher and webmock
WebMock.disable_net_connect!(:allow => "169.254.169.254")
describe 'swift::ringserver' do
let :params do
{ :local_net_ip => '127.0.0.1',
:max_connections => 5,
:rsync_use_xinetd => true,
}
end
shared_examples 'swift::ringserver' do
context 'when storage.pp was already included' do
let :pre_condition do
"class { 'swift::storage': storage_local_net_ip => '127.0.0.1' }
class {'swift' : swift_hash_path_suffix => 'eee' }
include swift::ringbuilder"
end
it 'does not create the rsync::server class' do
is_expected.to compile
end
it 'contain the swift_server rsync block' do
is_expected.to contain_rsync__server__module('swift_server').with({
'path' => '/etc/swift',
'lock_file' => '/var/lock/swift_server.lock',
'uid' => 'swift',
'gid' => 'swift',
'max_connections' => '5',
'read_only' => 'true'
})
end
end
context 'when storage.pp was not already included' do
let :pre_condition do
"class {'swift' : swift_hash_path_suffix => 'eee' }
include swift::ringbuilder"
end
it 'does create the rsync::server class' do
is_expected.to contain_class('rsync::server').with({
'use_xinetd' => 'true',
'address' => '127.0.0.1',
'use_chroot' => 'no'
})
end
it 'contain the swift_server rsync block' do
is_expected.to contain_rsync__server__module('swift_server').with({
'path' => '/etc/swift',
'lock_file' => '/var/lock/swift_server.lock',
'uid' => 'swift',
'gid' => 'swift',
'max_connections' => '5',
'read_only' => 'true'
})
end
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge(OSDefaults.get_facts())
end
it_behaves_like 'swift::ringserver'
end
end
end