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