Created
December 2, 2013 11:27
-
-
Save mathslinux/7748174 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Author: Martin Gerhard Loschwitz | |
# (c) 2012 hastexo Professional Services GmbH | |
# Licensed under the Apache License, Version 2.0 (the "License"); | |
# you may not use this file except in compliance with the License. | |
# You may obtain a copy of the License at | |
# | |
# http://www.apache.org/licenses/LICENSE-2.0 | |
# | |
# Unless required by applicable law or agreed to in writing, software | |
# distributed under the License is distributed on an "AS IS" BASIS, | |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
# See the License for the specific language governing permissions and | |
# limitations under the License. | |
# | |
# On Debian-based systems the full text of the Apache version 2.0 | |
# license can be found in `/usr/share/common-licenses/Apache-2.0'. | |
# other definitions | |
MASTER=192.168.176.152 # IP of openstack service | |
KEYSTONE_REGION=RegionOne | |
export SERVICE_TOKEN=geniux | |
export SERVICE_ENDPOINT="http://localhost:35357/v2.0" | |
SWIFT_MASTER=192.168.176.151 | |
keystone service-create --name nova --type compute --description 'OpenStack Compute Service' | |
keystone service-create --name volume --type volume --description 'OpenStack Volume Service' | |
keystone service-create --name glance --type image --description 'OpenStack Image Service' | |
keystone service-create --name swift --type object-store --description 'OpenStack Storage Service' | |
keystone service-create --name keystone --type identity --description 'OpenStack Identity' | |
keystone service-create --name ec2 --type ec2 --description 'OpenStack EC2 service' | |
create_endpoint () { | |
case $1 in | |
compute) | |
echo $2 | |
keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':8774/v2/%(tenant_id)s' --adminurl 'http://'"$MASTER"':8774/v2/%(tenant_id)s' --internalurl 'http://'"$MASTER"':8774/v2/%(tenant_id)s' | |
;; | |
volume) | |
keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':8776/v1/%(tenant_id)s' --adminurl 'http://'"$MASTER"':8776/v1/%(tenant_id)s' --internalurl 'http://'"$MASTER"':8776/v1/%(tenant_id)s' | |
;; | |
image) | |
keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':9292/v1' --adminurl 'http://'"$MASTER"':9292/v1' --internalurl 'http://'"$MASTER"':9292/v1' | |
;; | |
object-store) | |
if [ $SWIFT_MASTER ]; then | |
keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$SWIFT_MASTER"':8080/v1/AUTH_%(tenant_id)s' --adminurl 'http://'"$SWIFT_MASTER"':8080/v1' --internalurl 'http://'"$SWIFT_MASTER"':8080/v1/AUTH_%(tenant_id)s' | |
else | |
keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':8080/v1/AUTH_%(tenant_id)s' --adminurl 'http://'"$MASTER"':8080/v1' --internalurl 'http://'"$MASTER"':8080/v1/AUTH_%(tenant_id)s' | |
fi | |
;; | |
identity) | |
keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':5000/v2.0' --adminurl 'http://'"$MASTER"':35357/v2.0' --internalurl 'http://'"$MASTER"':5000/v2.0' | |
;; | |
ec2) | |
keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':8773/services/Cloud' --adminurl 'http://'"$MASTER"':8773/services/Admin' --internalurl 'http://'"$MASTER"':8773/services/Cloud' | |
;; | |
esac | |
} | |
function get_id() { | |
echo `sqlite3 /var/lib/keystone/keystone.db <<EOF | |
SELECT id FROM service WHERE type='$1'; | |
EOF` | |
} | |
for i in compute volume image object-store identity ec2; do | |
create_endpoint $i $(get_id $i) | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment