Add new stack phase: post-extra

The current existing phases "post-config" and "extra" are not
sufficient to allow local.conf overrides to extra type services
because they run after the services are installed and configured.
This commit introduces a new phase called "post-extra" that runs
after these existing phases. With this change, users are able to
leverage local.conf to provide overridden options to services
like Tempest.

Change-Id: I5d758eebfda804dd1d8cbc3d5cc35ef4dcc8c96f
Closes-Bug: #1249085
This commit is contained in:
Ryan Hsu 2013-11-07 12:12:35 -08:00
parent 5a35e73b34
commit feb28837f4
4 changed files with 13 additions and 2 deletions

View File

@ -326,6 +326,7 @@ The defined phases are:
* **local** - extracts ``localrc`` from ``local.conf`` before ``stackrc`` is sourced
* **post-config** - runs after the layer 2 services are configured and before they are started
* **extra** - runs after services are started and before any files in ``extra.d`` are executed
* **post-extra** - runs after files in ``extra.d`` are executed
The file is processed strictly in sequence; meta-sections may be specified more than once but if any settings are duplicated the last to appear in the file will be used.

View File

@ -14,6 +14,9 @@ if is_service_enabled tempest; then
echo_summary "Initializing Tempest"
configure_tempest
init_tempest
elif [[ "$1" == "stack" && "$2" == "post-extra" ]]; then
# local.conf Tempest option overrides
:
fi
if [[ "$1" == "unstack" ]]; then

View File

@ -19,10 +19,10 @@ sourced with one or more arguments, the first of which defines the hook phase:
source: always called first in any of the scripts, used to set the
initial defaults in a lib/* script or similar
stack: called by stack.sh. There are three possible values for
stack: called by stack.sh. There are four possible values for
the second arg to distinguish the phase stack.sh is in:
arg 2: install | post-config | extra
arg 2: install | post-config | extra | post-extra
unstack: called by unstack.sh

View File

@ -1252,6 +1252,13 @@ if [[ -d $TOP_DIR/extras.d ]]; then
done
fi
# Local Configuration
# ===================
# Apply configuration from local.conf if it exists for layer 2 services
# Phase: post-extra
merge_config_group $TOP_DIR/local.conf post-extra
# Run local script
# ================