xref: /spdk/test/openstack/install_devstack.sh (revision 88e3ffd7b6c5ec1ea1a660354d25f02c766092e1)
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
40if [[ $branch == "master" ]]; then
41	su -c "git clone https://opendev.org/openstack-dev/devstack" -s /bin/bash stack
42else
43	su -c "git clone https://opendev.org/openstack-dev/devstack -b stable/$branch" -s /bin/bash stack
44fi
45cp $rootdir/scripts/vagrant/local.conf /opt/stack/devstack/local.conf
46
47cd /opt/stack/devstack
48sudo sed -i "s|http://download.cirros-cloud.net|https://download.cirros-cloud.net|g" stackrc
49su -c "./stack.sh" -s /bin/bash stack
50source openrc admin admin
51openstack volume type create SPDK --public
52