Prevent keystone eventlet from starting

On debian based hosts, when a package is installed, the packager
has the service automatically start. This causes a problem,
especially in CI, where the eventlet doesnt quit fast enough
and apache is started but cant bind to port.

Change-Id: I6b07a70f0729639f12ebc19f9d3cd405d8be214b
Closes-Bug: 1569390
This commit is contained in:
Matthew Black 2016-04-19 11:53:52 -04:00 committed by Emilien Macchi
parent 7765952a8d
commit a90175e620
2 changed files with 19 additions and 0 deletions

View File

@ -515,6 +515,11 @@
# (optional) Specify the keystone system group to be used with keystone-manage.
# Defaults to 'keystone'
#
# [*manage_policyrcd*]
# (optional) Whether to manage the policy-rc.d on debian based systems to
# prevent keystone eventlet from auto-starting on package install.
# Defaults to false
#
# DEPRECATED PARAMETERS
#
# [*service_provider*]
@ -648,6 +653,7 @@ class keystone(
$domain_config_directory = '/etc/keystone/domains',
$keystone_user = $::keystone::params::keystone_user,
$keystone_group = $::keystone::params::keystone_group,
$manage_policyrcd = false,
# DEPRECATED PARAMETERS
$admin_workers = max($::processorcount, 2),
$public_workers = max($::processorcount, 2),
@ -869,6 +875,12 @@ class keystone(
'eventlet_server/public_workers': value => $public_workers;
}
if $manage_policyrcd {
# openstacklib::policyrcd only affects debian based systems.
class { '::openstacklib::policyrcd': services => ['keystone'] }
Class['::openstacklib::policyrcd'] -> Package['keystone']
}
if $manage_service {
if $enabled {
$service_ensure = 'running'

View File

@ -0,0 +1,7 @@
---
features:
- Provides bool to determine if policy-rc.d should be managed
for keystone eventlet service.
issues:
- Keystone eventlet service is auto-started on debian based
systems on package install.