From a63da90375a3800aa1e97c6b5de0755f75c55b8f Mon Sep 17 00:00:00 2001 From: Yanis Guenane Date: Wed, 22 Jul 2015 23:08:04 +0200 Subject: [PATCH] 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 'neutron-package' and 'neutron-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 == 'neutron-package' |> -> X Change-Id: I63ac9b1d806565eb1847ed0e36d393c6c7ea98ad --- manifests/agents/dhcp.pp | 3 ++- manifests/agents/l3.pp | 3 ++- manifests/agents/lbaas.pp | 3 ++- manifests/agents/metadata.pp | 3 ++- manifests/agents/metering.pp | 3 ++- manifests/agents/ml2/linuxbridge.pp | 7 ++++--- manifests/agents/ml2/ovs.pp | 5 +++-- manifests/agents/ml2/sriov.pp | 3 ++- manifests/agents/vpnaas.pp | 3 ++- manifests/init.pp | 2 +- manifests/server.pp | 3 ++- spec/classes/neutron_agents_dhcp_spec.rb | 5 +++-- spec/classes/neutron_agents_l3_spec.rb | 5 +++-- spec/classes/neutron_agents_lbaas_spec.rb | 5 +++-- spec/classes/neutron_agents_metadata_spec.rb | 7 ++++--- spec/classes/neutron_agents_metering_spec.rb | 5 +++-- spec/classes/neutron_agents_ml2_linuxbridge_spec.rb | 5 +++-- spec/classes/neutron_agents_ml2_ovs_spec.rb | 5 +++-- spec/classes/neutron_agents_ml2_sriov_spec.rb | 5 +++-- spec/classes/neutron_agents_vpnaas_spec.rb | 5 +++-- spec/classes/neutron_init_spec.rb | 2 +- spec/classes/neutron_server_spec.rb | 5 +++-- 22 files changed, 56 insertions(+), 36 deletions(-) diff --git a/manifests/agents/dhcp.pp b/manifests/agents/dhcp.pp index ab63635a2..3219e18b9 100644 --- a/manifests/agents/dhcp.pp +++ b/manifests/agents/dhcp.pp @@ -142,7 +142,7 @@ class neutron::agents::dhcp ( package { 'neutron-dhcp-agent': ensure => $package_ensure, name => $::neutron::params::dhcp_agent_package, - tag => 'openstack', + tag => ['openstack', 'neutron-package'], } } else { # Some platforms (RedHat) do not provide a neutron DHCP agent package. @@ -163,5 +163,6 @@ class neutron::agents::dhcp ( name => $::neutron::params::dhcp_agent_service, enable => $enabled, require => Class['neutron'], + tag => 'neutron-service', } } diff --git a/manifests/agents/l3.pp b/manifests/agents/l3.pp index 2e3fb2f53..f3dc71f79 100644 --- a/manifests/agents/l3.pp +++ b/manifests/agents/l3.pp @@ -180,7 +180,7 @@ class neutron::agents::l3 ( ensure => $package_ensure, name => $::neutron::params::l3_agent_package, require => Package['neutron'], - tag => 'openstack', + tag => ['openstack', 'neutron-package'], } } else { # Some platforms (RedHat) does not provide a neutron L3 agent package. @@ -201,5 +201,6 @@ class neutron::agents::l3 ( name => $::neutron::params::l3_agent_service, enable => $enabled, require => Class['neutron'], + tag => 'neutron-service', } } diff --git a/manifests/agents/lbaas.pp b/manifests/agents/lbaas.pp index f73c39468..a3b993228 100644 --- a/manifests/agents/lbaas.pp +++ b/manifests/agents/lbaas.pp @@ -83,7 +83,7 @@ class neutron::agents::lbaas ( package { 'neutron-lbaas-agent': ensure => $package_ensure, name => $::neutron::params::lbaas_agent_package, - tag => 'openstack', + tag => ['openstack', 'neutron-package'], } if $manage_service { if $enabled { @@ -98,5 +98,6 @@ class neutron::agents::lbaas ( name => $::neutron::params::lbaas_agent_service, enable => $enabled, require => Class['neutron'], + tag => 'neutron-service', } } diff --git a/manifests/agents/metadata.pp b/manifests/agents/metadata.pp index 32fd64a38..9f75a0cb1 100644 --- a/manifests/agents/metadata.pp +++ b/manifests/agents/metadata.pp @@ -150,7 +150,7 @@ class neutron::agents::metadata ( ensure => $package_ensure, name => $::neutron::params::metadata_agent_package, require => Package['neutron'], - tag => 'openstack', + tag => ['openstack', 'neutron-package'], } } @@ -167,5 +167,6 @@ class neutron::agents::metadata ( name => $::neutron::params::metadata_agent_service, enable => $enabled, require => Class['neutron'], + tag => 'neutron-service', } } diff --git a/manifests/agents/metering.pp b/manifests/agents/metering.pp index 0e5e6088c..ee7f09c5b 100644 --- a/manifests/agents/metering.pp +++ b/manifests/agents/metering.pp @@ -85,7 +85,7 @@ class neutron::agents::metering ( package { 'neutron-metering-agent': ensure => $package_ensure, name => $::neutron::params::metering_agent_package, - tag => 'openstack', + tag => ['openstack', 'neutron-package'], } } else { # Default dependency if the system does not provide a neutron metering agent package. @@ -105,5 +105,6 @@ class neutron::agents::metering ( name => $::neutron::params::metering_agent_service, enable => $enabled, require => Class['neutron'], + tag => 'neutron-service', } } diff --git a/manifests/agents/ml2/linuxbridge.pp b/manifests/agents/ml2/linuxbridge.pp index a9bef4098..8cc215f03 100644 --- a/manifests/agents/ml2/linuxbridge.pp +++ b/manifests/agents/ml2/linuxbridge.pp @@ -134,7 +134,7 @@ class neutron::agents::ml2::linuxbridge ( package { 'neutron-plugin-linuxbridge-agent': ensure => $package_ensure, name => $::neutron::params::linuxbridge_agent_package, - tag => 'openstack', + tag => ['openstack', 'neutron-package'], } } else { # Some platforms (RedHat) do not provide a separate @@ -143,7 +143,7 @@ class neutron::agents::ml2::linuxbridge ( package { 'neutron-plugin-linuxbridge-agent': ensure => $package_ensure, name => $::neutron::params::linuxbridge_server_package, - tag => 'openstack', + tag => ['openstack', 'neutron-package'], } } } @@ -160,6 +160,7 @@ class neutron::agents::ml2::linuxbridge ( ensure => $service_ensure, name => $::neutron::params::linuxbridge_agent_service, enable => $enabled, - require => Class['neutron'] + require => Class['neutron'], + tag => 'neutron-service', } } diff --git a/manifests/agents/ml2/ovs.pp b/manifests/agents/ml2/ovs.pp index 4dc0b6d59..dc31954e4 100644 --- a/manifests/agents/ml2/ovs.pp +++ b/manifests/agents/ml2/ovs.pp @@ -197,7 +197,7 @@ class neutron::agents::ml2::ovs ( package { 'neutron-ovs-agent': ensure => $package_ensure, name => $::neutron::params::ovs_agent_package, - tag => 'openstack', + tag => ['openstack', 'neutron-package'], } } else { # Some platforms (RedHat) do not provide a separate @@ -207,7 +207,7 @@ class neutron::agents::ml2::ovs ( package { 'neutron-ovs-agent': ensure => $package_ensure, name => $::neutron::params::ovs_server_package, - tag => 'openstack', + tag => ['openstack', 'neutron-package'], } } } @@ -225,6 +225,7 @@ class neutron::agents::ml2::ovs ( name => $::neutron::params::ovs_agent_service, enable => $enabled, require => Class['neutron'], + tag => 'neutron-service', } if $::neutron::params::ovs_cleanup_service { diff --git a/manifests/agents/ml2/sriov.pp b/manifests/agents/ml2/sriov.pp index dfb1cc886..0244204f0 100644 --- a/manifests/agents/ml2/sriov.pp +++ b/manifests/agents/ml2/sriov.pp @@ -75,7 +75,7 @@ class neutron::agents::ml2::sriov ( package { 'neutron-sriov-nic-agent': ensure => $package_ensure, name => $::neutron::params::sriov_nic_agent_package, - tag => 'openstack', + tag => ['openstack', 'neutron-package'], } if $manage_service { @@ -91,6 +91,7 @@ class neutron::agents::ml2::sriov ( name => $::neutron::params::sriov_nic_agent_service, enable => $enabled, require => Class['neutron'], + tag => 'neutron-service', } } diff --git a/manifests/agents/vpnaas.pp b/manifests/agents/vpnaas.pp index 93dc44dac..76cd9e85b 100644 --- a/manifests/agents/vpnaas.pp +++ b/manifests/agents/vpnaas.pp @@ -96,7 +96,7 @@ class neutron::agents::vpnaas ( package { 'neutron-vpnaas-agent': ensure => $package_ensure, name => $::neutron::params::vpnaas_agent_package, - tag => 'openstack', + tag => ['openstack', 'neutron-package'], } } else { Package['neutron'] -> Neutron_vpnaas_agent_config<||> @@ -115,5 +115,6 @@ class neutron::agents::vpnaas ( name => $::neutron::params::vpnaas_agent_service, enable => $enabled, require => Class['neutron'], + tag => 'neutron-service', } } diff --git a/manifests/init.pp b/manifests/init.pp index 8aa865cf5..5ede77778 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -344,7 +344,7 @@ class neutron ( package { 'neutron': ensure => $package_ensure, name => $::neutron::params::package_name, - tag => 'openstack', + tag => ['openstack', 'neutron-package'], } neutron_config { diff --git a/manifests/server.pp b/manifests/server.pp index 495b954bd..0eb7b8b44 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -336,7 +336,7 @@ class neutron::server ( package { 'neutron-server': ensure => $package_ensure, name => $::neutron::params::server_package, - tag => 'openstack', + tag => ['openstack', 'neutron-package'], } } else { # Some platforms (RedHat) does not provide a neutron-server package. @@ -503,5 +503,6 @@ class neutron::server ( hasstatus => true, hasrestart => true, require => Class['neutron'], + tag => 'neutron-service', } } diff --git a/spec/classes/neutron_agents_dhcp_spec.rb b/spec/classes/neutron_agents_dhcp_spec.rb index b8661e6f3..0efff0f1f 100644 --- a/spec/classes/neutron_agents_dhcp_spec.rb +++ b/spec/classes/neutron_agents_dhcp_spec.rb @@ -61,7 +61,7 @@ describe 'neutron::agents::dhcp' do is_expected.to contain_package('neutron-dhcp-agent').with( :name => platform_params[:dhcp_agent_package], :ensure => p[:package_ensure], - :tag => 'openstack' + :tag => ['openstack', 'neutron-package'], ) is_expected.to contain_package('neutron').with_before(/Package\[neutron-dhcp-agent\]/) is_expected.to contain_package('neutron-dhcp-agent').with_before(/Neutron_dhcp_agent_config\[.+\]/) @@ -76,7 +76,8 @@ describe 'neutron::agents::dhcp' do :name => platform_params[:dhcp_agent_service], :enable => true, :ensure => 'running', - :require => 'Class[Neutron]' + :require => 'Class[Neutron]', + :tag => 'neutron-service', ) end diff --git a/spec/classes/neutron_agents_l3_spec.rb b/spec/classes/neutron_agents_l3_spec.rb index f8bff457d..b57ec6ded 100644 --- a/spec/classes/neutron_agents_l3_spec.rb +++ b/spec/classes/neutron_agents_l3_spec.rb @@ -70,7 +70,7 @@ describe 'neutron::agents::l3' do :name => platform_params[:l3_agent_package], :ensure => p[:package_ensure], :require => 'Package[neutron]', - :tag => 'openstack' + :tag => ['openstack', 'neutron-package'], ) is_expected.to contain_package('neutron-l3').with_before(/Neutron_l3_agent_config\[.+\]/) else @@ -83,7 +83,8 @@ describe 'neutron::agents::l3' do :name => platform_params[:l3_agent_service], :enable => true, :ensure => 'running', - :require => 'Class[Neutron]' + :require => 'Class[Neutron]', + :tag => 'neutron-service', ) end diff --git a/spec/classes/neutron_agents_lbaas_spec.rb b/spec/classes/neutron_agents_lbaas_spec.rb index 4c53c21e0..f1fb7e51a 100644 --- a/spec/classes/neutron_agents_lbaas_spec.rb +++ b/spec/classes/neutron_agents_lbaas_spec.rb @@ -50,7 +50,7 @@ describe 'neutron::agents::lbaas' do is_expected.to contain_package('neutron-lbaas-agent').with( :name => platform_params[:lbaas_agent_package], :ensure => p[:package_ensure], - :tag => 'openstack' + :tag => ['openstack', 'neutron-package'], ) is_expected.to contain_package('neutron').with_before(/Package\[neutron-lbaas-agent\]/) is_expected.to contain_package('neutron-lbaas-agent').with_before(/Neutron_lbaas_agent_config\[.+\]/) @@ -62,7 +62,8 @@ describe 'neutron::agents::lbaas' do :name => platform_params[:lbaas_agent_service], :enable => true, :ensure => 'running', - :require => 'Class[Neutron]' + :require => 'Class[Neutron]', + :tag => 'neutron-service', ) end diff --git a/spec/classes/neutron_agents_metadata_spec.rb b/spec/classes/neutron_agents_metadata_spec.rb index 29b5d8d2a..8294f319e 100644 --- a/spec/classes/neutron_agents_metadata_spec.rb +++ b/spec/classes/neutron_agents_metadata_spec.rb @@ -39,8 +39,9 @@ describe 'neutron::agents::metadata' do is_expected.to contain_service('neutron-metadata').with( :name => platform_params[:metadata_agent_service], :enable => params[:enabled], - :ensure => 'running', - :require => 'Class[Neutron]' + :ensure => 'running', + :require => 'Class[Neutron]', + :tag => 'neutron-service', ) end @@ -104,7 +105,7 @@ describe 'neutron::agents::metadata' do is_expected.to contain_package('neutron-metadata').with( :ensure => params[:package_ensure], :name => platform_params[:metadata_agent_package], - :tag => 'openstack' + :tag => ['openstack', 'neutron-package'], ) end diff --git a/spec/classes/neutron_agents_metering_spec.rb b/spec/classes/neutron_agents_metering_spec.rb index ddc2a70eb..e0696d2db 100644 --- a/spec/classes/neutron_agents_metering_spec.rb +++ b/spec/classes/neutron_agents_metering_spec.rb @@ -69,7 +69,7 @@ describe 'neutron::agents::metering' do is_expected.to contain_package('neutron-metering-agent').with( :name => platform_params[:metering_agent_package], :ensure => p[:package_ensure], - :tag => 'openstack' + :tag => ['openstack', 'neutron-package'], ) is_expected.to contain_package('neutron').with_before(/Package\[neutron-metering-agent\]/) is_expected.to contain_package('neutron-metering-agent').with_before(/Neutron_metering_agent_config\[.+\]/) @@ -84,7 +84,8 @@ describe 'neutron::agents::metering' do :name => platform_params[:metering_agent_service], :enable => true, :ensure => 'running', - :require => 'Class[Neutron]' + :require => 'Class[Neutron]', + :tag => 'neutron-service', ) end diff --git a/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb b/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb index 308fca28e..41346f4b0 100644 --- a/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb +++ b/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb @@ -52,7 +52,7 @@ describe 'neutron::agents::ml2::linuxbridge' do is_expected.to contain_package('neutron-plugin-linuxbridge-agent').with( :name => linuxbridge_agent_package, :ensure => default_params[:package_ensure], - :tag => 'openstack' + :tag => ['openstack', 'neutron-package'], ) is_expected.to contain_package('neutron-plugin-linuxbridge-agent').with_before(/Neutron_agent_linuxbridge\[.+\]/) @@ -63,7 +63,8 @@ describe 'neutron::agents::ml2::linuxbridge' do :name => platform_params[:linuxbridge_agent_service], :enable => true, :ensure => 'running', - :require => 'Class[Neutron]' + :require => 'Class[Neutron]', + :tag => 'neutron-service', ) end diff --git a/spec/classes/neutron_agents_ml2_ovs_spec.rb b/spec/classes/neutron_agents_ml2_ovs_spec.rb index 48c34b567..bc6a56252 100644 --- a/spec/classes/neutron_agents_ml2_ovs_spec.rb +++ b/spec/classes/neutron_agents_ml2_ovs_spec.rb @@ -56,7 +56,7 @@ describe 'neutron::agents::ml2::ovs' do is_expected.to contain_package('neutron-ovs-agent').with( :name => platform_params[:ovs_agent_package], :ensure => p[:package_ensure], - :tag => 'openstack' + :tag => ['openstack', 'neutron-package'], ) is_expected.to contain_package('neutron-ovs-agent').with_before(/Neutron_agent_ovs\[.+\]/) else @@ -68,7 +68,8 @@ describe 'neutron::agents::ml2::ovs' do :name => platform_params[:ovs_agent_service], :enable => true, :ensure => 'running', - :require => 'Class[Neutron]' + :require => 'Class[Neutron]', + :tag => 'neutron-service', ) end diff --git a/spec/classes/neutron_agents_ml2_sriov_spec.rb b/spec/classes/neutron_agents_ml2_sriov_spec.rb index c28163aea..9e384df17 100644 --- a/spec/classes/neutron_agents_ml2_sriov_spec.rb +++ b/spec/classes/neutron_agents_ml2_sriov_spec.rb @@ -43,7 +43,7 @@ describe 'neutron::agents::ml2::sriov' do is_expected.to contain_package('neutron-sriov-nic-agent').with( :name => platform_params[:sriov_nic_agent_package], :ensure => p[:package_ensure], - :tag => 'openstack' + :tag => ['openstack', 'neutron-package'], ) is_expected.to contain_package('neutron-sriov-nic-agent').with_before(/Neutron_plugin_ml2\[.+\]/) end @@ -53,7 +53,8 @@ describe 'neutron::agents::ml2::sriov' do :name => platform_params[:sriov_nic_agent_service], :enable => true, :ensure => 'running', - :require => 'Class[Neutron]' + :require => 'Class[Neutron]', + :tag => 'neutron-service', ) end diff --git a/spec/classes/neutron_agents_vpnaas_spec.rb b/spec/classes/neutron_agents_vpnaas_spec.rb index 35b165cfb..f6c37e630 100644 --- a/spec/classes/neutron_agents_vpnaas_spec.rb +++ b/spec/classes/neutron_agents_vpnaas_spec.rb @@ -78,7 +78,7 @@ describe 'neutron::agents::vpnaas' do is_expected.to contain_package('neutron-vpnaas-agent').with( :name => platform_params[:vpnaas_agent_package], :ensure => p[:package_ensure], - :tag => 'openstack' + :tag => ['openstack', 'neutron-package'], ) is_expected.to contain_package('neutron').with_before(/Package\[neutron-vpnaas-agent\]/) is_expected.to contain_package('neutron-vpnaas-agent').with_before(/Neutron_vpnaas_agent_config\[.+\]/) @@ -92,7 +92,8 @@ describe 'neutron::agents::vpnaas' do :name => platform_params[:vpnaas_agent_service], :enable => true, :ensure => 'running', - :require => 'Class[Neutron]' + :require => 'Class[Neutron]', + :tag => 'neutron-service', ) end diff --git a/spec/classes/neutron_init_spec.rb b/spec/classes/neutron_init_spec.rb index ded09b81c..5f73459bf 100644 --- a/spec/classes/neutron_init_spec.rb +++ b/spec/classes/neutron_init_spec.rb @@ -105,7 +105,7 @@ describe 'neutron' do is_expected.to contain_package('neutron').with( :ensure => 'present', :name => platform_params[:common_package_name], - :tag => 'openstack' + :tag => ['openstack', 'neutron-package'], ) end diff --git a/spec/classes/neutron_server_spec.rb b/spec/classes/neutron_server_spec.rb index b046fbae0..b7b350ede 100644 --- a/spec/classes/neutron_server_spec.rb +++ b/spec/classes/neutron_server_spec.rb @@ -79,7 +79,7 @@ describe 'neutron::server' do is_expected.to contain_package('neutron-server').with( :name => platform_params[:server_package], :ensure => p[:package_ensure], - :tag => 'openstack' + :tag => ['openstack', 'neutron-package'], ) is_expected.to contain_package('neutron-server').with_before(/Neutron_api_config\[.+\]/) is_expected.to contain_package('neutron-server').with_before(/Neutron_config\[.+\]/) @@ -94,7 +94,8 @@ describe 'neutron::server' do :name => platform_params[:server_service], :enable => true, :ensure => 'running', - :require => 'Class[Neutron]' + :require => 'Class[Neutron]', + :tag => 'neutron-service', ) is_expected.not_to contain_class('neutron::db::sync') is_expected.to contain_neutron_api_config('filter:authtoken/auth_admin_prefix').with(