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