3 STACK_BRANCH
=stable
/rocky
6 STACK_USER
=${STACK_USER:-stack}
7 STACK_GROUP
=${STACK_GROUP:-stack}
8 TEMPEST_USER
=${TEMPEST_USER:-tempest}
10 STACK_HOME_PATH
=${STACK_HOME_PATH:-/home/stack}
11 STACK_OPT_PATH
=${STACK_OPT_PATH:-/opt/stack}
12 STACK_LOG_PATH
=${STACK_LOG_PATH:-/mnt/log/stack}
17 # ensure teuthology can clean up the logs
18 [ -d ${STACK_LOG_PATH} ] && chmod -R a
+rwx
${STACK_LOG_PATH}
20 mkdir
${STACK_LOG_PATH}/etc
21 cp -dpr /etc
/cinder
${STACK_LOG_PATH}/etc || true
22 cp -dpr /etc
/glance
${STACK_LOG_PATH}/etc || true
23 cp -dpr /etc
/nova
${STACK_LOG_PATH}/etc || true
25 # kill all OpenStack services
26 if [ -d ${STACK_OPT_PATH}/devstack
]; then
27 cd ${STACK_OPT_PATH}/devstack
28 sudo
-H -u ${STACK_USER} .
/unstack.sh || true
32 trap cleanup INT TERM EXIT
34 # devstack configuration adapted from upstream gate
35 cat<<EOF > ${STACK_HOME_PATH}/local.conf
37 ENABLE_CEPH_CINDER=True
38 ENABLE_CEPH_GLANCE=True
39 ENABLE_CEPH_C_BAK=True
41 Q_USE_DEBUG_COMMAND=True
42 NETWORK_GATEWAY=10.1.0.1
44 DATA_DIR=${STACK_OPT_PATH}/data
49 MYSQL_PASSWORD=secretmysql
50 DATABASE_PASSWORD=secretdatabase
51 RABBIT_PASSWORD=secretrabbit
52 ADMIN_PASSWORD=secretadmin
53 SERVICE_PASSWORD=secretservice
54 SERVICE_TOKEN=111222333444
55 SWIFT_HASH=1234123412341234
57 NOVNC_FROM_PACKAGE=True
58 ENABLED_SERVICES=c-api,c-bak,c-sch,c-vol,ceilometer-acentral,ceilometer-acompute,ceilometer-alarm-evaluator,ceilometer-alarm-notifier,ceilometer-anotification,ceilometer-api,ceilometer-collector,cinder,dstat,etcd3,g-api,g-reg,key,mysql,n-api,n-api-meta,n-cauth,n-cond,n-cpu,n-novnc,n-obj,n-sch,peakmem_tracker,placement-api,q-agt,q-dhcp,q-l3,q-meta,q-metering,q-svc,rabbit,s-account,s-container,s-object,s-proxy,tempest
59 SKIP_EXERCISES=boot_from_volume,bundle,client-env,euca
61 SCREEN_LOGDIR=${STACK_LOG_PATH}/screen-logs
62 LOGFILE=${STACK_LOG_PATH}/devstacklog.txt
64 FIXED_RANGE=10.1.0.0/20
65 IPV4_ADDRS_SAFE_TO_USE=10.1.0.0/20
66 FLOATING_RANGE=172.24.5.0/24
67 PUBLIC_NETWORK_GATEWAY=172.24.5.1
68 FIXED_NETWORK_SIZE=4096
71 SWIFT_START_ALL_SERVICES=False
73 UNDO_REQUIREMENTS=False
74 CINDER_PERIODIC_INTERVAL=10
76 export OS_NO_CACHE=True
78 EBTABLES_RACE_FIX=True
79 DEBUG_LIBVIRT_COREDUMPS=False
80 CINDER_VOLUME_CLEAR=none
82 VOLUME_BACKING_FILE_SIZE=24G
83 TEMPEST_HTTP_IMAGE=http://git.openstack.org/static/openstack.png
84 FORCE_CONFIG_DRIVE=False
86 CINDER_ENABLED_BACKENDS=ceph:ceph
87 TEMPEST_STORAGE_PROTOCOL=ceph
90 enable_plugin devstack-plugin-mariadb git://github.com/openstack/devstack-plugin-mariadb
91 enable_plugin devstack-plugin-ceph git://git.openstack.org/openstack/devstack-plugin-ceph
94 cat<<EOF > ${STACK_HOME_PATH}/start.sh
97 git clone https://git.openstack.org/openstack-dev/devstack -b ${STACK_BRANCH}
99 # TODO workaround for https://github.com/pypa/setuptools/issues/951
100 git clone https://git.openstack.org/openstack/requirements.git -b ${STACK_BRANCH}
101 sed -i 's/appdirs===1.4.0/appdirs===1.4.3/' requirements/upper-constraints.txt
104 cp ${STACK_HOME_PATH}/local.conf .
106 export TEMPEST_BRANCH=${TEMPEST_BRANCH}
107 export PYTHONUNBUFFERED=true
108 export PROJECTS="openstack/devstack-plugin-ceph openstack/devstack-plugin-mariadb"
114 chmod 0755 ${STACK_HOME_PATH}/start.sh
115 sudo
-H -u ${STACK_USER} ${STACK_HOME_PATH}/start.sh
117 # switch to rbd profile caps
118 ceph auth caps client.cinder mon
'profile rbd' osd
'profile rbd pool=volumes, profile rbd pool=vms, profile rbd pool=images'
119 ceph auth caps client.cinder-bak mon
'profile rbd' osd
'profile rbd pool=backups, profile rbd pool=volumes'
120 ceph auth caps client.glance mon
'profile rbd' osd
'profile rbd pool=images'
123 chown
-R ${TEMPEST_USER}:${STACK_GROUP} ${STACK_OPT_PATH}/tempest
124 chown
-R ${TEMPEST_USER}:${STACK_GROUP} ${STACK_OPT_PATH}/data
/tempest
125 chmod -R o
+rx
${STACK_OPT_PATH}/devstack
/files
127 cd ${STACK_OPT_PATH}/tempest
128 sudo
-H -u ${TEMPEST_USER} tox
-eall-plugin -- '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario)|(^cinder\.tests.tempest))' --concurrency=3