Skip to content

Commit

Permalink
Merge eb318f4 into c78a9e2
Browse files Browse the repository at this point in the history
  • Loading branch information
towo committed Mar 4, 2019
2 parents c78a9e2 + eb318f4 commit b04daf8
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 8 deletions.
6 changes: 3 additions & 3 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@
Optional[Integer] $threads = undef,
Optional[Variant[Stdlib::Port, Array[Stdlib::Port]]] $port = $corosync::params::port,
Corosync::IpStringIp $bind_address = $corosync::params::bind_address,
Optional[Stdlib::IP::Address] $multicast_address = undef,
Optional[Corosync::IpStringIp] $multicast_address = undef,
Optional[Array] $unicast_addresses = undef,
Boolean $force_online = $corosync::params::force_online,
Boolean $check_standby = $corosync::params::check_standby,
Expand Down Expand Up @@ -329,8 +329,8 @@
Boolean $test_corosync_config = $corosync::params::test_corosync_config,
) inherits ::corosync::params {

if $set_votequorum and empty($quorum_members) {
fail('set_votequorum is true, but no quorum_members have been passed.')
if $set_votequorum and (empty($quorum_members) and empty($multicast_address)) {
fail('set_votequorum is true, but neither quorum_members were passed nor was multicast specified.')
}

if $quorum_members_names and empty($quorum_members) {
Expand Down
32 changes: 27 additions & 5 deletions spec/classes/corosync_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -534,11 +534,33 @@
)
end

it 'raises error' do
is_expected.to raise_error(
Puppet::Error,
%r{set_votequorum is true, but no quorum_members have been passed.}
)
context 'when multicast_address is set' do
before do
params.merge!(
multicast_address: '10.0.0.1'
)
end

it 'does not contain nodelist' do
is_expected.not_to contain_file('/etc/corosync/corosync.conf').with_content(
%r{nodelist}
)
end
end

context 'when multicast_address is not set' do
before do
params.merge!(
multicast_address: []
)
end

it 'raises error' do
is_expected.to raise_error(
Puppet::Error,
%r{set_votequorum is true, but neither quorum_members were passed nor was multicast specified.}
)
end
end
end

Expand Down

0 comments on commit b04daf8

Please sign in to comment.