08eb7daa3f
Change-Id: I2c9f5240f161c5581d78395b8378391d74d0cc66
72 lines
1.8 KiB
Bash
Executable File
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
|