
Some users wish to override the default package provider by their own. Tag all packages with the 'openstack' to allow mass resource attributes override using resource collectors. Change-Id: Ib0cec660f134e266006f41572cafcc4661ca1e67 Closes-bug: #1391209 Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
86 lines
2.2 KiB
Puppet
86 lines
2.2 KiB
Puppet
# Creates the files packages and services that are
|
|
# needed to deploy each type of storage server.
|
|
#
|
|
# == Parameters
|
|
# [*enabled*]
|
|
# (optional) Should the service be enabled.
|
|
# Defaults to true
|
|
#
|
|
# [*manage_service*]
|
|
# (optional) Whether the service should be managed by Puppet.
|
|
# Defaults to true.
|
|
#
|
|
# [*package_ensure*]
|
|
# (optional) The desired ensure state of the swift storage packages.
|
|
# Defaults to present.
|
|
#
|
|
# [*service_provider*]
|
|
# (optional) The provider to use for the service
|
|
#
|
|
# == Dependencies
|
|
# Requires Class[swift::storage]
|
|
# == Examples
|
|
#
|
|
# == Authors
|
|
#
|
|
# Dan Bode dan@puppetlabs.com
|
|
#
|
|
# == Copyright
|
|
#
|
|
# Copyright 2011 Puppetlabs Inc, unless otherwise noted.
|
|
define swift::storage::generic(
|
|
$manage_service = true,
|
|
$enabled = true,
|
|
$package_ensure = 'present',
|
|
$service_provider = $::swift::params::service_provider
|
|
) {
|
|
|
|
include ::swift::params
|
|
|
|
Class['swift::storage'] -> Swift::Storage::Generic[$name]
|
|
|
|
validate_re($name, '^object|container|account$')
|
|
|
|
package { "swift-${name}":
|
|
ensure => $package_ensure,
|
|
# this is a way to dynamically build the variables to lookup
|
|
# sorry its so ugly :(
|
|
name => inline_template("<%= scope.lookupvar('::swift::params::${name}_package_name') %>"),
|
|
tag => 'openstack',
|
|
before => Service["swift-${name}", "swift-${name}-replicator"],
|
|
}
|
|
|
|
file { "/etc/swift/${name}-server/":
|
|
ensure => directory,
|
|
owner => 'swift',
|
|
group => 'swift',
|
|
}
|
|
|
|
if $manage_service {
|
|
if $enabled {
|
|
$service_ensure = 'running'
|
|
} else {
|
|
$service_ensure = 'stopped'
|
|
}
|
|
}
|
|
|
|
service { "swift-${name}":
|
|
ensure => $service_ensure,
|
|
name => inline_template("<%= scope.lookupvar('::swift::params::${name}_service_name') %>"),
|
|
enable => $enabled,
|
|
hasstatus => true,
|
|
provider => $service_provider,
|
|
subscribe => Package["swift-${name}"],
|
|
}
|
|
|
|
service { "swift-${name}-replicator":
|
|
ensure => $service_ensure,
|
|
name => inline_template("<%= scope.lookupvar('::swift::params::${name}_replicator_service_name') %>"),
|
|
enable => $enabled,
|
|
hasstatus => true,
|
|
provider => $service_provider,
|
|
subscribe => Package["swift-${name}"],
|
|
}
|
|
|
|
}
|