
The module was written in a way that was not consistent with other Puppet OpenStack modules, the interface was very different. This patch: * add db.pp * update logging.pp with usual parameters * drop useless parameters in keystone/auth.pp * cleanup params.pp * drop services.pp, which is useless * Update unit tests * Add coordination support in init.pp * Some alignment issues * Add more doc in README * Stop including ::mistral in all classes * Include mistral::policy in mistral::api This is a non-backward compatible change, but since the module has no release and no stable branch, also very new, this is not something we need to care at this stage. People using this module at this stage will have to update their manifests otherwise their Puppet catalog will fail. Change-Id: I979e21caa71ee35337dc01b225878701868e966a
96 lines
2.8 KiB
Ruby
96 lines
2.8 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'mistral::engine' do
|
|
|
|
let :params do
|
|
{ :enabled => true,
|
|
:manage_service => true,
|
|
:host => 'foo_host',
|
|
:topic => 'foo_topic',
|
|
:version => '1.0',
|
|
:execution_field_size_limit_kb => '1234'}
|
|
end
|
|
|
|
shared_examples_for 'mistral-engine' do
|
|
|
|
context 'config params' do
|
|
|
|
it { is_expected.to contain_class('mistral::params') }
|
|
|
|
it { is_expected.to contain_mistral_config('engine/host').with_value( params[:host] ) }
|
|
it { is_expected.to contain_mistral_config('engine/topic').with_value( params[:topic] ) }
|
|
it { is_expected.to contain_mistral_config('engine/version').with_value( params[:version] ) }
|
|
it { is_expected.to contain_mistral_config('engine/execution_field_size_limit_kb').with_value( params[:execution_field_size_limit_kb] ) }
|
|
|
|
end
|
|
|
|
[{:enabled => true}, {:enabled => false}].each do |param_hash|
|
|
context "when service should be #{param_hash[:enabled] ? 'enabled' : 'disabled'}" do
|
|
before do
|
|
params.merge!(param_hash)
|
|
end
|
|
|
|
it 'configures mistral-engine service' do
|
|
|
|
is_expected.to contain_service('mistral-engine').with(
|
|
:ensure => (params[:manage_service] && params[:enabled]) ? 'running' : 'stopped',
|
|
:name => platform_params[:engine_service_name],
|
|
:enable => params[:enabled],
|
|
:hasstatus => true,
|
|
:hasrestart => true,
|
|
:tag => 'mistral-service',
|
|
)
|
|
is_expected.to contain_service('mistral-engine').that_subscribes_to(nil)
|
|
end
|
|
end
|
|
end
|
|
|
|
context 'with disabled service managing' do
|
|
before do
|
|
params.merge!({
|
|
:manage_service => false,
|
|
:enabled => false })
|
|
end
|
|
|
|
it 'configures mistral-engine service' do
|
|
|
|
is_expected.to contain_service('mistral-engine').with(
|
|
:ensure => nil,
|
|
:name => platform_params[:engine_service_name],
|
|
:enable => false,
|
|
:hasstatus => true,
|
|
:hasrestart => true,
|
|
:tag => 'mistral-service',
|
|
)
|
|
is_expected.to contain_service('mistral-engine').that_subscribes_to(nil)
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
context 'on Debian platforms' do
|
|
let :facts do
|
|
{ :osfamily => 'Debian' }
|
|
end
|
|
|
|
let :platform_params do
|
|
{ :engine_service_name => 'mistral-engine' }
|
|
end
|
|
|
|
it_configures 'mistral-engine'
|
|
end
|
|
|
|
context 'on RedHat platforms' do
|
|
let :facts do
|
|
{ :osfamily => 'RedHat' }
|
|
end
|
|
|
|
let :platform_params do
|
|
{ :engine_service_name => 'openstack-mistral-engine' }
|
|
end
|
|
|
|
it_configures 'mistral-engine'
|
|
end
|
|
|
|
end
|