devstack/extras.d
Matthew Treinish 7e603d1bf8
Move tempest plugin install to the end
For the tempest plugin install inside the tox venv to hold we need to
ensure that it's the last thing run that touches the tox venv before
devstack ends. Otherwise there is a chance we'll recreate the venv in
a later step of installing and configuring tempest. This commit
moves the plugin installation into it's own function and calls that
function as last phase of the tempest setup to make sure it runs last.

Change-Id: Ie253171537e8c5a9887cc30aba1cad4b31e57663
2016-06-02 14:50:13 -04:00
..
60-ceph.sh [ceph] Deploy ceph failed at controller node for multiple node 2015-11-13 11:12:47 +00:00
80-tempest.sh Move tempest plugin install to the end 2016-06-02 14:50:13 -04:00
README.md doc: document override_defaults phase 2015-11-18 12:43:54 +05:30

Extras Hooks

The extras.d directory contains project dispatch scripts that are called at specific times by stack.sh, unstack.sh and clean.sh. These hooks are used to install, configure and start additional projects during a DevStack run without any modifications to the base DevStack scripts.

When stack.sh reaches one of the hook points it sources the scripts in extras.d that end with .sh. To control the order that the scripts are sourced their names start with a two digit sequence number. DevStack reserves the sequence numbers 00 through 09 and 90 through 99 for its own use.

The scripts are sourced at the beginning of each script that calls them. The entire stack.sh variable space is available. The scripts are sourced with one or more arguments, the first of which defines the hook phase:

override_defaults | source | stack | unstack | clean

override_defaults: always called first in any of the scripts, used to
    override defaults (if need be) that are otherwise set in lib/* scripts

source: called by stack.sh. Used to set the initial defaults in a lib/*
    script or similar

stack: called by stack.sh.  There are four possible values for
    the second arg to distinguish the phase stack.sh is in:

    arg 2:  pre-install | install | post-config | extra

unstack: called by unstack.sh

clean: called by clean.sh.  Remember, clean.sh also calls unstack.sh
    so that work need not be repeated.

The stack phase sub-phases are called from stack.sh in the following places:

pre-install - After all system prerequisites have been installed but before any
    DevStack-specific services are installed (including database and rpc).

install - After all OpenStack services have been installed and configured
    but before any OpenStack services have been started.  Changes to OpenStack
    service configurations should be done here.

post-config - After OpenStack services have been initialized but still before
    they have been started. (This is probably mis-named, think of it as post-init.)

extra - After everything is started.