|  | # lib/gantt | 
|  | # Install and start **Gantt** scheduler service | 
|  |  | 
|  | # Dependencies: | 
|  | # | 
|  | # - functions | 
|  | # - DEST, DATA_DIR, STACK_USER must be defined | 
|  |  | 
|  | # stack.sh | 
|  | # --------- | 
|  | # - install_gantt | 
|  | # - configure_gantt | 
|  | # - init_gantt | 
|  | # - start_gantt | 
|  | # - stop_gantt | 
|  | # - cleanup_gantt | 
|  |  | 
|  | # Save trace setting | 
|  | XTRACE=$(set +o | grep xtrace) | 
|  | set +o xtrace | 
|  |  | 
|  | # Defaults | 
|  | # -------- | 
|  |  | 
|  | # set up default directories | 
|  | GANTT_DIR=$DEST/gantt | 
|  | GANTT_STATE_PATH=${GANTT_STATE_PATH:=$DATA_DIR/gantt} | 
|  | GANTT_REPO=${GANTT_REPO:-${GIT_BASE}/openstack/gantt.git} | 
|  | GANTT_BRANCH=${GANTT_BRANCH:-master} | 
|  |  | 
|  | GANTTCLIENT_DIR=$DEST/python-ganttclient | 
|  | GANTTCLIENT_REPO=${GANTT_REPO:-${GIT_BASE}/openstack/python-ganttclient.git} | 
|  | GANTTCLIENT_BRANCH=${GANTT_BRANCH:-master} | 
|  |  | 
|  | # eventually we will have a separate gantt config | 
|  | # file but for compatibility reasone stick with | 
|  | # nova.conf for now | 
|  | GANTT_CONF_DIR=${GANTT_CONF_DIR:-/etc/nova} | 
|  | GANTT_CONF=$GANTT_CONF_DIR/nova.conf | 
|  |  | 
|  | # Support entry points installation of console scripts | 
|  | GANTT_BIN_DIR=$(get_python_exec_prefix) | 
|  |  | 
|  |  | 
|  | # Functions | 
|  | # --------- | 
|  |  | 
|  | # cleanup_gantt() - Remove residual data files, anything left over from previous | 
|  | # runs that a clean run would need to clean up | 
|  | function cleanup_gantt { | 
|  | echo "Cleanup Gantt" | 
|  | } | 
|  |  | 
|  | # configure_gantt() - Set config files, create data dirs, etc | 
|  | function configure_gantt { | 
|  | echo "Configure Gantt" | 
|  | } | 
|  |  | 
|  | # init_gantt() - Initialize database and volume group | 
|  | function init_gantt { | 
|  | echo "Initialize Gantt" | 
|  | } | 
|  |  | 
|  | # install_gantt() - Collect source and prepare | 
|  | function install_gantt { | 
|  | git_clone $GANTT_REPO $GANTT_DIR $GANTT_BRANCH | 
|  | setup_develop $GANTT_DIR | 
|  | } | 
|  |  | 
|  | # install_ganttclient() - Collect source and prepare | 
|  | function install_ganttclient { | 
|  | echo "Install Gantt Client" | 
|  | #    git_clone $GANTTCLIENT_REPO $GANTTCLIENT_DIR $GANTTCLIENT_BRANCH | 
|  | #    setup_develop $GANTTCLIENT_DIR | 
|  | } | 
|  |  | 
|  | # start_gantt() - Start running processes, including screen | 
|  | function start_gantt { | 
|  | if is_service_enabled gantt; then | 
|  | run_process gantt "$GANTT_BIN_DIR/gantt-scheduler --config-file $GANTT_CONF" | 
|  | fi | 
|  | } | 
|  |  | 
|  | # stop_gantt() - Stop running processes | 
|  | function stop_gantt { | 
|  | echo "Stop Gantt" | 
|  | stop_process gantt | 
|  | } | 
|  |  | 
|  | # Restore xtrace | 
|  | $XTRACE | 
|  |  | 
|  | # Tell emacs to use shell-script-mode | 
|  | ## Local variables: | 
|  | ## mode: shell-script | 
|  | ## End: |