54 lines
1.4 KiB
Ruby
54 lines
1.4 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'cluster' do
|
|
|
|
let(:default_params) { {
|
|
:internal_address => '127.0.0.1',
|
|
:quorum_members => ['localhost'],
|
|
:unicast_addresses => ['127.0.0.1'],
|
|
:cluster_recheck_interval => '190s',
|
|
} }
|
|
|
|
shared_examples_for 'cluster configuration' do
|
|
let :params do
|
|
default_params
|
|
end
|
|
|
|
context 'with default params' do
|
|
it 'configures corosync with pacemaker' do
|
|
should contain_class('openstack::corosync').with(
|
|
:bind_address => default_params[:internal_address],
|
|
:quorum_members => default_params[:quorum_members],
|
|
:unicast_addresses => default_params[:unicast_addresses],
|
|
:packages => packages,
|
|
:cluster_recheck_interval => default_params[:cluster_recheck_interval])
|
|
should contain_file('ocf-fuel-path').with(
|
|
:ensure => 'directory',
|
|
:path => '/usr/lib/ocf/resource.d/fuel',
|
|
:recurse => true,
|
|
:owner => 'root',
|
|
:group => 'root')
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
on_supported_os(supported_os: supported_os).each do |os, facts|
|
|
context "on #{os}" do
|
|
let(:facts) { facts.merge(common_facts) }
|
|
|
|
let :packages do
|
|
if facts[:osfamily] == 'Debian'
|
|
[ 'crmsh', 'pcs' ]
|
|
else
|
|
['crmsh']
|
|
end
|
|
end
|
|
|
|
it_configures 'cluster configuration'
|
|
end
|
|
end
|
|
|
|
end
|
|
|