grenade/grenaderc
Dan Smith bf235cd904 Enable nova workaround for upgrade bug
Nova recently introduced an issue that breaks FFU due to requiring
new compute service records to be recorded before control services are
allowed to start. However the former depends on the latter, which
creates an unsatisfiable circular dependency. Since this has been
both released and backported, Nova introduced a workaround config flag
specifically to get out of that loop, which we set here if needed.

Related-Bug: #1958883
Change-Id: If4820dd4ec7e05ade6eb4a82a328797102704570
Depends-On: https://review.opendev.org/c/openstack/nova/+/826097
2022-02-21 14:14:46 -08:00

115 lines
3.3 KiB
Plaintext

# grenaderc - Configuration
# Find the other rc files
RC_DIR=$(cd $(dirname "$BASH_SOURCE") && pwd)
# Allow local overrides of env variables
if [ -f $RC_DIR/localrc ]; then
source $RC_DIR/localrc
fi
# If True, the setting of the devstack configuration for the base and
# the target and the execution of devstack on the base target
# (if requested) are not performed by grenade, but they must be done
# separately.
# This is the case for example for the native zuul v3 grenade job.
GRENADE_USE_EXTERNAL_DEVSTACK=${GRENADE_USE_EXTERNAL_DEVSTACK:-False}
# Base GIT Repo URL
# Another option is https://github.com
GIT_BASE=${GIT_BASE:-https://opendev.org}
#GIT_BASE=/opt/git
# Destination path for installation ``STACK_ROOT``
STACK_ROOT=${STACK_ROOT:-/opt/stack}
DATA_DIR=${STACK_ROOT}/data
# Release info
BASE_RELEASE=${BASE_RELEASE:-old}
BASE_RELEASE_DIR=${STACK_ROOT}/$BASE_RELEASE
TARGET_RELEASE=${TARGET_RELEASE:-new}
TARGET_RELEASE_DIR=${STACK_ROOT}/$TARGET_RELEASE
# DevStack sources
BASE_DEVSTACK_REPO=$GIT_BASE/openstack/devstack
BASE_DEVSTACK_BRANCH=${BASE_DEVSTACK_BRANCH:-stable/train}
BASE_DEVSTACK_DIR=${BASE_DEVSTACK_DIR:-$BASE_RELEASE_DIR/devstack}
TARGET_DEVSTACK_REPO=$BASE_DEVSTACK_REPO
TARGET_DEVSTACK_BRANCH=${TARGET_DEVSTACK_BRANCH:-master}
TARGET_DEVSTACK_DIR=${TARGET_DEVSTACK_DIR:-$TARGET_RELEASE_DIR/devstack}
TEMPEST_CONCURRENCY=${TEMPEST_CONCURRENCY:-$(nproc --all)}
# Saved stuff
SAVE_DIR=${STACK_ROOT}/save
# Screen session name
SCREEN_NAME=${SCREEN_NAME:-stack}
# Logging
LOGFILE=${STACK_ROOT}/logs/grenade.sh.log
LOGDAYS=1
TIMESTAMP_FORMAT="%F-%H%M%S"
CURRENT_LOG_TIME=${CURRENT_LOG_TIME:-$(date "+$TIMESTAMP_FORMAT")}
SCREEN_LOGDIR=${STACK_ROOT}/logs/screen
# Timeouts
#
# ``ACTIVE_TIMEOUT`` is used by javelin to determine how long to wait for
# resources to become active.
ACTIVE_TIMEOUT=120
SERVICE_TIMEOUT=120
# Defaults that use values from localrc go here
# Enable tempest
ENABLE_TEMPEST=${ENABLE_TEMPEST:-True}
# We need RECLONE to get the updated branches; not everyone wants it though
RECLONE=${RECLONE:-no}
# Set this to True if you want to abort execution with an error if a git repo
# does not exist
ERROR_ON_CLONE=${ERROR_ON_CLONE:-False}
# Allow only running parts of this script
RUN_BASE=${RUN_BASE:-True}
RUN_TARGET=${RUN_TARGET:-True}
VERBOSE=${VERBOSE:-True}
# Allow skipping smoke tests
RUN_SMOKE=${RUN_SMOKE:-True}
BASE_RUN_SMOKE=${BASE_RUN_SMOKE:-$RUN_SMOKE}
TARGET_RUN_SMOKE=${TARGET_RUN_SMOKE:-$RUN_SMOKE}
# declare the storage location for project specific things
declare -A PLUGIN_DIR
# Projects that we should upgrade
UPGRADE_PROJECTS=""
# Need this for global requirements
REQUIREMENTS_DIR=$TARGET_RELEASE_DIR/requirements
# Should we verify resources survive the upgrade process. Previously
# this was done with Javelin, but will be done with per resource
# scripts going forward.
VERIFY_RESOURCES=${VERIFY_RESOURCES:-True}
# How long should we wait for services to start / stop before we
# consider it a fail. Defaults to 30 seconds.
SERVICE_TIMEOUT=${SERVICE_TIMEOUT:-30}
# Should we run any online migrations manually during the upgrade
# process?
FORCE_ONLINE_MIGRATIONS=${FORCE_ONLINE_MIGRATIONS:-True}
# Should we enable Nova's mitigation for bug #1958883?
NOVA_ENABLE_UPGRADE_WORKAROUND=${NOVA_ENABLE_UPGRADE_WORKAROUND:-False}
# Local variables:
# mode: shell-script
# End: