Restart Neutron agents if packages are updated

Creates 'notify' relationships between the relevant Neutron
package(s) and agent services.  This will cause the agents
to be restarted if the package(s) is/are updated.

Change-Id: I4e2049f94636c3ca171fc1ba0d4b1c3cc67610cd
Closes-bug: 1472425
This commit is contained in:
Mike Dorman
2015-07-07 16:57:14 -06:00
parent 424ea9a34d
commit 9a60cbd1e4
19 changed files with 55 additions and 1 deletions

View File

@@ -172,6 +172,10 @@ class neutron::agents::dhcp (
} else {
$service_ensure = 'stopped'
}
Package['neutron'] ~> Service['neutron-dhcp-service']
if $::neutron::params::dhcp_agent_package {
Package['neutron-dhcp-agent'] ~> Service['neutron-dhcp-service']
}
}
service { 'neutron-dhcp-service':

View File

@@ -204,6 +204,10 @@ class neutron::agents::l3 (
} else {
$service_ensure = 'stopped'
}
Package['neutron'] ~> Service['neutron-l3']
if $::neutron::params::l3_agent_package {
Package['neutron-l3'] ~> Service['neutron-l3']
}
}
service { 'neutron-l3':

View File

@@ -99,6 +99,8 @@ class neutron::agents::lbaas (
} else {
$service_ensure = 'stopped'
}
Package['neutron'] ~> Service['neutron-lbaas-service']
Package['neutron-lbaas-agent'] ~> Service['neutron-lbaas-service']
}
service { 'neutron-lbaas-service':

View File

@@ -158,6 +158,10 @@ class neutron::agents::metadata (
} else {
$service_ensure = 'stopped'
}
Package['neutron'] ~> Service['neutron-metadata']
if $::neutron::params::metadata_agent_package {
Package['neutron-metadata'] ~> Service['neutron-metadata']
}
}
service { 'neutron-metadata':

View File

@@ -103,6 +103,10 @@ class neutron::agents::metering (
} else {
$service_ensure = 'stopped'
}
Package['neutron'] ~> Service['neutron-metering-service']
if $::neutron::params::metering_agent_package {
Package['neutron-metering-agent'] ~> Service['neutron-metering-service']
}
}
service { 'neutron-metering-service':

View File

@@ -153,6 +153,8 @@ class neutron::agents::ml2::linuxbridge (
} else {
$service_ensure = 'stopped'
}
Package['neutron'] ~> Service['neutron-plugin-linuxbridge-agent']
Package['neutron-plugin-linuxbridge-agent'] ~> Service['neutron-plugin-linuxbridge-agent']
}
service { 'neutron-plugin-linuxbridge-agent':

View File

@@ -237,6 +237,8 @@ class neutron::agents::ml2::ovs (
} else {
$service_ensure = 'stopped'
}
Package['neutron'] ~> Service['neutron-ovs-agent-service']
Package['neutron-ovs-agent'] ~> Service['neutron-ovs-agent-service']
}
service { 'neutron-ovs-agent-service':

View File

@@ -84,6 +84,8 @@ class neutron::agents::ml2::sriov (
} else {
$service_ensure = 'stopped'
}
Package['neutron'] ~> Service['neutron-sriov-nic-agent-service']
Package['neutron-sriov-nic-agent'] ~> Service['neutron-sriov-nic-agent-service']
}
service { 'neutron-sriov-nic-agent-service':

View File

@@ -105,6 +105,10 @@ class neutron::agents::vpnaas (
} else {
$service_ensure = 'stopped'
}
Package['neutron'] ~> Service['neutron-vpnaas-service']
if $::neutron::params::vpnaas_agent_package {
Package['neutron-vpnaas-agent'] ~> Service['neutron-vpnaas-service']
}
}
service { 'neutron-vpnaas-service':

View File

@@ -354,6 +354,9 @@ class neutron (
tag => ['openstack', 'neutron-package'],
}
# Make sure all services get restarted if neutron-common package is upgraded
Package['neutron'] ~> Service<| tag == 'neutron-service' |>
neutron_config {
'DEFAULT/verbose': value => $verbose;
'DEFAULT/debug': value => $debug;

View File

@@ -80,6 +80,7 @@ describe 'neutron::agents::dhcp' do
:require => 'Class[Neutron]',
:tag => 'neutron-service',
)
is_expected.to contain_service('neutron-dhcp-service').that_subscribes_to('Package[neutron]')
end
context 'with manage_service as false' do
@@ -172,6 +173,9 @@ describe 'neutron::agents::dhcp' do
it_configures 'neutron dhcp agent'
it_configures 'neutron dhcp agent with dnsmasq_config_file specified'
it 'configures subscription to neutron-dhcp-agent package' do
is_expected.to contain_service('neutron-dhcp-service').that_subscribes_to('Package[neutron-dhcp-agent]')
end
end
context 'on RedHat platforms' do

View File

@@ -85,6 +85,7 @@ describe 'neutron::agents::l3' do
:require => 'Class[Neutron]',
:tag => 'neutron-service',
)
is_expected.to contain_service('neutron-l3').that_subscribes_to('Package[neutron]')
end
context 'with manage_service as false' do
@@ -150,6 +151,9 @@ describe 'neutron::agents::l3' do
it_configures 'neutron l3 agent'
it_configures 'neutron l3 agent with network_device_mtu specified'
it 'configures neutron-l3 package subscription' do
is_expected.to contain_service('neutron-l3').that_subscribes_to( [ 'Package[neutron]', 'Package[neutron-l3]' ] )
end
end
context 'on RedHat platforms' do

