| #!/bin/bash |
| # |
| # lib/stack |
| # |
| # These functions are code snippets pulled out of stack.sh for easier |
| # re-use by Grenade. They can assume the same environment is available |
| # as in the lower part of stack.sh, namely a valid stackrc has been sourced |
| # as well as all of the lib/* files for the services have been sourced. |
| # |
| # For clarity, all functions declared here that came from ``stack.sh`` |
| # shall be named with the prefix ``stack_``. |
| |
| |
| # Generic service install handles venv creation if confgured for service |
| # stack_install_service service |
| function stack_install_service { |
| local service=$1 |
| if type install_${service} >/dev/null 2>&1; then |
| if [[ ${USE_VENV} = True && -n ${PROJECT_VENV[$service]:-} ]]; then |
| rm -rf ${PROJECT_VENV[$service]} |
| source $TOP_DIR/tools/build_venv.sh ${PROJECT_VENV[$service]} ${ADDITIONAL_VENV_PACKAGES//,/ } |
| export PIP_VIRTUAL_ENV=${PROJECT_VENV[$service]:-} |
| |
| # Install other OpenStack prereqs that might come from source repos |
| install_oslo |
| install_keystonemiddleware |
| fi |
| install_${service} |
| if [[ ${USE_VENV} = True && -n ${PROJECT_VENV[$service]:-} ]]; then |
| unset PIP_VIRTUAL_ENV |
| fi |
| fi |
| } |