Adds basic skeleton/structure with stubs. Changes are done as per Roger Luethi's scripts. These changes are done to incorporate various features like logging, multi-os setup etc. These scripts may also target more virtualization products like KVM, LXC down the roadmap. blueprint openstack-training-labs Change-Id: I0bb33b518080f8a9b9c0e1624f43a66337eb8278
59 lines
2.8 KiB
Bash
59 lines
2.8 KiB
Bash
#!/bin/bash
|
|
#
|
|
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
|
|
#
|
|
# Contact: pranav@aptira.com
|
|
# License: Apache Software License (ASL) 2.0
|
|
# Inspired by https://github.com/mseknibilel/OpenStack-Grizzly-Install-Guide
|
|
###############################################################################
|
|
# #
|
|
# This script adds users and grants them roles #
|
|
# #
|
|
###############################################################################
|
|
|
|
HOST_IP=10.10.10.51
|
|
ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin_pass}
|
|
SERVICE_PASSWORD=${SERVICE_PASSWORD:-service_pass}
|
|
export SERVICE_TOKEN="ADMIN"
|
|
export SERVICE_ENDPOINT="http://${HOST_IP}:35357/v2.0"
|
|
SERVICE_TENANT_NAME=${SERVICE_TENANT_NAME:-service}
|
|
|
|
get_id () {
|
|
echo `$@ | awk '/ id / { print $4 }'`
|
|
}
|
|
|
|
# Tenants
|
|
ADMIN_TENANT=$(get_id keystone tenant-create --name=admin)
|
|
SERVICE_TENANT=$(get_id keystone tenant-create --name=$SERVICE_TENANT_NAME)
|
|
|
|
|
|
# Users
|
|
ADMIN_USER=$(get_id keystone user-create --name=admin --pass="$ADMIN_PASSWORD" --email=admin@domain.com)
|
|
|
|
|
|
# Roles
|
|
ADMIN_ROLE=$(get_id keystone role-create --name=admin)
|
|
KEYSTONEADMIN_ROLE=$(get_id keystone role-create --name=KeystoneAdmin)
|
|
KEYSTONESERVICE_ROLE=$(get_id keystone role-create --name=KeystoneServiceAdmin)
|
|
|
|
# Add roles to users in tenants
|
|
keystone user-role-add --user-id $ADMIN_USER --role-id $ADMIN_ROLE --tenant-id $ADMIN_TENANT
|
|
keystone user-role-add --user-id $ADMIN_USER --role-id $KEYSTONEADMIN_ROLE --tenant-id $ADMIN_TENANT
|
|
keystone user-role-add --user-id $ADMIN_USER --role-id $KEYSTONESERVICE_ROLE --tenant-id $ADMIN_TENANT
|
|
|
|
# The member role is used by horizon and swift
|
|
MEMBER_ROLE=$(get_id keystone role-create --name=Member)
|
|
|
|
# Configure service users/roles
|
|
NOVA_USER=$(get_id keystone user-create --name=nova --pass="$SERVICE_PASSWORD" --tenant-id $SERVICE_TENANT --email=nova@domain.com)
|
|
keystone user-role-add --tenant-id $SERVICE_TENANT --user-id $NOVA_USER --role-id $ADMIN_ROLE
|
|
|
|
GLANCE_USER=$(get_id keystone user-create --name=glance --pass="$SERVICE_PASSWORD" --tenant-id $SERVICE_TENANT --email=glance@domain.com)
|
|
keystone user-role-add --tenant-id $SERVICE_TENANT --user-id $GLANCE_USER --role-id $ADMIN_ROLE
|
|
|
|
NEUTRON_USER=$(get_id keystone user-create --name=neutron --pass="$SERVICE_PASSWORD" --tenant-id $SERVICE_TENANT --email=neutron@domain.com)
|
|
keystone user-role-add --tenant-id $SERVICE_TENANT --user-id $NEUTRON_USER --role-id $ADMIN_ROLE
|
|
|
|
CINDER_USER=$(get_id keystone user-create --name=cinder --pass="$SERVICE_PASSWORD" --tenant-id $SERVICE_TENANT --email=cinder@domain.com)
|
|
keystone user-role-add --tenant-id $SERVICE_TENANT --user-id $CINDER_USER --role-id $ADMIN_ROLE
|