| Dean Troyer | 8c2ce6e | 2015-02-18 14:47:54 -0600 | [diff] [blame] | 1 | #!/bin/bash | 
|  | 2 | # | 
|  | 3 | # lib/stack | 
|  | 4 | # | 
| Dean Troyer | dc97cb7 | 2015-03-28 08:20:50 -0500 | [diff] [blame] | 5 | # These functions are code snippets pulled out of ``stack.sh`` for easier | 
| Dean Troyer | 8c2ce6e | 2015-02-18 14:47:54 -0600 | [diff] [blame] | 6 | # re-use by Grenade.  They can assume the same environment is available | 
| Dean Troyer | dc97cb7 | 2015-03-28 08:20:50 -0500 | [diff] [blame] | 7 | # as in the lower part of ``stack.sh``, namely a valid stackrc has been sourced | 
|  | 8 | # as well as all of the ``lib/*`` files for the services have been sourced. | 
| Dean Troyer | 8c2ce6e | 2015-02-18 14:47:54 -0600 | [diff] [blame] | 9 | # | 
|  | 10 | # For clarity, all functions declared here that came from ``stack.sh`` | 
|  | 11 | # shall be named with the prefix ``stack_``. | 
|  | 12 |  | 
|  | 13 |  | 
| Dean Troyer | dc97cb7 | 2015-03-28 08:20:50 -0500 | [diff] [blame] | 14 | # Functions | 
|  | 15 | # --------- | 
|  | 16 |  | 
| Atsushi SAKAI | fe7b56c | 2015-11-13 17:06:16 +0900 | [diff] [blame] | 17 | # Generic service install handles venv creation if configured for service | 
| Dean Troyer | 8c2ce6e | 2015-02-18 14:47:54 -0600 | [diff] [blame] | 18 | # stack_install_service service | 
|  | 19 | function stack_install_service { | 
|  | 20 | local service=$1 | 
|  | 21 | if type install_${service} >/dev/null 2>&1; then | 
| Doug Hellmann | ddc3839 | 2015-05-07 21:06:24 +0000 | [diff] [blame] | 22 | # FIXME(dhellmann): Needs to be python3-aware at some point. | 
| Dean Troyer | 5686dbc | 2015-03-09 14:27:51 -0500 | [diff] [blame] | 23 | if [[ ${USE_VENV} = True && -n ${PROJECT_VENV[$service]:-} ]]; then | 
| Dean Troyer | 8c2ce6e | 2015-02-18 14:47:54 -0600 | [diff] [blame] | 24 | rm -rf ${PROJECT_VENV[$service]} | 
| Dean Troyer | 5686dbc | 2015-03-09 14:27:51 -0500 | [diff] [blame] | 25 | source $TOP_DIR/tools/build_venv.sh ${PROJECT_VENV[$service]} ${ADDITIONAL_VENV_PACKAGES//,/ } | 
| Dean Troyer | 8c2ce6e | 2015-02-18 14:47:54 -0600 | [diff] [blame] | 26 | export PIP_VIRTUAL_ENV=${PROJECT_VENV[$service]:-} | 
| Dean Troyer | 5686dbc | 2015-03-09 14:27:51 -0500 | [diff] [blame] | 27 |  | 
|  | 28 | # Install other OpenStack prereqs that might come from source repos | 
|  | 29 | install_oslo | 
|  | 30 | install_keystonemiddleware | 
| Dean Troyer | 8c2ce6e | 2015-02-18 14:47:54 -0600 | [diff] [blame] | 31 | fi | 
|  | 32 | install_${service} | 
| Dean Troyer | 5686dbc | 2015-03-09 14:27:51 -0500 | [diff] [blame] | 33 | if [[ ${USE_VENV} = True && -n ${PROJECT_VENV[$service]:-} ]]; then | 
| Dean Troyer | 8c2ce6e | 2015-02-18 14:47:54 -0600 | [diff] [blame] | 34 | unset PIP_VIRTUAL_ENV | 
|  | 35 | fi | 
|  | 36 | fi | 
|  | 37 | } |