Support healthcheck middleware options
Trove introduced the healthcheck middleware during this cycle. This introduces the new class to support the middleware options. Depends-on: https://review.opendev.org/c/openstack/trove/+/910117 Change-Id: I5baf1e07078cb904d0c1ca17874c2639620e5e4f
This commit is contained in:
parent
8252b9f4a8
commit
06b384e84d
54
manifests/healthcheck.pp
Normal file
54
manifests/healthcheck.pp
Normal file
@ -0,0 +1,54 @@
|
||||
# == Class: trove::healthcheck
|
||||
#
|
||||
# Configure oslo_middleware options in healthcheck section
|
||||
#
|
||||
# == Params
|
||||
#
|
||||
# [*detailed*]
|
||||
# (Optional) Show more detailed information as part of the response.
|
||||
# Defaults to $facts['os_service_default']
|
||||
#
|
||||
# [*backends*]
|
||||
# (Optional) Additional backends that can perform health checks and report
|
||||
# that information back as part of a request.
|
||||
# Defaults to $facts['os_service_default']
|
||||
#
|
||||
# [*allowed_source_ranges*]
|
||||
# (Optional) A list of network addresses to limit source ip allowed to access
|
||||
# healthcheck information.
|
||||
# Defaults to $facts['os_service_default']
|
||||
#
|
||||
# [*ignore_proxied_requests*]
|
||||
# (Optional) Ignore requests with proxy headers
|
||||
# Defaults to $facts['os_service_default']
|
||||
#
|
||||
# [*disable_by_file_path*]
|
||||
# (Optional) Check the presence of a file to determine if an application
|
||||
# is running on a port.
|
||||
# Defaults to $facts['os_service_default']
|
||||
#
|
||||
# [*disable_by_file_paths*]
|
||||
# (Optional) Check the presence of a file to determine if an application
|
||||
# is running on a port. Expects a "port:path" list of strings.
|
||||
# Defaults to $facts['os_service_default']
|
||||
#
|
||||
class trove::healthcheck (
|
||||
$detailed = $facts['os_service_default'],
|
||||
$backends = $facts['os_service_default'],
|
||||
$allowed_source_ranges = $facts['os_service_default'],
|
||||
$ignore_proxied_requests = $facts['os_service_default'],
|
||||
$disable_by_file_path = $facts['os_service_default'],
|
||||
$disable_by_file_paths = $facts['os_service_default'],
|
||||
) {
|
||||
|
||||
include trove::deps
|
||||
|
||||
oslo::healthcheck { 'trove_config':
|
||||
detailed => $detailed,
|
||||
backends => $backends,
|
||||
allowed_source_ranges => $allowed_source_ranges,
|
||||
ignore_proxied_requests => $ignore_proxied_requests,
|
||||
disable_by_file_path => $disable_by_file_path,
|
||||
disable_by_file_paths => $disable_by_file_paths,
|
||||
}
|
||||
}
|
4
releasenotes/notes/healthcheck-39c7baba411cc930.yaml
Normal file
4
releasenotes/notes/healthcheck-39c7baba411cc930.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
The new ``trove::healthcheck`` class has been added.
|
61
spec/classes/trove_healthcheck_spec.rb
Normal file
61
spec/classes/trove_healthcheck_spec.rb
Normal file
@ -0,0 +1,61 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'trove::healthcheck' do
|
||||
|
||||
shared_examples_for 'trove::healthcheck' do
|
||||
|
||||
context 'with default parameters' do
|
||||
let :params do
|
||||
{}
|
||||
end
|
||||
|
||||
it 'configures default values' do
|
||||
is_expected.to contain_oslo__healthcheck('trove_config').with(
|
||||
:detailed => '<SERVICE DEFAULT>',
|
||||
:backends => '<SERVICE DEFAULT>',
|
||||
:allowed_source_ranges => '<SERVICE DEFAULT>',
|
||||
:ignore_proxied_requests => '<SERVICE DEFAULT>',
|
||||
:disable_by_file_path => '<SERVICE DEFAULT>',
|
||||
:disable_by_file_paths => '<SERVICE DEFAULT>',
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with specific parameters' do
|
||||
let :params do
|
||||
{
|
||||
:detailed => true,
|
||||
:backends => ['disable_by_file'],
|
||||
:allowed_source_ranges => ['10.0.0.0/24', '10.0.1.0/24'],
|
||||
:ignore_proxied_requests => false,
|
||||
:disable_by_file_path => '/etc/trove/healthcheck/disabled',
|
||||
:disable_by_file_paths => ['8779:/etc/trove/healthcheck/disabled'],
|
||||
}
|
||||
end
|
||||
|
||||
it 'configures specified values' do
|
||||
is_expected.to contain_oslo__healthcheck('trove_config').with(
|
||||
:detailed => true,
|
||||
:backends => ['disable_by_file'],
|
||||
:allowed_source_ranges => ['10.0.0.0/24', '10.0.1.0/24'],
|
||||
:ignore_proxied_requests => false,
|
||||
:disable_by_file_path => '/etc/trove/healthcheck/disabled',
|
||||
:disable_by_file_paths => ['8779:/etc/trove/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 'trove::healthcheck'
|
||||
end
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in New Issue
Block a user