Avoid conflicting management of zaqar.conf
The zaqar::server_instance resource type allows setting up multiple instances of zaqar-server by creating /etc/zaqar/{name}.conf . Currently there is no validation about the name and if it can be set to 'zaqar' which results in conflicting management of zaqar.conf . This change introduces a simple validation logic to make sure that the resource type uses a config file different from the base zaqar.conf . Change-Id: Idb0eaff24e84121e0c78daf659d5b9f861491faa
This commit is contained in:
parent
b2f53f9dfd
commit
0e7c4f0efe
@ -16,6 +16,10 @@ define zaqar::server_instance(
|
||||
$enabled = true,
|
||||
) {
|
||||
|
||||
if $name == 'zaqar' {
|
||||
fail('The name should not be \'zaqar\'. Please use a different name')
|
||||
}
|
||||
|
||||
include zaqar
|
||||
include zaqar::deps
|
||||
include zaqar::params
|
||||
|
@ -2,29 +2,39 @@ require 'spec_helper'
|
||||
describe 'zaqar::server_instance' do
|
||||
|
||||
shared_examples_for 'zaqar::server_instance' do
|
||||
let(:title) { '1' }
|
||||
describe 'zaqar::server_instance' do
|
||||
let :title do
|
||||
'1'
|
||||
end
|
||||
|
||||
let :pre_condition do
|
||||
"class { 'zaqar::keystone::authtoken':
|
||||
password =>'foo',
|
||||
}
|
||||
class {'::zaqar': }"
|
||||
end
|
||||
let :pre_condition do
|
||||
"class { 'zaqar::keystone::authtoken':
|
||||
password =>'foo',
|
||||
}
|
||||
class {'::zaqar': }"
|
||||
end
|
||||
|
||||
let :params do
|
||||
{
|
||||
:transport => 'websocket'
|
||||
}
|
||||
end
|
||||
let :params do
|
||||
{
|
||||
:transport => 'websocket'
|
||||
}
|
||||
end
|
||||
|
||||
describe 'with a websocket server instance 1' do
|
||||
context 'with a websocket server instance 1' do
|
||||
it { is_expected.to contain_service("#{platform_params[:zaqar_service_name]}@1").with(
|
||||
:ensure => 'running',
|
||||
:enable => true
|
||||
)}
|
||||
it { is_expected.to contain_file('/etc/zaqar/1.conf') }
|
||||
end
|
||||
|
||||
it { is_expected.to contain_service("#{platform_params[:zaqar_service_name]}@1").with(
|
||||
:ensure => 'running',
|
||||
:enable => true
|
||||
)}
|
||||
it { is_expected.to contain_file('/etc/zaqar/1.conf') }
|
||||
context 'with the name not allowed' do
|
||||
let :title do
|
||||
'zaqar'
|
||||
end
|
||||
|
||||
it { is_expected.to raise_error(Puppet::Error) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user