View File

@@ -62,6 +62,7 @@ describe 'neutron::agents::lbaas' do
:require => 'Class[Neutron]',
:tag => 'neutron-service',
)
is_expected.to contain_service('neutron-lbaas-service').that_subscribes_to( [ 'Package[neutron]', 'Package[neutron-lbaas-agent]' ] )
end
context 'with manage_service as false' do

View File

@@ -43,6 +43,7 @@ describe 'neutron::agents::metadata' do
:require => 'Class[Neutron]',
:tag => 'neutron-service',
)
is_expected.to contain_service('neutron-metadata').that_subscribes_to('Package[neutron]')
end
context 'with manage_service as false' do
@@ -111,7 +112,9 @@ describe 'neutron::agents::metadata' do
it_configures 'neutron metadata agent'
it_configures 'neutron metadata agent with auth_insecure and auth_ca_cert set'
it 'configures subscription to neutron-metadata package' do
is_expected.to contain_service('neutron-metadata').that_subscribes_to('Package[neutron-metadata]')
end
end
context 'on Red Hat platforms' do

View File

@@ -82,6 +82,7 @@ describe 'neutron::agents::metering' do
:require => 'Class[Neutron]',
:tag => 'neutron-service',
)
is_expected.to contain_service('neutron-metering-service').that_subscribes_to('Package[neutron]')
end
context 'with manage_service as false' do
@@ -114,6 +115,9 @@ describe 'neutron::agents::metering' do
end
it_configures 'neutron metering agent'
it 'configures subscription to neutron-metering-agent package' do
is_expected.to contain_service('neutron-metering-service').that_subscribes_to('Package[neutron-metering-agent]')
end
end
context 'on RedHat platforms' do

View File

@@ -65,6 +65,7 @@ describe 'neutron::agents::ml2::linuxbridge' do
:require => 'Class[Neutron]',
:tag => 'neutron-service',
)
is_expected.to contain_service('neutron-plugin-linuxbridge-agent').that_subscribes_to( [ 'Package[neutron]', 'Package[neutron-plugin-linuxbridge-agent]' ] )
end
context 'with manage_service as false' do

View File

@@ -73,6 +73,7 @@ describe 'neutron::agents::ml2::ovs' do
:require => 'Class[Neutron]',
:tag => 'neutron-service',
)
is_expected.to contain_service('neutron-ovs-agent-service').that_subscribes_to( [ 'Package[neutron]', 'Package[neutron-ovs-agent]' ] )
end
context 'with manage_service as false' do

View File

@@ -56,6 +56,7 @@ describe 'neutron::agents::ml2::sriov' do
:require => 'Class[Neutron]',
:tag => 'neutron-service',
)
is_expected.to contain_service('neutron-sriov-nic-agent-service').that_subscribes_to( [ 'Package[neutron]', 'Package[neutron-sriov-nic-agent]' ] )
end
context 'with manage_service as false' do

View File

@@ -92,6 +92,7 @@ describe 'neutron::agents::vpnaas' do
:require => 'Class[Neutron]',
:tag => 'neutron-service',
)
is_expected.to contain_service('neutron-vpnaas-service').that_subscribes_to('Package[neutron]')
end
context 'with manage_service as false' do
@@ -128,6 +129,9 @@ describe 'neutron::agents::vpnaas' do
end
it_configures 'neutron vpnaas agent'
it 'configures subscription to neutron-vpnaas-agent package' do
is_expected.to contain_service('neutron-vpnaas-service').that_subscribes_to('Package[neutron-vpnaas-agent]')
end
end
context 'on RedHat 6 platforms' do