Compare commits

...

9 Commits

Author SHA1 Message Date
Alex Gaynor 32680fce37 Added libffi-dev to the needed packages
After pyOpenSSL 0.14 update, Grizzly devstack started failing:
 Downloading/unpacking cryptography>=0.2.1 (from pyOpenSSL->python-glanceclient==0.12.0.61.g8b76817)
   Running setup.py egg_info for package cryptography
     c/_cffi_backend.c:14:17: fatal error: ffi.h: No such file or directory

Change-Id: Ida7001886f17c9413b33312f12f2478a54bd6c90
(cherry picked from commit b6f7ea4fb0)
2014-02-25 14:08:13 +01:00
Chmouel Boudjnah 76d1d8c4b4 Fix issues with grizzly
- Install a known working recent version of pip (cherry-picked from
  62d1d698a0)
- Don't install boto from pip let use the default from ubuntu or the
  euac2ools will fails.
- Don't install netaddr from the packages let the pip do its job without
  being confused.
- Skip excercises that fails on grizzly.

Change-Id: I27df3787b5b90621ea66e4cc9763365b4579e3ca
2014-01-22 18:10:58 +01:00
Sean Dague d5b2e49981 backport of aggregates compatibility fix
this is the aggregates compatibility fix for stable/grizzly (coming
from master). This should let stable/grizzly exercises pass which
will let us do grenade runs on stable/havana.

Change-Id: Iaa0cf13a287a206442c611b4f2805c2fb0c90e9f
2014-01-19 19:01:00 -05:00
Monty Taylor ee29648991 Install things in setup_develop with pip -e
We have some complex logic in here to try to do the right things with
the requirements before doing the install of the package which still
winds up being wrong in some cases. Since having written this code,
we've learned that the logic we're trying to achieve is actually what
pip install -e does. So just use that. We have to follow up with a chown
of the resulting egg-info directory, because the sudo command will cause
it to be written by root, which prevents subsequent commands from
operating without privilege in the directory.

(cherry picked from commit 408a4a7d1c)

Conflicts:
	functions

Closes-Bug: #1266094
Change-Id: Iffd068c94ef84475ebb30758bcf612075d225bea
2014-01-17 14:46:06 +01:00
Sean Dague 7610f0d875 add libxslt1-dev to tempest required files
tempest actually needs a pretty new lxml, which means it's
going to build it from source. To do that it needs libxslt1-dev
to compile. We should be good and let devstack do this out of
the box so it works on minimal environments.

Change-Id: Ia527905c1c15fb8c6793f0ce543ad05e25a88179
(cherry picked from commit db54311552)
2013-12-17 13:15:55 -05:00
Sean Dague b615df9170 stable devstack should default to stable/grizzly
the default git review location was master, not stable/grizzly,
which makes no fun in doing backport patches.

Change-Id: I731c73724274e1f86daded7c0706409807cd5b12
2013-09-25 14:22:30 -04:00
Clark Boylan 2c567f6dfc Update OpenVZ driver image
11.10 simply does not exist, so this simply does not work. However,
devstack-gate tries to pre-cache all images referenced, so even
though we're not doing anything with this, it's breaking devstack-gate.

Change-Id: I64b03ed387f5205a885427498e8cf8c2a5b32b91
2013-08-01 10:32:35 -07:00
James E. Blair bb7737d1d6 Rename quantum repos to neutron
Only the repos are renamed.  This will coincide with the repo rename
operation on July 6.

See https://wiki.openstack.org/wiki/Network/neutron-renaming

Change-Id: I99fe1f80ffc7a54b958b709495b90f8d94d41376
2013-07-05 11:49:28 -07:00
Dean Troyer e54bbc721a Configure for stable/grizzly
Set default branches in stackrc to stable/grizzly for the projects
that have one.

