-
Notifications
You must be signed in to change notification settings - Fork 19
/
grenaderc
114 lines (86 loc) · 3.29 KB
/
grenaderc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# 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: