add lib/stackforge to let us test wsme / pecan from git
wsme and pecan libraries have migrated to stackforge for development. If we support them in devstack, we can use their git version instead of the release version, which ensures that they won't break the rest of OpenStack when they cut a new release. This is similar to how oslo testing works. Long term we probably want a more generic mechanism to handle this, but for now, this should get us rolling, and get them gating. Change-Id: Icf3475f433081c7c625864107d7e118e214396e1
This commit is contained in:
parent
dc30bd3eb4
commit
6832272a18
67
lib/stackforge
Normal file
67
lib/stackforge
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# 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 $WSME_DIR
|
||||||
|
|
||||||
|
git_clone $PECAN_REPO $PECAN_DIR $PECAN_BRANCH
|
||||||
|
setup_develop $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:
|
4
stack.sh
4
stack.sh
@ -299,6 +299,7 @@ source $TOP_DIR/lib/apache
|
|||||||
source $TOP_DIR/lib/tls
|
source $TOP_DIR/lib/tls
|
||||||
source $TOP_DIR/lib/infra
|
source $TOP_DIR/lib/infra
|
||||||
source $TOP_DIR/lib/oslo
|
source $TOP_DIR/lib/oslo
|
||||||
|
source $TOP_DIR/lib/stackforge
|
||||||
source $TOP_DIR/lib/horizon
|
source $TOP_DIR/lib/horizon
|
||||||
source $TOP_DIR/lib/keystone
|
source $TOP_DIR/lib/keystone
|
||||||
source $TOP_DIR/lib/glance
|
source $TOP_DIR/lib/glance
|
||||||
@ -627,6 +628,9 @@ install_infra
|
|||||||
# Install oslo libraries that have graduated
|
# Install oslo libraries that have graduated
|
||||||
install_oslo
|
install_oslo
|
||||||
|
|
||||||
|
# Install stackforge libraries for testing
|
||||||
|
install_stackforge
|
||||||
|
|
||||||
# Install clients libraries
|
# Install clients libraries
|
||||||
install_keystoneclient
|
install_keystoneclient
|
||||||
install_glanceclient
|
install_glanceclient
|
||||||
|
10
stackrc
10
stackrc
@ -193,6 +193,16 @@ TROVE_BRANCH=${TROVE_BRANCH:-master}
|
|||||||
TROVECLIENT_REPO=${TROVECLIENT_REPO:-${GIT_BASE}/openstack/python-troveclient.git}
|
TROVECLIENT_REPO=${TROVECLIENT_REPO:-${GIT_BASE}/openstack/python-troveclient.git}
|
||||||
TROVECLIENT_BRANCH=${TROVECLIENT_BRANCH:-master}
|
TROVECLIENT_BRANCH=${TROVECLIENT_BRANCH:-master}
|
||||||
|
|
||||||
|
# stackforge libraries that are used by OpenStack core services
|
||||||
|
# wsme
|
||||||
|
WSME_REPO=${WSME_REPO:-${GIT_BASE}/stackforge/wsme.git}
|
||||||
|
WSME_BRANCH=${WSME_BRANCH:-master}
|
||||||
|
|
||||||
|
# pecan
|
||||||
|
PECAN_REPO=${PECAN_REPO:-${GIT_BASE}/stackforge/pecan.git}
|
||||||
|
PECAN_BRANCH=${PECAN_BRANCH:-master}
|
||||||
|
|
||||||
|
|
||||||
# Nova hypervisor configuration. We default to libvirt with **kvm** but will
|
# Nova hypervisor configuration. We default to libvirt with **kvm** but will
|
||||||
# drop back to **qemu** if we are unable to load the kvm module. ``stack.sh`` can
|
# drop back to **qemu** if we are unable to load the kvm module. ``stack.sh`` can
|
||||||
# also install an **LXC**, **OpenVZ** or **XenAPI** based system. If xenserver-core
|
# also install an **LXC**, **OpenVZ** or **XenAPI** based system. If xenserver-core
|
||||||
|
Loading…
Reference in New Issue
Block a user