Merge "Allow for grenade upgrades within a release"

This commit is contained in:
Jenkins
2014-08-19 02:49:33 +00:00
committed by Gerrit Code Review
4 changed files with 64 additions and 25 deletions

View File

@@ -214,45 +214,61 @@ if [ ${DEFAULT_CONCURRENCY} -gt 3 ] ; then
fi
export TEMPEST_CONCURRENCY=${TEMPEST_CONCURRENCY:-${DEFAULT_CONCURRENCY}}
# The following variables are set for different directions of Grenade updating
# The following variable is set for different directions of Grenade updating
# for a stable branch we want to both try to upgrade forward n => n+1 as
# well as upgrade from last n-1 => n.
#
# i.e. stable/icehouse:
# DGG=1 means stable/havana => stable/icehouse
# DGGF=1 means stable/icehouse => master (or stable/juno if that's out)
export DEVSTACK_GATE_GRENADE=${DEVSTACK_GATE_GRENADE:-0}
export DEVSTACK_GATE_GRENADE_FORWARD=${DEVSTACK_GATE_GRENADE_FORWARD:-0}
# DGGPN=1 means upgrade everything but n-cpu.
# pullup means stable/havana => stable/icehouse
# forward means stable/icehouse => master (or stable/juno if that's out)
# partial-ncpu means stable/havana => stable/icehouse but keep nova
# compute at stable/havana
# sideways-ironic means stable/icehouse with nova baremetal =>
# stable/icehouse with ironic
# sideways-neutron means stable/icehouse with nova network =>
# stable/icehouse with neutron
export DEVSTACK_GATE_GRENADE=${DEVSTACK_GATE_GRENADE:-}
# This is here for backward compat.
# TODO(clarkb) remove this once job defs are updated.
export DEVSTACK_GATE_GRENADE_PARTIAL_NCPU=${DEVSTACK_GATE_GRENADE_PARTIAL_NCPU:-0}
# the branch name for selecting grenade branches
GRENADE_BASE_BRANCH=${OVERRIDE_ZUUL_BRANCH:-${ZUUL_BRANCH}}
if [ "$DEVSTACK_GATE_GRENADE" -eq "1" ]; then
# TODO(clarkb) clean up condition once job defs are updated.
if [[ "$DEVSTACK_GATE_GRENADE" == "pullup" ]] || [[ "$DEVSTACK_GATE_GRENADE" -eq "1" ]]; then
export DEVSTACK_GATE_TEMPEST=1
if [ "$GRENADE_BASE_BRANCH" == "stable/icehouse" ]; then
if [[ "$GRENADE_BASE_BRANCH" == "stable/icehouse" ]]; then
export GRENADE_OLD_BRANCH="stable/havana"
export GRENADE_NEW_BRANCH="stable/icehouse"
else # master
export GRENADE_OLD_BRANCH="stable/icehouse"
export GRENADE_NEW_BRANCH="$GIT_BRANCH"
fi
if [ "$DEVSTACK_GATE_GRENADE_PARTIAL_NCPU" -eq "1" ]; then
export DO_NOT_UPGRADE_SERVICES=[n-cpu]
else
export DO_NOT_UPGRADE_SERVICES=
fi
# the roll forward case
elif [ "$DEVSTACK_GATE_GRENADE_FORWARD" -eq "1" ]; then
# TODO(clarkb) clean up condition once job defs are updated.
elif [[ "$DEVSTACK_GATE_GRENADE" == "partial-ncpu" ]] || [[ "$DEVSTACK_GATE_GRENADE_PARTIAL_NCPU" -eq "1" ]]; then
export DEVSTACK_GATE_TEMPEST=1
if [ "$GRENADE_BASE_BRANCH" == "stable/havana" ]; then
export DO_NOT_UPGRADE_SERVICES=[n-cpu]
if [[ "$GRENADE_BASE_BRANCH" == "stable/icehouse" ]]; then
export GRENADE_OLD_BRANCH="stable/havana"
export GRENADE_NEW_BRANCH="stable/icehouse"
elif [ "$GRENADE_BASE_BRANCH" == "stable/icehouse" ]; then
else # master
export GRENADE_OLD_BRANCH="stable/icehouse"
export GRENADE_NEW_BRANCH="$GIT_BRANCH"
fi
elif [[ "$DEVSTACK_GATE_GRENADE" == "forward" ]]; then
export DEVSTACK_GATE_TEMPEST=1
if [[ "$GRENADE_BASE_BRANCH" == "stable/havana" ]]; then
export GRENADE_OLD_BRANCH="stable/havana"
export GRENADE_NEW_BRANCH="stable/icehouse"
elif [[ "$GRENADE_BASE_BRANCH" == "stable/icehouse" ]]; then
export GRENADE_OLD_BRANCH="stable/icehouse"
export GRENADE_NEW_BRANCH="$GIT_BRANCH"
fi
elif [[ "$DEVSTACK_GATE_GRENADE" =~ "sideways" ]]; then
export DEVSTACK_GATE_TEMPEST=1
export GRENADE_OLD_BRANCH="$GRENADE_BASE_BRANCH"
export GRENADE_NEW_BRANCH="$GRENADE_BASE_BRANCH"
fi
# Set the virtualization driver to: libvirt, openvz, xenapi
@@ -307,7 +323,7 @@ echo "Setting up the host"
echo "... this takes a few seconds (logs at logs/devstack-gate-setup-host.txt.gz)"
tsfilter setup_host &> $WORKSPACE/logs/devstack-gate-setup-host.txt
if [ "$DEVSTACK_GATE_GRENADE" -eq "1" -o "$DEVSTACK_GATE_GRENADE_FORWARD" -eq "1" ]; then
if [ -n "$DEVSTACK_GATE_GRENADE" ]; then
echo "Setting up the new (migrate to) workspace"
echo "... this takes 3 - 5 minutes (logs at logs/devstack-gate-setup-workspace-new.txt.gz)"
tsfilter setup_workspace $GRENADE_NEW_BRANCH $BASE/new copycache &> \