Change-Id: I3dbc90b2d5df9c40ce44d6ac3bed6231bf41cdc0
2013-04-09 17:06:14 -05:00
33 changed files with 160 additions and 67 deletions
+1
View File
@@ -2,3 +2,4 @@
host=review.openstack.org
port=29418
project=openstack-dev/devstack.git
defaultbranch=stable/grizzly
+1 -1
View File
@@ -15,7 +15,7 @@ source $TOP_DIR/stackrc
# comma separated list of script basenames to skip
# to refrain from exercising euca.sh use SKIP_EXERCISES=euca
SKIP_EXERCISES=${SKIP_EXERCISES:-""}
SKIP_EXERCISES=${SKIP_EXERCISES:-"boot_from_volume,bundle,euca"}
# comma separated list of script basenames to run
# to run only euca.sh use RUN_EXERCISES=euca
+2 -2
View File
@@ -98,7 +98,7 @@ META_DATA_2_KEY=foo
META_DATA_3_KEY=bar
#ensure no additional metadata is set
nova aggregate-details $AGGREGATE_ID | egrep "{u'availability_zone': u'$AGGREGATE_A_ZONE'}|{}"
nova aggregate-details $AGGREGATE_ID | egrep "\|[{u ]*'availability_zone.+$AGGREGATE_A_ZONE'[ }]*\|"
nova aggregate-set-metadata $AGGREGATE_ID ${META_DATA_1_KEY}=123
nova aggregate-details $AGGREGATE_ID | grep $META_DATA_1_KEY
@@ -115,7 +115,7 @@ nova aggregate-details $AGGREGATE_ID | grep $META_DATA_3_KEY
nova aggregate-details $AGGREGATE_ID | grep $META_DATA_2_KEY && die $LINENO "ERROR metadata was not cleared"
nova aggregate-set-metadata $AGGREGATE_ID $META_DATA_3_KEY $META_DATA_1_KEY
nova aggregate-details $AGGREGATE_ID | egrep "{u'availability_zone': u'$AGGREGATE_A_ZONE'}|{}"
nova aggregate-details $AGGREGATE_ID | egrep "\|[{u ]*'availability_zone.+$AGGREGATE_A_ZONE'[ }]*\|"
# Test aggregate-add/remove-host
+1 -2
View File
@@ -1,7 +1,7 @@
bridge-utils
pep8
pylint
python-pip
python-setuptools
screen
unzip
wget
@@ -21,4 +21,3 @@ tcpdump
euca2ools # only for testing client
tar
python-cmd2 # dist:precise
python-netaddr
+1
View File
@@ -1,4 +1,5 @@
gcc
libffi-dev
libxml2-dev
python-dev
python-eventlet
-1
View File
@@ -22,4 +22,3 @@ python-cherrypy3 # why?
python-migrate
nodejs
nodejs-legacy # dist:quantal
python-netaddr
-1
View File
@@ -1,4 +1,3 @@
python-setuptools
python-dev
python-lxml
python-pastescript
-2
View File
@@ -30,7 +30,6 @@ python-greenlet
python-libvirt
python-libxml2
python-routes
python-netaddr
python-numpy # used by websockify for spice console
python-pastedeploy
python-eventlet
@@ -41,7 +40,6 @@ python-sqlalchemy
python-suds
python-lockfile
python-m2crypto
python-boto
python-kombu
python-feedparser
python-iso8601
-2
View File
@@ -4,12 +4,10 @@ iputils-ping
iputils-arping
mysql-server #NOPRIME
sudo
python-boto
python-iso8601
python-paste
python-routes
python-suds
python-netaddr
python-pastedeploy
python-greenlet
python-kombu
-1
View File
@@ -1,4 +1,3 @@
python-setuptools
python-gevent
python-gflags
python-netifaces
+1 -1
View File
@@ -1,5 +1,6 @@
curl
gcc
libffi-dev
memcached
python-configobj
python-coverage
@@ -9,7 +10,6 @@ python-greenlet
python-netifaces
python-nose
python-pastedeploy
python-setuptools
python-simplejson
python-webob
python-xattr
+1
View File
@@ -0,0 +1 @@
libxslt1-dev
+1 -2
View File
@@ -7,9 +7,8 @@ openssh
openssl
psmisc
python-cmd2 # dist:opensuse-12.3
python-netaddr
python-setuptools
python-pep8
python-pip
python-pylint
python-unittest2
python-virtualenv
-1
View File
@@ -15,7 +15,6 @@ python-dateutil
python-eventlet
python-kombu
python-mox
python-netaddr
python-nose
python-pep8
python-pylint
-2
View File
@@ -7,8 +7,6 @@ python-Routes
python-SQLAlchemy
python-WebOb
python-devel
python-distribute
python-setuptools # instead of python-distribute; dist:sle11sp2
python-greenlet
python-lxml
python-mysql
-2
View File
@@ -22,7 +22,6 @@ python-PasteDeploy
python-Routes
python-SQLAlchemy
python-Tempita
python-boto
python-carrot
python-cheetah
python-eventlet
@@ -34,7 +33,6 @@ python-lockfile
python-lxml # needed for glance which is needed for nova --- this shouldn't be here
python-mox
python-mysql
python-netaddr
python-numpy # needed by websockify for spice console
python-paramiko
python-python-gflags
-2
View File
@@ -4,13 +4,11 @@ ebtables
iptables
iputils
mysql-community-server # NOPRIME
python-boto
python-eventlet
python-greenlet
python-iso8601
python-kombu
python-mysql
python-netaddr
python-Paste
python-PasteDeploy
python-pyudev
-2
View File
@@ -1,5 +1,3 @@
python-distribute
python-setuptools # instead of python-distribute; dist:sle11sp2
python-Sphinx
python-gevent
python-netifaces
-2
View File
@@ -6,8 +6,6 @@ python-WebOb
python-configobj
python-coverage
python-devel
python-distribute
python-setuptools # instead of python-distribute; dist:sle11sp2
python-eventlet
python-greenlet
python-netifaces
+1 -2
View File
@@ -6,9 +6,8 @@ openssh-server
openssl
psmisc
pylint
python-netaddr
python-pep8
python-pip
python-setuptools
python-unittest2
python-virtualenv
screen
+1
View File
@@ -1,3 +1,4 @@
libffi-devel
libxml2-devel
python-argparse
python-devel
-2
View File
@@ -6,7 +6,6 @@ mod_wsgi # NOPRIME
pylint
python-anyjson
python-BeautifulSoup
python-boto
python-coverage
python-dateutil
python-eventlet
@@ -15,7 +14,6 @@ python-httplib2
python-kombu
python-migrate
python-mox
python-netaddr
python-nose
python-paste
python-paste-deploy
-1
View File
@@ -4,7 +4,6 @@ python-paste
python-paste-deploy
python-paste-script
python-routes
python-setuptools
python-sqlalchemy
python-sqlite2
python-webob
-2
View File
@@ -15,7 +15,6 @@ numpy # needed by websockify for spice console
m2crypto
mysql-server # NOPRIME
parted
python-boto
python-carrot
python-cheetah
python-eventlet
@@ -27,7 +26,6 @@ python-kombu
python-lockfile
python-migrate
python-mox
python-netaddr
python-paramiko
python-paste
python-paste-deploy
-2
View File
@@ -4,12 +4,10 @@ ebtables
iptables
iputils
mysql-server # NOPRIME
python-boto
python-eventlet
python-greenlet
python-iso8601
python-kombu
python-netaddr
python-paste
python-paste-deploy
python-qpid
-1
View File
@@ -1,4 +1,3 @@
python-setuptools
python-gevent
python-gflags
python-netifaces
+1 -1
View File
@@ -1,5 +1,6 @@
curl
gcc
libffi-devel
memcached
python-configobj
python-coverage
@@ -9,7 +10,6 @@ python-greenlet
python-netifaces
python-nose
python-paste-deploy
python-setuptools
python-simplejson
python-webob
pyxattr
+1
View File
@@ -0,0 +1 @@
libxslt-dev
+11 -15
View File
@@ -1049,9 +1049,10 @@ function service_check() {
fi
}
# ``pip install`` the dependencies of the package before ``setup.py develop``
# so pip and not distutils processes the dependency chain
# Uses globals ``TRACK_DEPENDES``, ``*_proxy`
# ``pip install -e`` the package, which processes the dependencies
# using pip before running `setup.py develop`
# Uses globals ``STACK_USER``, ``TRACK_DEPENDES``, ``*_proxy`
# setup_develop directory
function setup_develop() {
if [[ $TRACK_DEPENDS = True ]]; then
@@ -1059,18 +1060,13 @@ function setup_develop() {
else
SUDO_CMD="sudo"
fi
(cd $1; \
python setup.py egg_info; \
raw_links=$(awk '/^.+/ {print "-f " $1}' *.egg-info/dependency_links.txt); \
depend_links=$(echo $raw_links | xargs); \
require_file=$([ ! -r *-info/requires.txt ] || echo "-r *-info/requires.txt"); \
pip_install $require_file $depend_links; \
$SUDO_CMD \
HTTP_PROXY=$http_proxy \
HTTPS_PROXY=$https_proxy \
NO_PROXY=$no_proxy \
python setup.py develop \
)
$SUDO_CMD \
HTTP_PROXY=$http_proxy \
HTTPS_PROXY=$https_proxy \
NO_PROXY=$no_proxy \
pip install -e $1
# ensure that further actions can do things like setup.py sdist
$SUDO_CMD chown -R $STACK_USER $1/*.egg-info
}
+2 -2
View File
@@ -62,8 +62,8 @@ set +o xtrace
# -----------------------------
# Set up default directories
QUANTUM_DIR=$DEST/quantum
QUANTUMCLIENT_DIR=$DEST/python-quantumclient
QUANTUM_DIR=$DEST/neutron
QUANTUMCLIENT_DIR=$DEST/python-neutronclient
QUANTUM_AUTH_CACHE_DIR=${QUANTUM_AUTH_CACHE_DIR:-/var/cache/quantum}
QUANTUM_CONF_DIR=/etc/quantum
+3
View File
@@ -533,6 +533,9 @@ set -o xtrace
echo_summary "Installing package prerequisites"
source $TOP_DIR/tools/install_prereqs.sh
# Configure an appropriate python environment
$TOP_DIR/tools/install_pip.sh
install_rpc_backend
if is_service_enabled $DATABASE_BACKENDS; then
+13 -13
View File
@@ -59,7 +59,7 @@ GIT_BASE=${GIT_BASE:-https://github.com}
# metering service
CEILOMETER_REPO=${CEILOMETER_REPO:-${GIT_BASE}/openstack/ceilometer.git}
CEILOMETER_BRANCH=${CEILOMETER_BRANCH:-master}
CEILOMETER_BRANCH=${CEILOMETER_BRANCH:-stable/grizzly}
# ceilometer client library
CEILOMETERCLIENT_REPO=${CEILOMETERCLIENT_REPO:-${GIT_BASE}/openstack/python-ceilometerclient.git}
@@ -67,7 +67,7 @@ CEILOMETERCLIENT_BRANCH=${CEILOMETERCLIENT_BRANCH:-master}
# volume service
CINDER_REPO=${CINDER_REPO:-${GIT_BASE}/openstack/cinder.git}
CINDER_BRANCH=${CINDER_BRANCH:-master}
CINDER_BRANCH=${CINDER_BRANCH:-stable/grizzly}
# volume client
CINDERCLIENT_REPO=${CINDERCLIENT_REPO:-${GIT_BASE}/openstack/python-cinderclient.git}
@@ -75,11 +75,11 @@ CINDERCLIENT_BRANCH=${CINDERCLIENT_BRANCH:-master}
# compute service
NOVA_REPO=${NOVA_REPO:-${GIT_BASE}/openstack/nova.git}
NOVA_BRANCH=${NOVA_BRANCH:-master}
NOVA_BRANCH=${NOVA_BRANCH:-stable/grizzly}
# storage service
SWIFT_REPO=${SWIFT_REPO:-${GIT_BASE}/openstack/swift.git}
SWIFT_BRANCH=${SWIFT_BRANCH:-master}
SWIFT_BRANCH=${SWIFT_BRANCH:-stable/grizzly}
SWIFT3_REPO=${SWIFT3_REPO:-${GIT_BASE}/fujita/swift3.git}
SWIFT3_BRANCH=${SWIFT3_BRANCH:-master}
@@ -89,7 +89,7 @@ SWIFTCLIENT_BRANCH=${SWIFTCLIENT_BRANCH:-master}
# image catalog service
GLANCE_REPO=${GLANCE_REPO:-${GIT_BASE}/openstack/glance.git}
GLANCE_BRANCH=${GLANCE_BRANCH:-master}
GLANCE_BRANCH=${GLANCE_BRANCH:-stable/grizzly}
# python glance client library
GLANCECLIENT_REPO=${GLANCECLIENT_REPO:-${GIT_BASE}/openstack/python-glanceclient.git}
@@ -97,7 +97,7 @@ GLANCECLIENT_BRANCH=${GLANCECLIENT_BRANCH:-master}
# unified auth system (manages accounts/tokens)
KEYSTONE_REPO=${KEYSTONE_REPO:-${GIT_BASE}/openstack/keystone.git}
KEYSTONE_BRANCH=${KEYSTONE_BRANCH:-master}
KEYSTONE_BRANCH=${KEYSTONE_BRANCH:-stable/grizzly}
# a websockets/html5 or flash powered VNC console for vm instances
NOVNC_REPO=${NOVNC_REPO:-${GIT_BASE}/kanaka/noVNC.git}
@@ -109,7 +109,7 @@ SPICE_BRANCH=${SPICE_BRANCH:-master}
# django powered web control panel for openstack
HORIZON_REPO=${HORIZON_REPO:-${GIT_BASE}/openstack/horizon.git}
HORIZON_BRANCH=${HORIZON_BRANCH:-master}
HORIZON_BRANCH=${HORIZON_BRANCH:-stable/grizzly}
# python client library to nova that horizon (and others) use
NOVACLIENT_REPO=${NOVACLIENT_REPO:-${GIT_BASE}/openstack/python-novaclient.git}
@@ -124,11 +124,11 @@ KEYSTONECLIENT_REPO=${KEYSTONECLIENT_REPO:-${GIT_BASE}/openstack/python-keystone
KEYSTONECLIENT_BRANCH=${KEYSTONECLIENT_BRANCH:-master}
# quantum service
QUANTUM_REPO=${QUANTUM_REPO:-${GIT_BASE}/openstack/quantum.git}
QUANTUM_BRANCH=${QUANTUM_BRANCH:-master}
QUANTUM_REPO=${QUANTUM_REPO:-${GIT_BASE}/openstack/neutron.git}
QUANTUM_BRANCH=${QUANTUM_BRANCH:-stable/grizzly}
# quantum client
QUANTUMCLIENT_REPO=${QUANTUMCLIENT_REPO:-${GIT_BASE}/openstack/python-quantumclient.git}
QUANTUMCLIENT_REPO=${QUANTUMCLIENT_REPO:-${GIT_BASE}/openstack/python-neutronclient.git}
QUANTUMCLIENT_BRANCH=${QUANTUMCLIENT_BRANCH:-master}
# Tempest test suite
@@ -137,7 +137,7 @@ TEMPEST_BRANCH=${TEMPEST_BRANCH:-master}
# heat service
HEAT_REPO=${HEAT_REPO:-${GIT_BASE}/openstack/heat.git}
HEAT_BRANCH=${HEAT_BRANCH:-master}
HEAT_BRANCH=${HEAT_BRANCH:-stable/grizzly}
# python heat client library
HEATCLIENT_REPO=${HEATCLIENT_REPO:-${GIT_BASE}/openstack/python-heatclient.git}
@@ -187,8 +187,8 @@ LIBVIRT_TYPE=${LIBVIRT_TYPE:-kvm}
# ``IMAGE_URLS`` to be set directly in ``localrc``.
case "$VIRT_DRIVER" in
openvz)
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-ubuntu-11.10-x86_64}
IMAGE_URLS=${IMAGE_URLS:-"http://download.openvz.org/template/precreated/ubuntu-11.10-x86_64.tar.gz"};;
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-ubuntu-12.04-x86_64}
IMAGE_URLS=${IMAGE_URLS:-"http://download.openvz.org/template/precreated/ubuntu-12.04-x86_64.tar.gz"};;
libvirt)
case "$LIBVIRT_TYPE" in
lxc) # the cirros root disk in the uec tarball is empty, so it will not work for lxc
+118
View File
@@ -0,0 +1,118 @@
#!/usr/bin/env bash
# **install_pip.sh**
# install_pip.sh [--pip-version <version>] [--use-get-pip] [--setuptools] [--force]
#
# Update pip and friends to a known common version
# Assumptions:
# - currently we try to leave the system setuptools alone, install
# the system package if it is not already present
# - update pip to $INSTALL_PIP_VERSION
# Keep track of the current directory
TOOLS_DIR=$(cd $(dirname "$0") && pwd)
TOP_DIR=`cd $TOOLS_DIR/..; pwd`
# Change dir to top of devstack
cd $TOP_DIR
# Import common functions
source $TOP_DIR/functions
FILES=$TOP_DIR/files
# Handle arguments
INSTALL_PIP_VERSION=${INSTALL_PIP_VERSION:-"1.4"}
while [[ -n "$1" ]]; do
case $1 in
--force)
FORCE=1
;;
--pip-version)
INSTALL_PIP_VERSION="$2"
shift
;;
--setuptools)
SETUPTOOLS=1
;;
--use-get-pip)
USE_GET_PIP=1;
;;
esac
shift
done
SETUPTOOLS_EZ_SETUP_URL=https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
PIP_GET_PIP_URL=https://raw.github.com/pypa/pip/master/contrib/get-pip.py
PIP_TAR_URL=https://pypi.python.org/packages/source/p/pip/pip-$INSTALL_PIP_VERSION.tar.gz
GetDistro
echo "Distro: $DISTRO"
function get_versions() {
PIP=$(which pip 2>/dev/null || which pip-python 2>/dev/null)
if [[ -n $PIP ]]; then
DISTRIBUTE_VERSION=$($PIP freeze | grep 'distribute==')
SETUPTOOLS_VERSION=$($PIP freeze | grep 'setuptools==')
PIP_VERSION=$($PIP --version | awk '{ print $2}')
echo "pip: $PIP_VERSION setuptools: $SETUPTOOLS_VERSION distribute: $DISTRIBUTE_VERSION"
fi
}
function setuptools_ez_setup() {
if [[ ! -r $FILES/ez_setup.py ]]; then
(cd $FILES; \
curl -OR $SETUPTOOLS_EZ_SETUP_URL; \
)
fi
sudo python $FILES/ez_setup.py
}
function install_get_pip() {
if [[ ! -r $FILES/get-pip.py ]]; then
(cd $FILES; \
curl $PIP_GET_PIP_URL; \
)
fi
sudo python $FILES/get-pip.py
}
function install_pip_tarball() {
curl -O $PIP_TAR_URL
tar xvfz pip-$INSTALL_PIP_VERSION.tar.gz
cd pip-$INSTALL_PIP_VERSION
sudo python setup.py install
}
# Show starting versions
get_versions
# Do setuptools
if [[ -n "$SETUPTOOLS" ]]; then
# We want it from source
uninstall_package python-setuptools
setuptools_ez_setup
else
# See about installing the distro setuptools
if ! python -c "import setuptools"; then
install_package python-setuptools
fi
fi
# Do pip
if [[ -z $PIP || "$PIP_VERSION" != "$INSTALL_PIP_VERSION" || -n $FORCE ]]; then
# Eradicate any and all system packages
uninstall_package python-pip
if [[ -n "$USE_GET_PIP" ]]; then
install_get_pip
else
install_pip_tarball
fi
get_versions
fi