Add tag to package and service resources

In order to be able to take an action after all the packages of the
module have been installed/updated or all the services have been
started/restarted, we set a 'swift-package' and 'swift-service' tag
for each package and service of this module.

At the moment, there is a generic openstack tag that is not specific
enough if one wants to take action upon a single module change.

Use case :

If an action needs to be taken after all the packages have been
installed or updated : Package <| tag == 'swift-package' |> -> X

Change-Id: I1632bc0cee2a1c4cd5cc5d270a6d22919377c36b
This commit is contained in:
Yanis Guenane 2015-07-22 17:31:54 +02:00
parent b12279a790
commit da4a0dd2ae
11 changed files with 31 additions and 13 deletions

View File

@ -41,7 +41,7 @@ class swift(
package { 'swift':
ensure => $package_ensure,
name => $::swift::params::package_name,
tag => 'openstack',
tag => ['openstack', 'swift-package'],
}
}

View File

@ -170,7 +170,7 @@ class swift::proxy(
package { 'swift-proxy':
ensure => $package_ensure,
name => $::swift::params::proxy_package_name,
tag => 'openstack',
tag => ['openstack', 'swift-package'],
}
concat { '/etc/swift/proxy-server.conf':
@ -215,5 +215,6 @@ class swift::proxy(
provider => $::swift::params::service_provider,
hasstatus => true,
subscribe => Concat['/etc/swift/proxy-server.conf'],
tag => 'swift-service',
}
}

View File

@ -44,6 +44,7 @@ class swift::storage::account(
enable => $enabled,
provider => $::swift::params::service_provider,
require => Package['swift-account'],
tag => 'swift-service',
}
service { 'swift-account-auditor':
@ -52,5 +53,6 @@ class swift::storage::account(
enable => $enabled,
provider => $::swift::params::service_provider,
require => Package['swift-account'],
tag => 'swift-service',
}
}

View File

@ -49,6 +49,7 @@ class swift::storage::container(
enable => $enabled,
provider => $::swift::params::service_provider,
require => Package['swift-container'],
tag => 'swift-service',
}
service { 'swift-container-auditor':
@ -57,6 +58,7 @@ class swift::storage::container(
enable => $enabled,
provider => $::swift::params::service_provider,
require => Package['swift-container'],
tag => 'swift-service',
}
if $::operatingsystem == 'Ubuntu' {

View File

@ -47,7 +47,7 @@ define swift::storage::generic(
# 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',
tag => ['openstack', 'swift-package'],
before => Service["swift-${name}", "swift-${name}-replicator"],
}
@ -72,6 +72,7 @@ define swift::storage::generic(
hasstatus => true,
provider => $service_provider,
subscribe => Package["swift-${name}"],
tag => 'swift-service',
}
service { "swift-${name}-replicator":
@ -81,6 +82,7 @@ define swift::storage::generic(
hasstatus => true,
provider => $service_provider,
subscribe => Package["swift-${name}"],
tag => 'swift-service',
}
}

View File

@ -44,6 +44,7 @@ class swift::storage::object(
enable => $enabled,
provider => $::swift::params::service_provider,
require => Package['swift-object'],
tag => 'swift-service',
}
service { 'swift-object-auditor':
@ -52,5 +53,6 @@ class swift::storage::object(
enable => $enabled,
provider => $::swift::params::service_provider,
require => Package['swift-object'],
tag => 'swift-service',
}
}

View File

@ -42,7 +42,8 @@ describe 'swift::proxy' do
:provider => 'upstart',
:enable => true,
:hasstatus => true,
:subscribe => 'Concat[/etc/swift/proxy-server.conf]'
:subscribe => 'Concat[/etc/swift/proxy-server.conf]',
:tag => 'swift-service',
}
)}
it { is_expected.to contain_file('/etc/swift/proxy-server.conf').with(

View File

@ -38,7 +38,8 @@ describe 'swift::storage::account' do
is_expected.to contain_service(service_alias).with(
:name => service_name,
:ensure => (param_hash[:manage_service] && param_hash[:enabled]) ? 'running' : 'stopped',
:enable => param_hash[:enabled]
:enable => param_hash[:enabled],
:tag => 'swift-service',
)
end
end
@ -57,7 +58,8 @@ describe 'swift::storage::account' do
is_expected.to contain_service(service_alias).with(
:ensure => nil,
:name => service_name,
:enable => false
:enable => false,
:tag => 'swift-service',
)
end
end

View File

@ -38,7 +38,8 @@ describe 'swift::storage::container' do
is_expected.to contain_service(service_alias).with(
:name => service_name,
:ensure => (param_hash[:manage_service] && param_hash[:enabled]) ? 'running' : 'stopped',
:enable => param_hash[:enabled]
:enable => param_hash[:enabled],
:tag => 'swift-service',
)
end
end
@ -57,7 +58,8 @@ describe 'swift::storage::container' do
is_expected.to contain_service(service_alias).with(
:ensure => nil,
:name => service_name,
:enable => false
:enable => false,
:tag => 'swift-service',
)
end
end

View File

@ -39,7 +39,8 @@ describe 'swift::storage::object' do
is_expected.to contain_service(service_alias).with(
:name => service_name,
:ensure => (param_hash[:manage_service] && param_hash[:enabled]) ? 'running' : 'stopped',
:enable => param_hash[:enabled]
:enable => param_hash[:enabled],
:tag => 'swift-service',
)
end
end
@ -58,7 +59,8 @@ describe 'swift::storage::object' do
is_expected.to contain_service(service_alias).with(
:ensure => nil,
:name => service_name,
:enable => false
:enable => false,
:tag => 'swift-service',
)
end
end

View File

@ -47,19 +47,21 @@ describe 'swift::storage::generic' do
end
it { is_expected.to contain_package("swift-#{t}").with(
:ensure => param_hash[:package_ensure],
:tag => 'openstack'
:tag => ['openstack', 'swift-package'],
)}
it { is_expected.to contain_service("swift-#{t}").with(
:ensure => 'running',
:enable => true,
:hasstatus => true,
:provider => param_hash[:service_provider]
:provider => param_hash[:service_provider],
:tag => 'swift-service',
)}
it { is_expected.to contain_service("swift-#{t}-replicator").with(
:ensure => 'running',
:enable => true,
:hasstatus => true,
:provider => param_hash[:service_provider]
:provider => param_hash[:service_provider],
:tag => 'swift-service',
)}
it { is_expected.to contain_file("/etc/swift/#{t}-server/").with(
:ensure => 'directory',