Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # -----------
- # Defaults
- # -----------
- SERVICE_PROJECT=service
- ADMIN_PROJECT=admin
- DEMO_PROJECT=demo
- ADMIN_ROLE=admin
- MEMBER_ROLE=_member_
- # SERVIVCE PASSWORD
- ADMIN_PASSWORD=Stackers0
- DEMO_PASSWORD=Stackers0
- CINDER_PASSWORD=Stackers0
- # SERVICE USER
- ADMIN_USER=admin
- DEMO_USER=demo
- CINDER_USER=cinder
- # E-MAIL ADDRESS
- ADMIN_EMAIL=admin@example.com
- DEMO_EMAIL=demo@example.com
- CINDER_EMAIL=cinder@example.com
- # SERVICE PROTOCOL
- KEYSTONE_PUBLIC_SERVICE_PROTOCOL=http
- KEYSTONE_ADMIN_SERVICE_PROTOCOL=http
- KEYSTONE_INTERNAL_SERVICE_PROTOCOL=http
- CINDER_PUBLIC_SERVICE_PROTOCOL=http
- CINDER_ADMIN_SERVICE_PROTOCOL=http
- CINDER_INTERNAL_SERVICE_PROTOCOL=http
- # SERVICE PORT
- KEYSTONE_PUBLIC_PORT=5000
- KEYSTONE_ADMIN_PORT=35357
- CINDER_PORT=8776
- # IDENTITY
- IDENTITY_API_VERSION=2.0
- REGION=regionOne
- # SERVICE HOST ADDRESS
- KEYSTONE_PUBLIC_SERVICE_HOST=192.168.56.121
- KEYSTONE_ADMIN_SERVICE_HOST=192.168.5.121
- KEYSTONE_INTERNAL_SERVICE_HOST=192.168.5.121
- CINDER_PUBLIC_SERVICE_HOST=192.168.56.121
- CINDER_ADMIN_SERVICE_HOST=192.168.5.121
- CINDER_INTERNAL_SERVICE_HOST=192.168.5.121
- export OS_TOKEN=999888777666
- export OS_URL=http://127.0.0.1:35357/v2.0
- # OR openstack --os-token $OS_TOKEN --os-url $OS_URL
- # --------------------------------------
- # Functions
- # --------------------------------------
- function get_field {
- while read data; do
- if [ "$1" -lt 0 ]; then
- field="(\$(NF$1))"
- else
- field="\$$(($1 + 1))"
- fi
- echo "$data" | awk -F'[ \t]*\\|[ \t]*' "{print $field}"
- done
- }
- # --------------------------------------
- # Roles
- # --------------------------------------
- openstack role create $ADMIN_ROLE
- #openstack role create $MEMBER_ROLE
- # --------------------------------------
- # Projects
- # --------------------------------------
- openstack project create $ADMIN_PROJECT
- openstack project create $DEMO_PROJECT
- openstack project create $SERVICE_PROJECT
- # --------------------------------------
- # Users
- # --------------------------------------
- openstack user create --project $ADMIN_PROJECT --email $ADMIN_EMAIL --password $ADMIN_PASSWORD $ADMIN_USER
- openstack user create --project $DEMO_PROJECT --email $DEMO_EMAIL --password $DEMO_PASSWORD $DEMO_USER
- # --------------------------------------
- # Service Users
- # --------------------------------------
- openstack user create --project $SERVICE_PROJECT --email $CINDER_EMAIL --password $CINDER_PASSWORD $CINDER_USER
- # --------------------------------------
- # Role add
- # --------------------------------------
- openstack role add --project $ADMIN_PROJECT --user $ADMIN_USER $ADMIN_ROLE
- openstack role add --project $DEMO_PROJECT --user $ADMIN_USER $ADMIN_ROLE
- #openstack role add --project $DEMO_PROJECT --user $DEMO_USER $MEMBER_ROLE
- openstack role add --project $SERVICE_PROJECT --user $CINDER_USER $ADMIN_ROLE
- # --------------------------------------
- # Service
- # --------------------------------------
- openstack service create --type identity --description "Keystone Identity Service" keystone
- openstack service create --type volume --description="Cinder Volume Service" cinder
- openstack service create --type volumev2 --description="Cinder Volume Service V2" cinderv2
- # --------------------------------------
- # Endpoint
- # --------------------------------------
- # Keystone
- openstack endpoint create \
- --region $REGION \
- --publicurl "${KEYSTONE_PUBLIC_SERVICE_PROTOCOL}://${KEYSTONE_PUBLIC_SERVICE_HOST}:${KEYSTONE_PUBLIC_PORT}/v${IDENTITY_API_VERSION}" \
- --adminurl "${KEYSTONE_ADMIN_SERVICE_PROTOCOL}://${KEYSTONE_INTERNAL_SERVICE_HOST}:${KEYSTONE_ADMIN_PORT}/v${IDENTITY_API_VERSION}" \
- --internalurl "${KEYSTONE_INTERNAL_SERVICE_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_PUBLIC_PORT}/v${IDENTITY_API_VERSION}" \
- keystone
- # Cinder
- openstack endpoint create \
- --region $REGION \
- --publicurl "${CINDER_PUBLIC_SERVICE_PROTOCOL}://${CINDER_PUBLIC_SERVICE_HOST}:${CINDER_PORT}/v1/\$(tenant_id)s" \
- --adminurl "${CINDER_ADMIN_SERVICE_PROTOCOL}://${CINDER_ADMIN_SERVICE_HOST}:${CINDER_PORT}/v1/\$(tenant_id)s" \
- --internalurl "${CINDER_INTERNAL_SERVICE_PROTOCOL}://${CINDER_INTERNAL_SERVICE_HOST}:${CINDER_PORT}/v1/\$(tenant_id)s" \
- cinder
- openstack endpoint create \
- --region $REGION \
- --publicurl "${CINDER_PUBLIC_SERVICE_PROTOCOL}://${CINDER_PUBLIC_SERVICE_HOST}:${CINDER_PORT}/v2/\$(tenant_id)s" \
- --adminurl "${CINDER_ADMIN_SERVICE_PROTOCOL}://${CINDER_ADMIN_SERVICE_HOST}:${CINDER_PORT}/v2/\$(tenant_id)s" \
- --internalurl "${CINDER_INTERNAL_SERVICE_PROTOCOL}://${CINDER_INTERNAL_SERVICE_HOST}:${CINDER_PORT}/v2/\$(tenant_id)s" \
- cinderv2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement