add lib/infra

move the infrastructure projects to a dedicated lib/infra, which
gives us access to this during grenade upgrade tests.

Change-Id: I1e832792b61d41ad290b4b2ab26fe664e710cebd
This commit is contained in:
Sean Dague 2013-07-31 13:07:45 -04:00
parent 549f1a8fc3
commit 0392a10a63
3 changed files with 65 additions and 5 deletions

56
lib/infra Normal file
View File

@ -0,0 +1,56 @@
# 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:
#
# unfubar_setuptools
# install_infra
# Save trace setting
XTRACE=$(set +o | grep xtrace)
set +o xtrace
# Defaults
# --------
PBR_DIR=$DEST/pbr
REQUIREMENTS_DIR=$DEST/requirements
# Entry Points
# ------------
# unfubar_setuptools() - Unbreak the giant mess that is the current state of setuptools
function unfubar_setuptools() {
# this is a giant game of who's on first, but it does consistently work
# there is hope that upstream python packaging fixes this in the future
echo_summary "Unbreaking setuptools"
pip_install -U setuptools
pip_install -U pip
uninstall_package python-setuptools
pip_install -U setuptools
pip_install -U pip
}
# install_infra() - Collect source and prepare
function install_infra() {
# bring down global requirements
git_clone $REQUIREMENTS_REPO $REQUIREMENTS_DIR $REQUIREMENTS_BRANCH
# Install pbr
git_clone $PBR_REPO $PBR_DIR $PBR_BRANCH
setup_develop $PBR_DIR
}
# Restore xtrace
$XTRACE
# Local variables:
# mode: shell-script
# End:

View File

@ -299,6 +299,7 @@ SERVICE_TIMEOUT=${SERVICE_TIMEOUT:-60}
# Source project function libraries # Source project function libraries
source $TOP_DIR/lib/tls source $TOP_DIR/lib/tls
source $TOP_DIR/lib/infra
source $TOP_DIR/lib/oslo source $TOP_DIR/lib/oslo
source $TOP_DIR/lib/horizon source $TOP_DIR/lib/horizon
source $TOP_DIR/lib/keystone source $TOP_DIR/lib/keystone
@ -314,8 +315,6 @@ source $TOP_DIR/lib/ldap
# Set the destination directories for other OpenStack projects # Set the destination directories for other OpenStack projects
OPENSTACKCLIENT_DIR=$DEST/python-openstackclient OPENSTACKCLIENT_DIR=$DEST/python-openstackclient
PBR_DIR=$DEST/pbr
# Interactive Configuration # Interactive Configuration
# ------------------------- # -------------------------
@ -588,6 +587,8 @@ if is_service_enabled neutron; then
install_neutron_agent_packages install_neutron_agent_packages
fi fi
# Unbreak the giant mess that is the current state of setuptools
unfubar_setuptools
# System-specific preconfigure # System-specific preconfigure
# ============================ # ============================
@ -658,9 +659,8 @@ fi
echo_summary "Installing OpenStack project source" echo_summary "Installing OpenStack project source"
# Install pbr # Install required infra support libraries
git_clone $PBR_REPO $PBR_DIR $PBR_BRANCH install_infra
setup_develop $PBR_DIR
# Install oslo libraries that have graduated # Install oslo libraries that have graduated
install_oslo install_oslo

View File

@ -136,6 +136,10 @@ NEUTRON_BRANCH=${NEUTRON_BRANCH:-master}
NEUTRONCLIENT_REPO=${NEUTRONCLIENT_REPO:-${GIT_BASE}/openstack/python-neutronclient.git} NEUTRONCLIENT_REPO=${NEUTRONCLIENT_REPO:-${GIT_BASE}/openstack/python-neutronclient.git}
NEUTRONCLIENT_BRANCH=${NEUTRONCLIENT_BRANCH:-master} NEUTRONCLIENT_BRANCH=${NEUTRONCLIENT_BRANCH:-master}
# consolidated openstack requirements
REQUIREMENTS_REPO=${REQUIREMENTS_REPO:-${GIT_BASE}/openstack/requirements.git}
REQUIREMENTS_BRANCH=${REQUIREMENTS_BRANCH:-master}
# storage service # storage service
SWIFT_REPO=${SWIFT_REPO:-${GIT_BASE}/openstack/swift.git} SWIFT_REPO=${SWIFT_REPO:-${GIT_BASE}/openstack/swift.git}
SWIFT_BRANCH=${SWIFT_BRANCH:-master} SWIFT_BRANCH=${SWIFT_BRANCH:-master}