Merge "Add Yoga upgrade jobs"

This commit is contained in:
Zuul 2023-05-02 13:35:58 +00:00 committed by Gerrit Code Review
commit c1d63ccd9e
5 changed files with 67 additions and 22 deletions

View File

@ -46,11 +46,6 @@ export ACTION=${2:-"deploy"}
# Set the installation method for the OpenStack services
export INSTALL_METHOD=${3:-"source"}
# Set the source branch for upgrade tests
# Be sure to change this whenever a new stable branch
# is created. The checkout must always be N-1.
export UPGRADE_SOURCE_BRANCH=${UPGRADE_SOURCE_BRANCH:-'stable/yoga'}
# enable the ARA callback plugin
export SETUP_ARA=${SETUP_ARA:-true}
@ -60,7 +55,14 @@ export SETUP_ARA=${SETUP_ARA:-true}
# deployment.
# This needs to be done before the first "source" to ensure
# the correct functions are used for the branch.
if [[ "${ACTION}" == "upgrade" ]]; then
if [[ "${ACTION}" =~ "upgrade" ]]; then
# Set the source branch for upgrade tests
# Be sure to change this whenever a new stable branch
# is created.
UPGRADE_ACTION_ARRAY=(${ACTION//_/ })
export UPGRADE_SOURCE_RELEASE=${UPGRADE_ACTION_ARRAY[1]:-'zed'}
export UPGRADE_SOURCE_BRANCH=${UPGRADE_SOURCE_BRANCH:-stable/$UPGRADE_SOURCE_RELEASE}
# Store the target SHA/branch
export UPGRADE_TARGET_BRANCH=$(git rev-parse HEAD)
export OPENSTACK_SETUP_EXTRA_ARGS="-e tempest_install=no -e tempest_run=no -e rally_install=no"
@ -214,7 +216,7 @@ else
# Log some data about the instance and the rest of the system
log_instance_info
if [[ $SCENARIO =~ "infra" && $ACTION != "upgrade" ]]; then
if [[ $SCENARIO =~ "infra" && ! $ACTION =~ "upgrade" ]]; then
# Verify our infra setup and do not continue with openstack part
openstack-ansible healthcheck-infrastructure.yml -e osa_gather_facts=False
fi
@ -231,7 +233,7 @@ fi
# If the action is to upgrade, then checkout the original SHA for
# the checkout, and execute the upgrade.
if [[ "${ACTION}" == "upgrade" ]]; then
if [[ "${ACTION}" =~ "upgrade" ]]; then
# Checkout the original HEAD we started with
git checkout ${UPGRADE_TARGET_BRANCH}
@ -263,7 +265,7 @@ if [[ "${ACTION}" == "upgrade" ]]; then
# To execute the upgrade script we need to provide
# an affirmative response to the warning that the
# upgrade is irreversable.
echo 'YES' | bash "${OSA_CLONE_DIR}/scripts/run-upgrade.sh"
echo 'YES' | SOURCE_SERIES=${UPGRADE_SOURCE_RELEASE} bash "${OSA_CLONE_DIR}/scripts/run-upgrade.sh"
if [[ $SCENARIO =~ "infra" ]]; then
# TODO(noonedeadpunk): Remove after Y release

View File

@ -30,8 +30,8 @@ export SCRIPTS_PATH="$(dirname "$(readlink -f "${0}")")"
# The git checkout root path
export MAIN_PATH="$(dirname "${SCRIPTS_PATH}")"
# The expected source series name
export SOURCE_SERIES="zed"
# The expected source series names
export SUPPORTED_SOURCE_SERIES=("yoga" "zed")
# The expected target series name
export TARGET_SERIES="2023.1"
@ -123,20 +123,17 @@ function pre_flight {
# Notify the user.
echo -e "
This script will perform a ${SOURCE_SERIES^} to ${TARGET_SERIES^} upgrade.
This script will perform an upgrade from ${SOURCE_SERIES^}
to ${TARGET_SERIES^}.
Once you start the upgrade there is no going back.
Note that the upgrade targets impacting the data
plane as little as possible, but assumes that the
control plane can experience some down time.
This script executes a one-size-fits-all upgrade,
and given that the tests implemented for it are
not monitored as well as those for a greenfield
environment, the results may vary with each release.
Please use it against a test environment with your
configurations to validate whether it suits your
configurations first to validate whether it suits your
needs and does a suitable upgrade.
Are you ready to perform this upgrade now?
@ -151,9 +148,32 @@ function pre_flight {
fi
}
function set_source_series {
if [ ${#SUPPORTED_SOURCE_SERIES[@]} -gt 1 ]; then
echo -e "
Upgrade to ${TARGET_SERIES^} is supported only from one of the following releases:
"
for release_id in ${!SUPPORTED_SOURCE_SERIES[@]}; do
option_id=${release_id}
echo -e " $((++option_id)): ${SUPPORTED_SOURCE_SERIES[$release_id]^}"
done
echo -e ""
read -p ' Please specify the release to upgrade from [1]: ' SELECTED_OPTION
SOURCE_OPTION=${SELECTED_OPTION:-1}
export SOURCE_SERIES=${SUPPORTED_SOURCE_SERIES[$((--SOURCE_OPTION))]}
else
export SOURCE_SERIES=${SUPPORTED_SOURCE_SERIES[0]}
fi
}
## Main ----------------------------------------------------------------------
function main {
if [ -z "${SOURCE_SERIES+defined}" ]; then
set_source_series
fi
pre_flight
check_for_current
create_working_dir
@ -175,8 +195,10 @@ function main {
pushd ${MAIN_PATH}/playbooks
RUN_TASKS+=("${SCRIPTS_PATH}/upgrade-utilities/deploy-config-changes.yml")
RUN_TASKS+=("${SCRIPTS_PATH}/upgrade-utilities/define-neutron-plugin.yml")
RUN_TASKS+=("certificate-ssh-authority.yml")
if [[ "${SOURCE_SERIES}" == "yoga" ]]; then
RUN_TASKS+=("${SCRIPTS_PATH}/upgrade-utilities/define-neutron-plugin.yml")
RUN_TASKS+=("certificate-ssh-authority.yml")
fi
# we don't want to trigger container restarts for galera and rabbit
# but as there will be no hosts available for metal deployments,
# as a fallback option we just run setup-hosts.yml without any arguments

View File

@ -521,18 +521,36 @@
nodeset: ubuntu-focal
timeout: 10800
- job:
name: openstack-ansible-upgrade_yoga-aio_metal-ubuntu-focal
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-focal
timeout: 10800
- job:
name: openstack-ansible-upgrade-aio_lxc-ubuntu-focal
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-focal
timeout: 10800
- job:
name: openstack-ansible-upgrade_yoga-aio_lxc-ubuntu-focal
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-focal
timeout: 10800
- job:
name: openstack-ansible-upgrade-infra_lxc-ubuntu-focal
parent: openstack-ansible-deploy-aio-infra
nodeset: ubuntu-focal
timeout: 10800
- job:
name: openstack-ansible-upgrade_yoga-infra_lxc-ubuntu-focal
parent: openstack-ansible-deploy-aio-infra
nodeset: ubuntu-focal
timeout: 10800
- job:
name: openstack-ansible-deploy-infra_lxc-ubuntu-focal
parent: openstack-ansible-deploy-aio-infra

View File

@ -40,7 +40,7 @@
ZUUL_SRC_PATH: "{{ (action != 'shastest') | ternary(_zuul_src_path, '') }}"
ANSIBLE_PACKAGE: "{{ ansible_package | default('') }}"
SETUP_ARA: 'true'
when: action != 'upgrade'
when: "'upgrade' not in action"
- name: Run bootstrap-aio script
become: yes
become_user: root
@ -56,6 +56,6 @@
ACTION: "{{ action }}"
INSTALL_METHOD: "{{ install_method }}"
when:
- action != 'upgrade'
- "'upgrade' not in action"
- action != 'linters'
- action != 'shastest'

View File

@ -65,6 +65,7 @@
jobs:
- openstack-ansible-upgrade-infra_lxc-rockylinux-9
- openstack-ansible-upgrade-infra_lxc-ubuntu-focal
- openstack-ansible-upgrade_yoga-infra_lxc-ubuntu-focal
gate:
jobs:
- openstack-ansible-upgrade-infra_lxc-rockylinux-9
@ -76,6 +77,7 @@
jobs:
- openstack-ansible-upgrade-aio_metal-rockylinux-9
- openstack-ansible-upgrade-aio_metal-ubuntu-focal
- openstack-ansible-upgrade_yoga-aio_metal-ubuntu-focal
gate:
jobs:
- openstack-ansible-upgrade-aio_metal-rockylinux-9
@ -166,6 +168,7 @@
- openstack-ansible-deploy-aio_metal-ubuntu-jammy
- openstack-ansible-upgrade-aio_metal-rockylinux-9
- openstack-ansible-upgrade-aio_metal-ubuntu-focal
- openstack-ansible-upgrade_yoga-aio_metal-ubuntu-focal
gate:
jobs:
- openstack-ansible-deploy-aio_metal-debian-bullseye