devstack/lib/neutron_thirdparty/README.md
Chris Dent 2f27a0ed3c Replace screen_it() with run_process() throughout
run_process will use screen if USE_SCREEN=True (the default),
otherwise it will simply start the requested service. Therefore
wherever screen_it used, run_process can be instead.

Where stop_screen was found it has been replaced with stop_process.

A tail_log function has been added which will tail a logfile in a
screen if USE_SCREEN is True.

lib/template has been updated to reflect the use of the new
functions.

When using sg the quoting in run_process gets very complicated.
To get around this run_process and the functions it calls accepts
an optional third argument. If set it is a group to be used with sg.

Change-Id: Ia3843818014f7c6c7526ef3aa9676bbddb8a85ca
2014-09-11 18:59:39 +01:00

1.2 KiB

Neutron third party specific files

Some Neutron plugins require third party programs to function. The files under the directory, lib/neutron_thirdparty/, will be used when their service are enabled. Third party program specific configuration variables should be in this file.

  • filename: <third_party>
    • The corresponding file name should be same to service name, <third_party>.

functions

lib/neutron calls the following functions when the <third_party> is enabled

functions to be implemented

  • configure_<third_party>: set config files, create data dirs, etc e.g. sudo python setup.py deploy iniset $XXXX_CONF...

  • init_<third_party>: initialize databases, etc

  • install_<third_party>: collect source and prepare e.g. git clone xxx

  • start_<third_party>: start running processes, including screen if USE_SCREEN=True e.g. run_process XXXX "$XXXX_DIR/bin/XXXX-bin"

  • stop_<third_party>: stop running processes (non-screen) e.g. stop_process XXXX

  • check_<third_party>: verify that the integration between neutron server and third-party components is sane