devstack/extras.d
Sébastien Han 4eb04a5f9e Ability to use a remote Ceph cluster
Sometimes we want to run some benchmarks on virtual machines that will be
backed by a Ceph cluster. The first idea that comes in our mind is to
use devstack to quickly get an OpenStack up and running but what about
the configuration of Devstack with this remote cluster?

Thanks to this commit it's now possible to use an already existing Ceph
cluster. In this case Devstack just needs two things:

* the location of the Ceph config file (by default devstack will look
for /etc/ceph/ceph.conf
* the admin key of the remote ceph cluster (by default devstack will
look for /etc/ceph/ceph.client.admin.keyring)

Devstack will then create the necessary pools, users, keys and will
connect the OpenStack environment as usual. During the unstack phase
every pools, users and keys will be deleted on the remote cluster while
local files and ceph-common package will be removed from the current
Devstack host.

To enable this mode simply add REMOTE_CEPH=True to your localrc file.

Change-Id: I1a4b6fd676d50b6a41a09e7beba9b11f8d1478f7
Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-13 09:49:58 +01:00
..
40-dib.sh A service to install diskimage-builder 2014-08-20 09:06:34 +12:00
50-ironic.sh Integration testing preparation for Ironic 2014-03-14 13:44:00 -07:00
60-ceph.sh Ability to use a remote Ceph cluster 2015-01-13 09:49:58 +01:00
70-gantt.sh Add support for Gantt 2014-01-30 14:47:50 -07:00
70-sahara.sh Remove sahara-dashboard 2014-09-01 15:36:15 +09:00
70-trove.sh support installing clients at released versions 2014-11-04 10:18:58 +01:00
70-tuskar.sh Add support for tuskar-api service 2014-11-18 18:28:58 +00:00
70-zaqar.sh Rename Marconi to Zaqar 2014-08-18 14:59:49 -04:00
80-opendaylight.sh Invoke create_nova_conf_neutron from odl-compute post-install 2014-06-16 10:27:42 -04:00
80-tempest.sh Complete moving Keystone setup out of keystone_data.sh 2014-03-10 15:17:30 -05:00
README.md Add pre-install phase for extras.d plugins 2014-07-09 11:35:16 -05:00

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:

source | stack | unstack | clean

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 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.