Allow configuring the new notifier settings
This change adds four new parameters for the new notifier added in the Mistral Rocky release. Change-Id: I005a49d21842661e944f45d44f08bf6bcec0a2a5
This commit is contained in:
parent
efd8cd4b59
commit
59cf993b60
46
manifests/notifier.pp
Normal file
46
manifests/notifier.pp
Normal file
@ -0,0 +1,46 @@
|
||||
# == Class: mistral::notifier
|
||||
#
|
||||
# Configure the mistral notifier
|
||||
#
|
||||
# === Parameters
|
||||
#
|
||||
# [*type*]
|
||||
# Type of notifier. Use local to run the notifier within the
|
||||
# engine server. Use remote if the notifier is launched as
|
||||
# a separate server to process events.
|
||||
# (string value)
|
||||
# Defaults to $::os_service_default.
|
||||
# [*host*]
|
||||
# Name of the notifier node. This can be an opaque
|
||||
# identifier. It is not necessarily a hostname,
|
||||
# FQDN, or IP address.
|
||||
# (string value)
|
||||
# Defaults to $::os_service_default.
|
||||
# [*topic*]
|
||||
# The message topic that the notifier server listens on.
|
||||
# (string value)
|
||||
# Defaults to $::os_service_default.
|
||||
# [*notify_publishers*]
|
||||
# List of publishers to publish notification.
|
||||
# Note: This maps to the mistral config option `notify` but this is reserved
|
||||
# in Puppet.
|
||||
# (list of dicts)
|
||||
# Defaults to $::os_service_default.
|
||||
|
||||
class mistral::notifier(
|
||||
$type = $::os_service_default,
|
||||
$host = $::os_service_default,
|
||||
$topic = $::os_service_default,
|
||||
$notify_publishers = $::os_service_default,
|
||||
) {
|
||||
|
||||
include ::mistral::deps
|
||||
include ::mistral::params
|
||||
|
||||
mistral_config {
|
||||
'notifier/type': value => $type;
|
||||
'notifier/host': value => $host;
|
||||
'notifier/topic': value => $topic;
|
||||
'notifier/notify': value => $notify_publishers;
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
---
|
||||
features:
|
||||
- Add new parameters that allow configuring notifier settings.
|
43
spec/classes/mistral_notifier_spec.rb
Normal file
43
spec/classes/mistral_notifier_spec.rb
Normal file
@ -0,0 +1,43 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'mistral::notifier' do
|
||||
|
||||
shared_examples_for 'mistral notifier' do
|
||||
it 'configure notifier default params' do
|
||||
is_expected.to contain_mistral_config('notifier/type').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_mistral_config('notifier/host').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_mistral_config('notifier/topic').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_mistral_config('notifier/notify').with_value('<SERVICE DEFAULT>')
|
||||
end
|
||||
|
||||
context 'with specific parameters' do
|
||||
let :params do
|
||||
{ :type => "remote",
|
||||
:host => "localhost",
|
||||
:topic => "mistral-event-stream",
|
||||
:notify_publishers => "[{'type': 'noop'}]",
|
||||
}
|
||||
end
|
||||
|
||||
it 'configure notifier params' do
|
||||
is_expected.to contain_mistral_config('notifier/type').with_value('remote')
|
||||
is_expected.to contain_mistral_config('notifier/host').with_value('localhost')
|
||||
is_expected.to contain_mistral_config('notifier/topic').with_value('mistral-event-stream')
|
||||
is_expected.to contain_mistral_config('notifier/notify').with_value("[{'type': 'noop'}]")
|
||||
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_configures 'mistral notifier'
|
||||
end
|
||||
end
|
||||
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user