Merge "Add designate::mdns class"
This commit is contained in:
commit
c2220c928b
|
@ -0,0 +1,94 @@
|
|||
# == Class designate::mdns
|
||||
#
|
||||
# Configure designate Mini DNS service
|
||||
#
|
||||
# === Parameters:
|
||||
#
|
||||
# [*package_ensure*]
|
||||
# (Optional) The state of the package.
|
||||
# Defaults to 'present'.
|
||||
#
|
||||
# [*mdns_package_name*]
|
||||
# (Optional) Name of the package containing mdns resources.
|
||||
# Defaults to mdns_package_name from designate::params.
|
||||
#
|
||||
# [*enabled*]
|
||||
# (Optional) Whether to enable services.
|
||||
# Defaults to true.
|
||||
#
|
||||
# [*manage_service*]
|
||||
# (Optional) Whether the designate mdns service will be running.
|
||||
# Defaults to 'running'.
|
||||
#
|
||||
# [*workers*]
|
||||
# (Optional) Number of mdns worker processes to spawn.
|
||||
# Defaults to $::os_service_default.
|
||||
#
|
||||
# [*threads*]
|
||||
# (Optional) Number of mdns greenthreads to spawn.
|
||||
# Defaults to $::os_service_default.
|
||||
#
|
||||
# [*host*]
|
||||
# (Optional) mDNS Bind Host.
|
||||
# Defaults to $::os_service_default.
|
||||
#
|
||||
# [*port*]
|
||||
# (Optional) mDNS Port Number.
|
||||
# Defaults to $::os_service_default.
|
||||
#
|
||||
# [*tcp_backlog*]
|
||||
# (Optional) mDNS TCP Backlog.
|
||||
# Defaults to $::os_service_default.
|
||||
#
|
||||
# [*tcp_recv_timeout*]
|
||||
# (Optional) mDNS TCP Receive Timeout.
|
||||
# Defaults to $::os_service_default.
|
||||
#
|
||||
# [*query_enforce_tsig*]
|
||||
# (Optional) Enforce all incoming queries (including AXFR) are TSIG signed.
|
||||
# Defaults to $::os_service_default.
|
||||
#
|
||||
# [*storage_driver*]
|
||||
# (Optional) The storage driver to use.
|
||||
# Defaults to $::os_service_default.
|
||||
#
|
||||
# [*max_message_size*]
|
||||
# (Optional) Maximum message size to emit.
|
||||
# Defaults to $::os_service_default.
|
||||
#
|
||||
class designate::mdns (
|
||||
$package_ensure = present,
|
||||
$mdns_package_name = $::designate::params::mdns_package_name,
|
||||
$enabled = true,
|
||||
$manage_service = 'running',
|
||||
$workers = $::os_service_default,
|
||||
$threads = $::os_service_default,
|
||||
$host = $::os_service_default,
|
||||
$port = $::os_service_default,
|
||||
$tcp_backlog = $::os_service_default,
|
||||
$tcp_recv_timeout = $::os_service_default,
|
||||
$query_enforce_tsig = $::os_service_default,
|
||||
$storage_driver = $::os_service_default,
|
||||
$max_message_size = $::os_service_default
|
||||
) inherits designate {
|
||||
|
||||
designate_config {
|
||||
'service:mdns/workers' : value => $workers;
|
||||
'service:mdns/threads' : value => $threads;
|
||||
'service:mdns/host' : value => $host;
|
||||
'service:mdns/port' : value => $port;
|
||||
'service:mdns/tcp_backlog' : value => $tcp_backlog;
|
||||
'service:mdns/tcp_recv_timeout' : value => $tcp_recv_timeout;
|
||||
'service:mdns/query_enforce_tsig' : value => $query_enforce_tsig;
|
||||
'service:mdns/storage_driver' : value => $storage_driver;
|
||||
'service:mdns/max_message_size' : value => $max_message_size;
|
||||
}
|
||||
|
||||
designate::generic_service { 'mdns':
|
||||
enabled => $enabled,
|
||||
manage_service => $manage_service,
|
||||
ensure_package => $package_ensure,
|
||||
package_name => $mdns_package_name,
|
||||
service_name => $::designate::params::mdns_service_name,
|
||||
}
|
||||
}
|
|
@ -17,12 +17,14 @@ class designate::params {
|
|||
$central_package_name = 'openstack-designate-central'
|
||||
$agent_package_name = 'openstack-designate-agent'
|
||||
$sink_package_name = 'openstack-designate-sink'
|
||||
$mdns_package_name = 'openstack-designate-mdns'
|
||||
# service names
|
||||
$agent_service_name = 'openstack-designate-agent'
|
||||
$api_service_name = 'openstack-designate-api'
|
||||
$central_service_name = 'openstack-designate-central'
|
||||
$sink_service_name = 'openstack-designate-sink'
|
||||
$pymysql_package_name = undef
|
||||
$mdns_service_name = 'openstack-designate-mdns'
|
||||
}
|
||||
'Debian': {
|
||||
# package name
|
||||
|
@ -31,12 +33,14 @@ class designate::params {
|
|||
$central_package_name = 'designate-central'
|
||||
$agent_package_name = 'designate-agent'
|
||||
$sink_package_name = 'designate-sink'
|
||||
$mdns_package_name = 'designate-mdns'
|
||||
# service names
|
||||
$agent_service_name = 'designate-agent'
|
||||
$api_service_name = 'designate-api'
|
||||
$central_service_name = 'designate-central'
|
||||
$sink_service_name = 'designate-sink'
|
||||
$pymysql_package_name = 'python-pymysql'
|
||||
$mdns_service_name = 'designate-mdns'
|
||||
}
|
||||
default: {
|
||||
fail("Unsupported osfamily: ${::osfamily} operatingsystem")
|
||||
|
|
|
@ -0,0 +1,82 @@
|
|||
#
|
||||
# Unit tests for designate::mdns
|
||||
#
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'designate::mdns' do
|
||||
|
||||
let :params do
|
||||
{ :enabled => true }
|
||||
end
|
||||
|
||||
shared_examples 'designate-mdns' do
|
||||
|
||||
context 'with default parameters' do
|
||||
|
||||
it 'installs designate-mdns package and service' do
|
||||
is_expected.to contain_service('designate-mdns').with(
|
||||
:name => platform_params[:mdns_service_name],
|
||||
:ensure => 'running',
|
||||
:enable => 'true',
|
||||
:tag => ['openstack', 'designate-service'],
|
||||
)
|
||||
is_expected.to contain_package('designate-mdns').with(
|
||||
:name => platform_params[:mdns_package_name],
|
||||
:ensure => 'present',
|
||||
:tag => ['openstack', 'designate-package'],
|
||||
)
|
||||
end
|
||||
|
||||
it 'configures designate-mdns with default parameters' do
|
||||
is_expected.to contain_designate_config('service:mdns/workers').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_designate_config('service:mdns/threads').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_designate_config('service:mdns/host').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_designate_config('service:mdns/port').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_designate_config('service:mdns/tcp_backlog').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_designate_config('service:mdns/tcp_recv_timeout').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_designate_config('service:mdns/query_enforce_tsig').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_designate_config('service:mdns/storage_driver').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_designate_config('service:mdns/max_message_size').with_value('<SERVICE DEFAULT>')
|
||||
end
|
||||
|
||||
context 'when using custom options' do
|
||||
before { params.merge!(:workers => '2',
|
||||
:query_enforce_tsig => 'true',
|
||||
:tcp_backlog => '200',
|
||||
:max_message_size => '1000'
|
||||
)}
|
||||
it 'configures designate-mdns with custom options ' do
|
||||
is_expected.to contain_designate_config('service:mdns/workers').with_value('2')
|
||||
is_expected.to contain_designate_config('service:mdns/query_enforce_tsig').with_value(true)
|
||||
is_expected.to contain_designate_config('service:mdns/tcp_backlog').with_value('200')
|
||||
is_expected.to contain_designate_config('service:mdns/max_message_size').with_value('1000')
|
||||
end
|
||||
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
|
||||
let(:platform_params) do
|
||||
case facts[:osfamily]
|
||||
when 'Debian'
|
||||
{
|
||||
:mdns_package_name => 'designate-mdns',
|
||||
:mdns_service_name => 'designate-mdns'
|
||||
}
|
||||
when 'RedHat'
|
||||
{
|
||||
:mdns_package_name => 'openstack-designate-mdns',
|
||||
:mdns_service_name => 'openstack-designate-mdns'
|
||||
}
|
||||
end
|
||||
end
|
||||
it_behaves_like 'designate-mdns'
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue