2019-09-20 13:27:11 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
testdir=$(readlink -f $(dirname $0))
|
|
|
|
rootdir=$(readlink -f $testdir/../..)
|
|
|
|
|
2020-05-07 11:27:06 +00:00
|
|
|
function usage() {
|
|
|
|
[[ -n $2 ]] && (
|
|
|
|
echo "$2"
|
|
|
|
echo ""
|
|
|
|
)
|
2019-09-20 13:27:11 +00:00
|
|
|
echo "Devstack installation script"
|
|
|
|
echo "Usage: $(basename $1) [OPTIONS]"
|
|
|
|
echo "--branch=BRANCH Define which version of openstack"
|
|
|
|
echo " should be installed. Default is master."
|
|
|
|
echo "-h, --help Print help and exit"
|
|
|
|
|
|
|
|
exit 0
|
|
|
|
}
|
|
|
|
|
|
|
|
branch="master"
|
|
|
|
while getopts 'h-:' optchar; do
|
|
|
|
case "$optchar" in
|
|
|
|
-)
|
2020-05-07 11:27:06 +00:00
|
|
|
case "$OPTARG" in
|
|
|
|
help) usage $0 ;;
|
|
|
|
branch=*) branch="${OPTARG#*=}" ;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
h) usage $0 ;;
|
|
|
|
*) usage $0 "Invalid argument '$OPTARG'" ;;
|
2019-09-20 13:27:11 +00:00
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
|
|
cd /opt/stack/devstack
|
|
|
|
su -c "./unstack.sh" -s /bin/bash stack
|
|
|
|
|
|
|
|
cd /opt/stack
|
|
|
|
rm -rf cinder devstack glance keystone heat horizon neutron nova placement requirements tacker tacker-horizon tempest
|
|
|
|
|
2021-02-01 10:27:10 +00:00
|
|
|
r=0
|
|
|
|
until [[ $r -ge 20 ]]; do
|
|
|
|
if [[ $branch == "master" ]]; then
|
|
|
|
su -c "git clone --depth 1 https://opendev.org/openstack-dev/devstack" -s /bin/bash stack && break
|
|
|
|
else
|
|
|
|
su -c "git clone --depth 1 https://opendev.org/openstack-dev/devstack -b stable/$branch" -s /bin/bash stack && break
|
|
|
|
fi
|
|
|
|
r=$((r + 1))
|
|
|
|
done
|
2019-09-20 13:27:11 +00:00
|
|
|
cp $rootdir/scripts/vagrant/local.conf /opt/stack/devstack/local.conf
|
|
|
|
|
|
|
|
cd /opt/stack/devstack
|
2020-01-24 19:43:18 +00:00
|
|
|
sudo sed -i "s|http://download.cirros-cloud.net|https://download.cirros-cloud.net|g" stackrc
|
2019-09-20 13:27:11 +00:00
|
|
|
su -c "./stack.sh" -s /bin/bash stack
|
|
|
|
source openrc admin admin
|
|
|
|
openstack volume type create SPDK --public
|