Emilien Macchi 6dc85b0f79 Notify services if swift.conf is modified
swift.conf contains the hash_suffix. With the current module, we have a
race condition where services can start *before* having the right hash
in swift.conf, so some objects mays be put in quarantine.

When usint swift_config (which affect swift.conf), we should restart all
services to ensure our ring is running correctly.

Change-Id: I1087ba4ec079ca9c43bea9ff0511347632871ec2
Closes-bug: #1442329
2015-04-09 17:03:07 -04:00

57 lines
1.4 KiB
Puppet

# Class swift::storage::object
#
# == 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) Value of package resource parameter 'ensure'.
# Defaults to 'present'.
#
class swift::storage::object(
$manage_service = true,
$enabled = true,
$package_ensure = 'present'
) {
Swift_config<| |> ~> Service['swift-object-updater']
Swift_config<| |> ~> Service['swift-object-auditor']
swift::storage::generic { 'object':
manage_service => $manage_service,
enabled => $enabled,
package_ensure => $package_ensure,
}
include ::swift::params
if $manage_service {
if $enabled {
$service_ensure = 'running'
} else {
$service_ensure = 'stopped'
}
}
service { 'swift-object-updater':
ensure => $service_ensure,
name => $::swift::params::object_updater_service_name,
enable => $enabled,
provider => $::swift::params::service_provider,
require => Package['swift-object'],
}
service { 'swift-object-auditor':
ensure => $service_ensure,
name => $::swift::params::object_auditor_service_name,
enable => $enabled,
provider => $::swift::params::service_provider,
require => Package['swift-object'],
}
}