View File

@@ -60,7 +60,7 @@ function setup_localrc {
# we don't want to enable services for grenade that don't have upgrade support
# otherwise they can break grenade, especially when they are projects like
# ceilometer which inject code in other projects
if [[ "$DEVSTACK_GATE_GRENADE" -eq "1" ]]; then
if [[ -n "$DEVSTACK_GATE_GRENADE" ]]; then
SKIP_EXERCISES=${SKIP_EXERCISES},swift,client-args
fi
fi
@@ -192,7 +192,7 @@ EOF
echo "TEMPEST_ALLOW_TENANT_ISOLATION=False" >>localrc
fi
if [[ "$DEVSTACK_GATE_GRENADE" -eq "1" ]]; then
if [[ -n "$DEVSTACK_GATE_GRENADE" ]]; then
echo "DATA_DIR=/opt/stack/data" >> localrc
echo "SWIFT_DATA_DIR=/opt/stack/data/swift" >> localrc
if [[ "$LOCALRC_OLDNEW" == "old" ]]; then
@@ -252,10 +252,32 @@ EOF
fi
}
if [[ "$DEVSTACK_GATE_GRENADE" -eq "1" ]]; then
if [[ -n "$DEVSTACK_GATE_GRENADE" ]]; then
if [[ "$DEVSTACK_GATE_GRENADE" == "sideways-ironic" ]]; then
# Disable ironic when generating the "old" localrc.
local tmp_DEVSTACK_GATE_IRONIC=$DEVSTACK_GATE_IRONIC
local tmp_DEVSTACK_GATE_VIRT_DRIVER=$DEVSTACK_GATE_VIRT_DRIVER
export DEVSTACK_GATE_IRONIC=0
export DEVSTACK_GATE_VIRT_DRIVER="fake"
fi
if [[ "$DEVSTACK_GATE_GRENADE" == "sideways-neutron" ]]; then
# Use nova network when generating "old" localrc.
local tmp_DEVSTACK_GATE_NEUTRON=$DEVSTACK_GATE_NEUTRON
export DEVSTACK_GATE_NEUTRON=0
fi
cd $BASE/old/devstack
setup_localrc "old" "$GRENADE_OLD_BRANCH"
if [[ "$DEVSTACK_GATE_GRENADE" == "sideways-ironic" ]]; then
# Set ironic and virt driver settings to those initially set
# by the job.
export DEVSTACK_GATE_IRONIC=$tmp_DEVSTACK_GATE_IRONIC
export DEVSTACK_GATE_VIRT_DRIVER=$tmp_DEVSTACK_GATE_VIRT_DRIVER
fi
if [[ "$DEVSTACK_GATE_GRENADE" == "sideways-neutron" ]]; then
# Set neutron setting to that initially set by the job.
export DEVSTACK_GATE_NEUTRON=$tmp_DEVSTACK_GATE_NEUTRON
fi
cd $BASE/new/devstack
setup_localrc "new" "$GRENADE_OLD_BRANCH"

View File

@@ -71,17 +71,17 @@ function test_heat_slow_master {
}
function test_grenade_new_master {
local results=$(DEVSTACK_GATE_TEMPEST_HEAT_SLOW=1 DEVSTACK_GATE_GRENADE=1 DEVSTACK_GATE_TEMPEST=1 ./test-matrix.py)
local results=$(DEVSTACK_GATE_TEMPEST_HEAT_SLOW=1 DEVSTACK_GATE_GRENADE=pullup DEVSTACK_GATE_TEMPEST=1 ./test-matrix.py)
assert_list_equal $GRENADE_NEW_MASTER $results
}
function test_grenade_havana_master {
local results=$(DEVSTACK_GATE_GRENADE=1 DEVSTACK_GATE_TEMPEST=1 ./test-matrix.py -b stable/havana)
local results=$(DEVSTACK_GATE_GRENADE=pullup DEVSTACK_GATE_TEMPEST=1 ./test-matrix.py -b stable/havana)
assert_list_equal $GRENADE_HAVANA_MASTER $results
}
function test_grenade_icehouse_master {
local results=$(DEVSTACK_GATE_GRENADE=1 DEVSTACK_GATE_TEMPEST=1 ./test-matrix.py -b stable/icehouse)
local results=$(DEVSTACK_GATE_GRENADE=pullup DEVSTACK_GATE_TEMPEST=1 ./test-matrix.py -b stable/icehouse)
assert_list_equal $GRENADE_ICEHOUSE_MASTER $results
}

View File

@@ -22,6 +22,7 @@ import yaml
GRID = None
ALLOWED_BRANCHES = []
FALSE_VALUES = [None, '', '0', 'false', 'False', 'FALSE']
FORMAT = '%(asctime)s %(levelname)s: %(message)s'
logging.basicConfig(format=FORMAT)
@@ -66,7 +67,7 @@ def configs_from_env():
configs = []
for k, v in os.environ.iteritems():
if k.startswith('DEVSTACK_GATE_'):
if v == '1':
if v not in FALSE_VALUES:
f = k.split('DEVSTACK_GATE_')[1]
configs.append(f.lower())
return configs