| #!/bin/bash |
| # |
| # lib/template |
| # Functions to control the configuration and operation of the XXXX service |
| # <do not include this template file in ``stack.sh``!> |
| |
| # Dependencies: |
| # |
| # - ``functions`` file |
| # - ``SERVICE_{TENANT_NAME|PASSWORD}`` must be defined |
| # - <list other global vars that are assumed to be defined> |
| |
| # ``stack.sh`` calls the entry points in this order: |
| # |
| # - is_XXXX_enabled |
| # - install_XXXX |
| # - configure_XXXX |
| # - init_XXXX |
| # - start_XXXX |
| # - stop_XXXX |
| # - cleanup_XXXX |
| |
| # Save trace setting |
| _XTRACE_TEMPLATE=$(set +o | grep xtrace) |
| set +o xtrace |
| |
| |
| # Defaults |
| # -------- |
| |
| # <define global variables here that belong to this project> |
| |
| # Set up default directories |
| XXXX_DIR=$DEST/XXXX |
| XXX_CONF_DIR=/etc/XXXX |
| |
| |
| # Functions |
| # --------- |
| |
| # Test if any XXXX services are enabled |
| # is_XXXX_enabled |
| function is_XXXX_enabled { |
| [[ ,${DISABLED_SERVICES} =~ ,"XXXX" ]] && return 1 |
| [[ ,${ENABLED_SERVICES} =~ ,"XX-" ]] && return 0 |
| return 1 |
| } |
| |
| # cleanup_XXXX() - Remove residual data files, anything left over from previous |
| # runs that a clean run would need to clean up |
| function cleanup_XXXX { |
| # kill instances (nova) |
| # delete image files (glance) |
| # This function intentionally left blank |
| : |
| } |
| |
| # configure_XXXX() - Set config files, create data dirs, etc |
| function configure_XXXX { |
| # sudo python setup.py deploy |
| # iniset $XXXX_CONF ... |
| # This function intentionally left blank |
| : |
| } |
| |
| # create_XXXX_accounts() - Create required service accounts |
| function create_XXXX_accounts { |
| : |
| } |
| |
| # init_XXXX() - Initialize databases, etc. |
| function init_XXXX { |
| # clean up from previous (possibly aborted) runs |
| # create required data files |
| : |
| } |
| |
| # install_XXXX() - Collect source and prepare |
| function install_XXXX { |
| # git clone xxx |
| : |
| } |
| |
| # start_XXXX() - Start running processes |
| function start_XXXX { |
| # The quoted command must be a single command and not include an |
| # shell metacharacters, redirections or shell builtins. |
| # run_process XXXX "$XXXX_DIR/bin/XXXX-bin" |
| : |
| } |
| |
| # stop_XXXX() - Stop running processes |
| function stop_XXXX { |
| # for serv in serv-a serv-b; do |
| # stop_process $serv |
| # done |
| : |
| } |
| |
| # Restore xtrace |
| $_XTRACE_TEMPLATE |
| |
| # Tell emacs to use shell-script-mode |
| ## Local variables: |
| ## mode: shell-script |
| ## End: |