1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
# Creates the files packages and services that are
# needed to deploy each type of storage server.
#
# == Parameters
# [*type*]
# (optional) The type of device, e.g. account, object, or container.
#
# [*enabled*]
# (optional) Should the service be enabled to start
# at boot. 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.
#
# [*config_file_name*]
# (optional) The configuration file name.
# Starting at the path "/etc/swift/"
# Defaults to "${name}-server.conf"
#
# [*service_provider*]
# (optional)
# To use the swiftinit service provider to manage swift services, set
# service_provider to "swiftinit". When enable is true the provider
# will populate boot files that start swift using swift-init at boot.
# See README for more details.
# Defaults to $::swift::params::service_provider.
#
# == Dependencies
# Requires Class[swift::storage]
#
define swift::storage::generic(
Swift::StorageServerType $type = $name,
Boolean $manage_service = true,
Boolean $enabled = true,
$package_ensure = 'present',
String[1] $config_file_name = "${name}-server.conf",
Swift::ServiceProvider $service_provider = $::swift::params::service_provider
) {
include swift::deps
include swift::params
Class['swift::storage'] -> Swift::Storage::Generic[$type]
package { "swift-${type}":
ensure => $package_ensure,
name => getvar("::swift::params::${type}_package_name"),
tag => ['openstack', 'swift-package'],
}
file { "/etc/swift/${type}-server/":
ensure => directory,
owner => $::swift::params::user,
group => $::swift::params::group,
require => Anchor['swift::config::begin'],
before => Anchor['swift::config::end'],
}
if $manage_service {
if $enabled {
$service_ensure = 'running'
} else {
$service_ensure = 'stopped'
}
swift::service { "swift-${type}-server":
os_family_service_name => getvar("::swift::params::${type}_server_service_name"),
service_ensure => $service_ensure,
enabled => $enabled,
config_file_name => $config_file_name,
service_provider => $service_provider,
service_tag => "swift-${name}-service",
}
swift::service { "swift-${type}-replicator":
os_family_service_name => getvar("::swift::params::${type}_replicator_service_name"),
service_ensure => $service_ensure,
enabled => $enabled,
config_file_name => $config_file_name,
service_provider => $service_provider,
service_tag => "swift-${name}-service",
}
swift::service { "swift-${type}-auditor":
os_family_service_name => getvar("::swift::params::${type}_auditor_service_name"),
service_ensure => $service_ensure,
enabled => $enabled,
config_file_name => $config_file_name,
service_provider => $service_provider,
service_tag => "swift-${name}-service",
}
}
}
|