Make all package name and ensure customizable

This makes all package names and package ensure values customizable as
parameters.  This is helpful for people who are not using vendor
provided packaging.  This also normalizes the package ensure value to be
'present' in all case.

Change-Id: Iee186f753b2800e59addd3f38591675fd5af35ad
This commit is contained in:
Clayton O'Neill 2015-02-10 16:34:13 +00:00
parent 8be5919026
commit 2861be7d21
12 changed files with 187 additions and 29 deletions

View File

@ -4,6 +4,14 @@
#
# == Parameters
#
# [*package_ensure*]
# (optional) The state of the package
# Defaults to 'present'
#
# [*agent_package_name*]
# (optional) Name of the package containing agent resources
# Defaults to api_package_name from designate::params
#
# [*enabled*]
# (optional) Whether to enable services.
# Defaults to true
@ -17,15 +25,17 @@
# Defaults to 'bind9'
#
class designate::agent (
$service_ensure = 'running',
$backend_driver = 'bind9',
$enabled = true,
$package_ensure = present,
$agent_package_name = undef,
$service_ensure = 'running',
$backend_driver = 'bind9',
$enabled = true,
) {
include designate::params
package { 'designate-agent':
ensure => installed,
name => $::designate::params::agent_package_name,
ensure => $package_ensure,
name => pick($agent_package_name, $::designate::params::agent_package_name),
}
Designate_config<||> ~> Service['designate-agent']

View File

@ -4,6 +4,14 @@
#
# == Parameters
#
# [*package_ensure*]
# (optional) The state of the package
# Defaults to 'present'
#
# [*api_package_name*]
# (optional) Name of the package containing api resources
# Defaults to api_package_name from designate::params
#
# [*enabled*]
# (optional) Whether to enable services.
# Defaults to true
@ -49,6 +57,8 @@
# Defaults to false
#
class designate::api (
$package_ensure = present,
$api_package_name = undef,
$enabled = true,
$service_ensure = 'running',
$auth_strategy = 'noauth',
@ -64,8 +74,8 @@ class designate::api (
include designate::params
package { 'designate-api':
ensure => installed,
name => $::designate::params::api_package_name,
ensure => $package_ensure,
name => pick($api_package_name, $::designate::params::api_package_name),
}
Designate_config<||> ~> Service['designate-api']

View File

@ -4,6 +4,14 @@
#
# == Parameters
#
# [*package_ensure*]
# (optional) The state of the package
# Defaults to 'present'
#
# [*central_package_name*]
# (optional) Name of the package containing central resources
# Defaults to central_package_name from designate::params
#
# [*enabled*]
# (optional) Whether to enable services.
# Defaults to true
@ -17,15 +25,17 @@
# Defaults to 'bind9'
#
class designate::central (
$service_ensure = 'running',
$enabled = true,
$backend_driver = 'bind9',
$package_ensure = present,
$central_package_name = undef,
$service_ensure = 'running',
$enabled = true,
$backend_driver = 'bind9',
) {
include designate::params
package { 'designate-central':
ensure => installed,
name => $::designate::params::central_package_name,
ensure => $package_ensure,
name => pick($central_package_name, $::designate::params::central_package_name),
}
Designate_config<||> ~> Service['designate-central']

View File

@ -4,19 +4,24 @@
#
# == Parameters
#
# [*ensure*]
# (optional) Ensure state for pachage.
# Defaults to 'present'
# [*package_ensure*]
# (optional) Ensure state for pachage.
# Defaults to 'present'
# [*client_package_name*]
# (optional) Name of the package containing client resources
# Defaults to client_package_name from designate::params
#
class designate::client (
$ensure = 'present'
$package_ensure = 'present',
$client_package_name = undef,
) {
include designate::params
package { 'python-designateclient':
ensure => $ensure,
name => $::designate::params::client_package_name,
ensure => $package_ensure,
name => pick($client_package_name, $::designate::params::client_package_name),
}
}

View File

@ -4,6 +4,14 @@
#
# == Parameters
#
# [*package_ensure*]
# (optional) The state of the package
# Defaults to 'present'
#
# [*common_package_name*]
# (optional) Name of the package containing shared resources
# Defaults to common_package_name from designate::params
#
# [*service_ensure*]
# (optional) Whether the designate-common package will be present..
# Defaults to 'present'
@ -42,6 +50,7 @@
#
class designate(
$package_ensure = present,
$common_package_name = undef,
$verbose = false,
$debug = false,
$root_helper = 'sudo designate-rootwrap /etc/designate/rootwrap.conf',
@ -56,7 +65,7 @@ class designate(
include designate::params
package { 'designate-common':
ensure => $package_ensure,
name => $::designate::params::common_package_name,
name => pick($common_package_name, $::designate::params::common_package_name),
}
user { 'designate':

View File

@ -4,6 +4,14 @@
#
# == Parameters
#
# [*package_ensure*]
# (optional) The state of the package
# Defaults to 'present'
#
# [*sink_package_name*]
# (optional) Name of the package containing sink resources
# Defaults to sink_package_name from designate::params
#
# [*enabled*]
# (optional) Whether to enable services.
# Defaults to true
@ -13,14 +21,16 @@
# Defaults to 'running'
#
class designate::sink (
$service_ensure = 'running',
$enabled = true,
$package_ensure = present,
$sink_package_name = undef,
$service_ensure = 'running',
$enabled = true,
) {
include designate::params
package { 'designate-sink':
ensure => installed,
name => $::designate::params::sink_package_name,
ensure => $package_ensure,
name => pick($sink_package_name, $::designate::params::sink_service_name),
}
Package['designate-sink'] -> Service['designate-sink']

View File

@ -20,7 +20,7 @@ describe 'designate::agent' do
)
should contain_package('designate-agent').with(
:name => platform_params[:agent_package_name],
:ensure => 'installed'
:ensure => 'present'
)
end
@ -66,4 +66,22 @@ describe 'designate::agent' do
it_configures 'designate-agent'
end
context 'with custom package name' do
let :facts do
{ :osfamily => 'RedHat' }
end
let :platform_params do
{ :agent_package_name => 'designate-agent-custom-name',
:agent_service_name => 'openstack-designate-agent'
}
end
before do
params.merge!({ :agent_package_name => 'designate-agent-custom-name' })
end
it_configures 'designate-agent'
end
end

View File

@ -27,7 +27,7 @@ describe 'designate::api' do
)
should contain_package('designate-api').with(
:name => platform_params[:api_package_name],
:ensure => 'installed'
:ensure => 'present'
)
end
@ -82,4 +82,22 @@ describe 'designate::api' do
it_configures 'designate-api'
end
context 'with custom package name' do
let :facts do
{ :osfamily => 'RedHat' }
end
let :platform_params do
{ :api_package_name => 'designate-api-custom-name',
:api_service_name => 'openstack-designate-api'
}
end
before do
params.merge!({ :api_package_name => 'designate-api-custom-name' })
end
it_configures 'designate-api'
end
end

View File

@ -20,7 +20,7 @@ describe 'designate::central' do
)
should contain_package('designate-central').with(
:name => platform_params[:central_package_name],
:ensure => 'installed'
:ensure => 'present'
)
end
@ -66,4 +66,22 @@ describe 'designate::central' do
it_configures 'designate-central'
end
context 'with custom package name' do
let :facts do
{ :osfamily => 'RedHat' }
end
let :platform_params do
{ :central_package_name => 'designate-central-custom-name',
:central_service_name => 'openstack-designate-central'
}
end
before do
params.merge!({ :central_package_name => 'designate-central-custom-name' })
end
it_configures 'designate-central'
end
end

View File

@ -40,4 +40,20 @@ describe 'designate::client' do
it_configures 'designate-client'
end
context 'with custom package name' do
let :facts do
{ :osfamily => 'RedHat' }
end
let :platform_params do
{ :client_package_name => 'designate-client-custom-name' }
end
let :params do
{ :client_package_name => 'designate-client-custom-name' }
end
it_configures 'designate-client'
end
end

View File

@ -7,7 +7,7 @@ describe 'designate' do
let :params do
{
:package_ensure => 'present',
:package_ensure => 'installed',
:debug => 'False',
:verbose => 'False',
:root_helper => 'sudo designate-rootwrap /etc/designate/rootwrap.conf'
@ -71,7 +71,7 @@ describe 'designate' do
it 'installs designate common package' do
should contain_package('designate-common').with(
:ensure => 'present',
:ensure => 'installed',
:name => platform_params[:common_package_name]
)
end
@ -121,4 +121,20 @@ describe 'designate' do
it_configures 'designate'
end
context 'with custom package name' do
let :facts do
{ :osfamily => 'RedHat' }
end
let :platform_params do
{ :common_package_name => 'designate-common-custom-name' }
end
before do
params.merge!({ :common_package_name => 'designate-common-custom-name' })
end
it_configures 'designate'
end
end

View File

@ -20,7 +20,7 @@ describe 'designate::sink' do
)
should contain_package('designate-sink').with(
:name => platform_params[:sink_package_name],
:ensure => 'installed'
:ensure => 'present'
)
end
end
@ -53,6 +53,24 @@ describe 'designate::sink' do
}
end
it_configures 'designate-sink'
end
context 'with custom package name' do
let :facts do
{ :osfamily => 'RedHat' }
end
let :platform_params do
{ :sink_package_name => 'designate-sink-custom-name',
:sink_service_name => 'openstack-designate-sink'
}
end
before do
params.merge!({ :sink_package_name => 'designate-sink-custom-name' })
end
it_configures 'designate-sink'
end
end