devstack/lib/infra
Robert Collins f553ce24ea Actually install the requirements repo.
The requirements repo has had a setup.cfg etc for a long time but only
recently started using it. As it now has dependencies, we need to pip
install it. To preserve compat with older requirements repos I haven't
changed the call to invoke update-requirements yet, as we still have
the update.py symlink.

The pbr install is moved before requirements to ensure we don't
trigger easy-install.

Change-Id: I7d7e91694c9145fac0ddab8a9de5f789d723c641
2015-06-18 11:21:42 +12:00

54 lines
1.1 KiB
Bash

#!/bin/bash
#
# lib/infra
#
# Functions to install infrastructure projects needed by other projects
# early in the cycle. We need this so we can do things like gate on
# requirements as a global list
# Dependencies:
#
# - ``functions`` file
# ``stack.sh`` calls the entry points in this order:
#
# - install_infra
# Save trace setting
XTRACE=$(set +o | grep xtrace)
set +o xtrace
# Defaults
# --------
GITDIR["pbr"]=$DEST/pbr
REQUIREMENTS_DIR=$DEST/requirements
# Entry Points
# ------------
# install_infra() - Collect source and prepare
function install_infra {
# Install pbr
if use_library_from_git "pbr"; then
git_clone_by_name "pbr"
setup_lib "pbr"
else
# Always upgrade pbr to latest version as we may have pulled it
# in via system packages.
pip_install "-U" "pbr"
fi
# bring down global requirements
git_clone $REQUIREMENTS_REPO $REQUIREMENTS_DIR $REQUIREMENTS_BRANCH
pip_install $REQUIREMENTS_DIR
}
# Restore xtrace
$XTRACE
# Tell emacs to use shell-script-mode
## Local variables:
## mode: shell-script
## End: