| # lib/stackforge |
| # |
| # Functions to install stackforge libraries that we depend on so |
| # that we can try their git versions during devstack gate. |
| # |
| # This is appropriate for python libraries that release to pypi and are |
| # expected to be used beyond OpenStack like, but are requirements |
| # for core services in global-requirements. |
| # |
| # * wsme |
| # * pecan |
| # |
| # This is not appropriate for stackforge projects which are early stage |
| # OpenStack tools |
| |
| # Dependencies: |
| # ``functions`` file |
| |
| # ``stack.sh`` calls the entry points in this order: |
| # |
| # install_stackforge |
| |
| # Save trace setting |
| XTRACE=$(set +o | grep xtrace) |
| set +o xtrace |
| |
| |
| # Defaults |
| # -------- |
| WSME_DIR=$DEST/wsme |
| PECAN_DIR=$DEST/pecan |
| |
| # Entry Points |
| # ------------ |
| |
| # install_stackforge() - Collect source and prepare |
| function install_stackforge() { |
| # TODO(sdague): remove this once we get to Icehouse, this just makes |
| # for a smoother transition of existing users. |
| cleanup_stackforge |
| |
| git_clone $WSME_REPO $WSME_DIR $WSME_BRANCH |
| setup_develop_no_requirements_update $WSME_DIR |
| |
| git_clone $PECAN_REPO $PECAN_DIR $PECAN_BRANCH |
| setup_develop_no_requirements_update $PECAN_DIR |
| } |
| |
| # cleanup_stackforge() - purge possibly old versions of stackforge libraries |
| function cleanup_stackforge() { |
| # this means we've got an old version installed, lets get rid of it |
| # otherwise python hates itself |
| for lib in wsme pecan; do |
| if ! python -c "import $lib" 2>/dev/null; then |
| echo "Found old $lib... removing to ensure consistency" |
| local PIP_CMD=$(get_pip_command) |
| pip_install $lib |
| sudo $PIP_CMD uninstall -y $lib |
| fi |
| done |
| } |
| |
| # Restore xtrace |
| $XTRACE |
| |
| # Local variables: |
| # mode: shell-script |
| # End: |