diff --git a/manifests/healthcheck.pp b/manifests/healthcheck.pp new file mode 100644 index 00000000..86e49a10 --- /dev/null +++ b/manifests/healthcheck.pp @@ -0,0 +1,41 @@ +# == Define: aodh::healthcheck +# +# Configure oslo_middleware options in healthcheck section +# +# == Params +# +# [*detailed*] +# (Optional) Show more detailed information as part of the response. +# Defaults to $::os_service_default +# +# [*backends*] +# (Optional) Additional backends that can perform health checks and report +# that information back as part of a request. +# Defaults to $::os_service_default +# +# [*disable_by_file_path*] +# (Optional) Check the presense of a file to determine if an application +# is running on a port. +# Defaults to $::os_service_default +# +# [*disable_by_file_paths*] +# (Optional) Check the presense of a file to determine if an application +# is running on a port. Expects a "port:path" list of strings. +# Defaults to $::os_service_default +# +class aodh::healthcheck ( + $detailed = $::os_service_default, + $backends = $::os_service_default, + $disable_by_file_path = $::os_service_default, + $disable_by_file_paths = $::os_service_default, +) { + + include aodh::deps + + oslo::healthcheck { 'aodh_config': + detailed => $detailed, + backends => $backends, + disable_by_file_path => $disable_by_file_path, + disable_by_file_paths => $disable_by_file_paths, + } +} diff --git a/releasenotes/notes/healthcheck-2b9652430eb03a64.yaml b/releasenotes/notes/healthcheck-2b9652430eb03a64.yaml new file mode 100644 index 00000000..763c3e7c --- /dev/null +++ b/releasenotes/notes/healthcheck-2b9652430eb03a64.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + The new ``aodh::healthcheck`` class has been added. This class manages + parameters of healthcheck middlware in oslo.middleware. diff --git a/spec/classes/aodh_healthcheck_spec.rb b/spec/classes/aodh_healthcheck_spec.rb new file mode 100644 index 00000000..1882e686 --- /dev/null +++ b/spec/classes/aodh_healthcheck_spec.rb @@ -0,0 +1,55 @@ +require 'spec_helper' + +describe 'aodh::healthcheck' do + + shared_examples_for 'aodh::healthcheck' do + + context 'with default parameters' do + let :params do + {} + end + + it 'configures default values' do + is_expected.to contain_oslo__healthcheck('aodh_config').with( + :detailed => '', + :backends => '', + :disable_by_file_path => '', + :disable_by_file_paths => '', + ) + end + end + + context 'with specific parameters' do + let :params do + { + :detailed => true, + :backends => ['disable_by_file'], + :disable_by_file_path => '/etc/aodh/healthcheck/disabled', + :disable_by_file_paths => ['8042:/etc/aodh/healthcheck/disabled'], + } + end + + it 'configures specified values' do + is_expected.to contain_oslo__healthcheck('aodh_config').with( + :detailed => true, + :backends => ['disable_by_file'], + :disable_by_file_path => '/etc/aodh/healthcheck/disabled', + :disable_by_file_paths => ['8042:/etc/aodh/healthcheck/disabled'], + ) + 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 'aodh::healthcheck' + end + end + +end