New workflow for standalone upgrade.
Implement the standalone upgrade in CI. This deploy a N-1 standalone deployment, upgrade the repository, the packages, and run tripleo upgrade. The upgrade coverage is limited to: - upgrade_tasks. - non-HA services. This means that no upgrade orchestration is tested and that HA is not covered. Change-Id: Id4877152ca6c233e193593995dd13890e17a535b Depends-On: I2a4ffd8ae26e0965028422c649243a65fef79e65
This commit is contained in:
parent
803a03682c
commit
e7c0dced93
@ -99,6 +99,7 @@ esac
|
||||
|
||||
EXTRA_TAGS=""
|
||||
MIXED_UPGRADE_TYPE=''
|
||||
|
||||
# Order matters. ffu featureset has both mixed version and ffu_overcloud_upgrade.
|
||||
if is_featureset ffu_overcloud_upgrade "{{ job_featureset_file }}"; then
|
||||
MIXED_UPGRADE_TYPE='ffu_upgrade'
|
||||
@ -126,7 +127,7 @@ QUICKSTART_RELEASE="promotion-testing-hash-${QUICKSTART_RELEASE}"
|
||||
EMIT_RELEASES_EXTRA_ARGS="$EMIT_RELEASES_EXTRA_ARGS --is-periodic"
|
||||
{% endif %}
|
||||
|
||||
if [[ -f "$RELEASES_SCRIPT" ]] && [[ {{ featureset }} =~ 010|011|037|047|050 ]]; then
|
||||
if [[ -f "$RELEASES_SCRIPT" ]] && [[ {{ featureset }} =~ 010|011|037|047|050|056 ]]; then
|
||||
|
||||
python $RELEASES_SCRIPT \
|
||||
--stable-release ${STABLE_RELEASE:-"master"} \
|
||||
|
@ -80,6 +80,12 @@ if [[ -f "$RELEASES_FILE_OUTPUT" ]]; then
|
||||
$OVERCLOUD_TARGET_RELEASE $OVERCLOUD_TARGET_HASH)
|
||||
["multinode-validate.yml"]=$(get_extra_vars_from_release \
|
||||
$OVERCLOUD_TARGET_RELEASE $OVERCLOUD_TARGET_HASH)
|
||||
["multinode-standalone.yml"]=$(get_extra_vars_from_release \
|
||||
$STANDALONE_DEPLOY_RELEASE $STANDALONE_DEPLOY_HASH \
|
||||
$STANDALONE_DEPLOY_NEWEST_HASH)
|
||||
["multinode-standalone-upgrade.yml"]=$(get_extra_vars_from_release \
|
||||
$STANDALONE_TARGET_RELEASE $STANDALONE_TARGET_HASH \
|
||||
$STANDALONE_TARGET_NEWEST_HASH)
|
||||
)
|
||||
|
||||
fi
|
||||
|
@ -105,20 +105,31 @@ for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do
|
||||
case $JOB_TYPE_PART in
|
||||
featureset*)
|
||||
FEATURESET_FILE="$LWD/config/general_config/$JOB_TYPE_PART.yml"
|
||||
# featurset_file is not yet in its final destination so we
|
||||
# have to use current_featureset_file.
|
||||
CURRENT_FEATURESET_FILE="$TRIPLEO_ROOT/tripleo-quickstart/config/general_config/$JOB_TYPE_PART.yml"
|
||||
FEATURESET_CONF="$FEATURESET_CONF --extra-vars @$FEATURESET_FILE"
|
||||
MIXED_UPGRADE_TYPE=''
|
||||
# Order matters. ffu featureset has both mixed version and ffu_overcloud_upgrade.
|
||||
if is_featureset ffu_overcloud_upgrade "$TRIPLEO_ROOT/tripleo-quickstart/config/general_config/$JOB_TYPE_PART.yml"; then
|
||||
if is_featureset ffu_overcloud_upgrade "${CURRENT_FEATURESET_FILE}"; then
|
||||
MIXED_UPGRADE_TYPE='ffu_upgrade'
|
||||
elif is_featureset mixed_upgrade "$TRIPLEO_ROOT/tripleo-quickstart/config/general_config/$JOB_TYPE_PART.yml"; then
|
||||
elif is_featureset mixed_upgrade "${CURRENT_FEATURESET_FILE}"; then
|
||||
MIXED_UPGRADE_TYPE='mixed_upgrade'
|
||||
elif is_featureset overcloud_update "$TRIPLEO_ROOT/tripleo-quickstart/config/general_config/$JOB_TYPE_PART.yml"; then
|
||||
elif is_featureset overcloud_update "${CURRENT_FEATURESET_FILE}"; then
|
||||
TAGS="$TAGS,overcloud-update"
|
||||
elif is_featureset undercloud_upgrade "$TRIPLEO_ROOT/tripleo-quickstart/config/general_config/$JOB_TYPE_PART.yml"; then
|
||||
elif is_featureset undercloud_upgrade "${CURRENT_FEATURESET_FILE}"; then
|
||||
TAGS="$TAGS,undercloud-upgrade"
|
||||
export UPGRADE_RELEASE=$QUICKSTART_RELEASE
|
||||
export QUICKSTART_RELEASE=$(previous_release_mixed_upgrade_case "${UPGRADE_RELEASE}")
|
||||
fi
|
||||
# The case is iterating over TOCI_JOBTYPE which is
|
||||
# standalone-featureset. So featureset comes after and we
|
||||
# can override TAGS safely.
|
||||
if is_featureset standalone_upgrade "${CURRENT_FEATURESET_FILE}" ; then
|
||||
# We don't want "build" as it would wrongly build test
|
||||
# package under the N-1 version.
|
||||
TAGS="standalone,standalone-upgrade"
|
||||
fi
|
||||
# Set UPGRADE_RELEASE if applicable
|
||||
if [ -n "${MIXED_UPGRADE_TYPE}" ]; then
|
||||
export UPGRADE_RELEASE=$(previous_release_from "${STABLE_RELEASE}" "${MIXED_UPGRADE_TYPE}")
|
||||
@ -186,7 +197,8 @@ for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do
|
||||
standalone)
|
||||
ENVIRONMENT="osinfra"
|
||||
UNDERCLOUD="127.0.0.2"
|
||||
export PLAYBOOKS=${PLAYBOOKS:-"quickstart.yml multinode-standalone.yml"}
|
||||
# Adding upgrade playbook here to be consistant with the v3 definition.
|
||||
export PLAYBOOKS=${PLAYBOOKS:-"quickstart.yml multinode-standalone.yml multinode-standalone-upgrade.yml "}
|
||||
FEATURESET_CONF=" --extra-vars @$LWD/config/general_config/featureset-multinode-common.yml $FEATURESET_CONF"
|
||||
ENV_VARS="$ENV_VARS --extra-vars @$TRIPLEO_ROOT/tripleo-ci/toci-quickstart/config/testenv/multinode.yml"
|
||||
if [[ $NODEPOOL_PROVIDER == "rdo-cloud"* ]]; then
|
||||
@ -212,7 +224,7 @@ for JOB_TYPE_PART in $(sed 's/-/ /g' <<< "${TOCI_JOBTYPE:-}") ; do
|
||||
done
|
||||
|
||||
|
||||
if [[ -f "$RELEASES_SCRIPT" ]] && [[ $FEATURESET_FILE =~ 010|011|037|047|050 ]]; then
|
||||
if [[ -f "$RELEASES_SCRIPT" ]] && [[ $FEATURESET_FILE =~ 010|011|037|047|050|056 ]]; then
|
||||
|
||||
python $RELEASES_SCRIPT \
|
||||
--stable-release ${STABLE_RELEASE:-"master"} \
|
||||
|
@ -80,6 +80,12 @@ if [[ -f "$RELEASES_FILE_OUTPUT" ]]; then
|
||||
$OVERCLOUD_TARGET_RELEASE $OVERCLOUD_TARGET_HASH)
|
||||
["multinode-validate.yml"]=$(get_extra_vars_from_release \
|
||||
$OVERCLOUD_TARGET_RELEASE $OVERCLOUD_TARGET_HASH)
|
||||
["multinode-standalone.yml"]=$(get_extra_vars_from_release \
|
||||
$STANDALONE_DEPLOY_RELEASE $STANDALONE_DEPLOY_HASH \
|
||||
$STANDALONE_DEPLOY_NEWEST_HASH)
|
||||
["multinode-standalone-upgrade.yml"]=$(get_extra_vars_from_release \
|
||||
$STANDALONE_TARGET_RELEASE $STANDALONE_TARGET_HASH \
|
||||
$STANDALONE_TARGET_NEWEST_HASH)
|
||||
)
|
||||
|
||||
fi
|
||||
|
@ -23,6 +23,7 @@
|
||||
- tripleo-ci-centos-7-scenario000-multinode-oooq-container-upgrades
|
||||
- tripleo-ci-centos-7-standalone
|
||||
- tripleo-ci-fedora-28-standalone
|
||||
- tripleo-ci-centos-7-standalone-upgrade
|
||||
|
||||
gate:
|
||||
queue: tripleo
|
||||
@ -47,6 +48,7 @@
|
||||
- tripleo-ci-centos-7-scenario000-multinode-oooq-container-upgrades
|
||||
- tripleo-ci-centos-7-standalone
|
||||
- tripleo-ci-fedora-28-standalone
|
||||
- tripleo-ci-centos-7-standalone-upgrade
|
||||
gate:
|
||||
queue: tripleo
|
||||
jobs:
|
||||
|
@ -46,3 +46,31 @@
|
||||
- ^Puppetfile.*$
|
||||
- tox.ini
|
||||
# like parent but with requirements.txt and setup.py removed
|
||||
|
||||
- job:
|
||||
name: tripleo-ci-centos-7-standalone-upgrade
|
||||
parent: tripleo-ci-base-standalone
|
||||
nodeset: single-centos-7-node
|
||||
voting: false
|
||||
branches: ^(?!stable/(newton|ocata|pike|queens)).*$
|
||||
vars:
|
||||
featureset: '056'
|
||||
playbooks:
|
||||
- quickstart.yml
|
||||
- multinode-standalone.yml
|
||||
- multinode-standalone-upgrade.yml
|
||||
tags:
|
||||
- standalone
|
||||
- standalone-upgrade
|
||||
irrelevant-files:
|
||||
- ^.*\.md$
|
||||
- ^.*\.rst$
|
||||
- ^doc/.*$
|
||||
- ^etc/.*$
|
||||
- ^metadata.json$
|
||||
- ^releasenotes/.*$
|
||||
- ^test-requirements.txt$
|
||||
- ^spec/.*$
|
||||
- ^Puppetfile.*$
|
||||
- tox.ini
|
||||
# like parent but with requirements.txt and setup.py removed
|
||||
|
Loading…
Reference in New Issue
Block a user