xref: /spdk/test/openstack/install_devstack.sh (revision 32999ab917f67af61872f868585fd3d78ad6fb8a)
1#!/usr/bin/env bash
2
3testdir=$(readlink -f $(dirname $0))
4rootdir=$(readlink -f $testdir/../..)
5
6function usage() {
7	[[ -n $2 ]] && (
8		echo "$2"
9		echo ""
10	)
11	echo "Devstack installation script"
12	echo "Usage: $(basename $1) [OPTIONS]"
13	echo "--branch=BRANCH    Define which version of openstack"
14	echo "                   should be installed. Default is master."
15	echo "-h, --help         Print help and exit"
16
17	exit 0
18}
19
20branch="master"
21while getopts 'h-:' optchar; do
22	case "$optchar" in
23		-)
24			case "$OPTARG" in
25				help) usage $0 ;;
26				branch=*) branch="${OPTARG#*=}" ;;
27			esac
28			;;
29		h) usage $0 ;;
30		*) usage $0 "Invalid argument '$OPTARG'" ;;
31	esac
32done
33
34cd /opt/stack/devstack
35su -c "./unstack.sh" -s /bin/bash stack
36
37cd /opt/stack
38rm -rf cinder devstack glance keystone heat horizon neutron nova placement requirements tacker tacker-horizon tempest
39
40r=0
41until [[ $r -ge 20 ]]; do
42	if [[ $branch == "master" ]]; then
43		su -c "git clone --depth 1 https://opendev.org/openstack-dev/devstack" -s /bin/bash stack && break
44	else
45		su -c "git clone --depth 1 https://opendev.org/openstack-dev/devstack -b stable/$branch" -s /bin/bash stack && break
46	fi
47	r=$((r + 1))
48done
49cp $rootdir/scripts/vagrant/local.conf /opt/stack/devstack/local.conf
50
51cd /opt/stack/devstack
52sudo sed -i "s|http://download.cirros-cloud.net|https://download.cirros-cloud.net|g" stackrc
53su -c "./stack.sh" -s /bin/bash stack
54source openrc admin admin
55openstack volume type create SPDK --public
56