senlin/tools/setup-service
lvdongbing 08eb7daa3f Revise tools/setup-service to make it work with keystone v3
Change-Id: I2c9f5240f161c5581d78395b8378391d74d0cc66
2016-08-25 02:38:53 -04:00

72 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
if [[ -z $OS_AUTH_URL ]]; then
echo "This script must have proper environment variables exported."
echo "Please check if you have sourced senlinrc file or openrc file if "
echo "you are using devstack."
exit -1
fi
if [ $OS_USERNAME != 'admin' ]; then
echo "This script has to be executed as an 'admin' user."
echo "Please set environment variable OS_USERNAME to 'admin'."
exit -1
fi
if [ $# -ne 2 ]; then
echo "Usage: `basename $0` <HOST_IP> <SERVICE_PASSWORD>"
exit -1
fi
PORT=8778
HOST=$1 # Put your host IP here
SVC_PASSWD=$2
OS_REGION_NAME=${OS_REGION_NAME:-RegionOne}
OS_IDENTITY_API_VERSION=${OS_IDENTITY_API_VERSION:-3}
SERVICE_ID=$(openstack service show senlin -f value -cid 2>/dev/null)
if [[ -z $SERVICE_ID ]]; then
SERVICE_ID=$(openstack service create \
--name senlin \
--description 'Senlin Clustering Service V1' \
-f value -cid \
clustering)
fi
if [[ -z $SERVICE_ID ]]; then
exit
fi
if [ "$OS_IDENTITY_API_VERSION" = "3" ]; then
openstack endpoint create senlin admin "http://$HOST:$PORT" \
--region $OS_REGION_NAME
openstack endpoint create senlin public "http://$HOST:$PORT" \
--region $OS_REGION_NAME
openstack endpoint create senlin internal "http://$HOST:$PORT" \
--region $OS_REGION_NAME
else
openstack endpoint create \
--adminurl "http://$HOST:$PORT" \
--publicurl "http://$HOST:$PORT" \
--internalurl "http://$HOST:$PORT" \
--region $OS_REGION_NAME \
senlin
fi
openstack user create \
--password "$SVC_PASSWD" \
--project service \
--email senlin@localhost \
senlin
openstack role add \
admin \
--user senlin \
--project service
# make sure 'senlin' has 'service' role in 'demo' project
openstack role add \
service \
--user senlin \
--project demo