diff --git a/manifests/storage/container.pp b/manifests/storage/container.pp index d148443e..481b3c97 100644 --- a/manifests/storage/container.pp +++ b/manifests/storage/container.pp @@ -24,11 +24,15 @@ class swift::storage::container( source => 'puppet:///modules/swift/swift-container-sync.conf.upstart', require => Package['swift-container'], } + file { '/etc/init.d/swift-container-sync': + ensure => link, + target => '/lib/init/upstart-job', + } service { 'swift-container-sync': ensure => running, enable => true, provider => $::swift::params::service_provider, - require => File['/etc/init/swift-container-sync.conf'] + require => File['/etc/init/swift-container-sync.conf', '/etc/init.d/swift-container-sync'] } } } diff --git a/spec/classes/swift_storage_container_spec.rb b/spec/classes/swift_storage_container_spec.rb index 37ede927..8db026e0 100644 --- a/spec/classes/swift_storage_container_spec.rb +++ b/spec/classes/swift_storage_container_spec.rb @@ -29,6 +29,30 @@ describe 'swift::storage::container' do param_set end it { should contain_swift__storage__generic('container').with_package_ensure(param_hash[:package_ensure]) } + it 'should have some other services' do + ['swift-container-updater', 'swift-container-auditor'].each do |service| + should contain_service(service).with( + :ensure => 'running', + :enable => true, + :provider => 'upstart', + :require => 'Package[swift-container]' + ) + end + should contain_service('swift-container-sync').with( + :ensure => 'running', + :enable => true, + :provider => 'upstart', + :require => ['File[/etc/init/swift-container-sync.conf]', 'File[/etc/init.d/swift-container-sync]'] + ) + should contain_file('/etc/init/swift-container-sync.conf').with( + :source => 'puppet:///modules/swift/swift-container-sync.conf.upstart', + :require => 'Package[swift-container]' + ) + should contain_file('/etc/init.d/swift-container-sync').with( + :ensure => 'link', + :target => '/lib/init/upstart-job' + ) + end end end end