diff --git a/files/swift-container-sync.conf.upstart b/files/swift-container-sync.conf.upstart new file mode 100644 index 00000000..54b010cf --- /dev/null +++ b/files/swift-container-sync.conf.upstart @@ -0,0 +1,20 @@ +# swift-container-sync - SWIFT Container Sync +# +# The swift container sync. + +description "SWIFT Container Sync" +author "Sergio Rubio " + +start on runlevel [2345] +stop on runlevel [016] + +pre-start script + if [ -f "/etc/swift/container-server.conf" ]; then + exec /usr/bin/swift-init container-sync start + else + exit 1 + fi +end script + +post-stop exec /usr/bin/swift-init container-sync stop + diff --git a/manifests/storage/account.pp b/manifests/storage/account.pp index 08ba9d40..ec68a945 100644 --- a/manifests/storage/account.pp +++ b/manifests/storage/account.pp @@ -4,4 +4,19 @@ class swift::storage::account( swift::storage::generic { 'account': package_ensure => $package_ensure, } + + # Not tested in other distros, safety measure + if $operatingsystem == 'Ubuntu' { + service { 'swift-account-reaper': + ensure => running, + enable => true, + provider => $::swift::params::service_provider, + } + + service { 'swift-account-auditor': + ensure => running, + enable => true, + provider => $::swift::params::service_provider, + } + } } diff --git a/manifests/storage/container.pp b/manifests/storage/container.pp index 823cc9e7..dd2dcb4e 100644 --- a/manifests/storage/container.pp +++ b/manifests/storage/container.pp @@ -4,4 +4,28 @@ class swift::storage::container( swift::storage::generic { 'container': package_ensure => $package_ensure } + + # Not tested in other distros, safety measure + if $operatingsystem == 'Ubuntu' { + service { 'swift-container-updater': + ensure => running, + enable => true, + provider => $::swift::params::service_provider, + } + service { 'swift-container-auditor': + ensure => running, + enable => true, + provider => $::swift::params::service_provider, + } + # The following service conf is missing in Ubunty 12.04 + file { '/etc/init/swift-container-sync.conf': + source => 'puppet:///modules/swift/swift-container-sync.conf.upstart', + } + service { 'swift-container-sync': + ensure => running, + enable => true, + provider => $::swift::params::service_provider, + require => File['/etc/init/swift-container-sync.conf'] + } + } } diff --git a/manifests/storage/object.pp b/manifests/storage/object.pp index c9bc7309..440044a1 100644 --- a/manifests/storage/object.pp +++ b/manifests/storage/object.pp @@ -4,4 +4,18 @@ class swift::storage::object( swift::storage::generic { 'object': package_ensure => $package_ensure } + + # Not tested in other distros, safety measure + if $operatingsystem == 'Ubuntu' { + service { 'swift-object-updater': + ensure => running, + enable => true, + provider => $::swift::params::service_provider, + } + service { 'swift-object-auditor': + ensure => running, + enable => true, + provider => $::swift::params::service_provider, + } + } }