Gary Wu | 785dff2 | 2017-10-19 11:50:55 -0700 | [diff] [blame] | 1 | #!/usr/bin/env bash |
| 2 | |
| 3 | # To use an OpenStack cloud you need to authenticate against the Identity |
| 4 | # service named keystone, which returns a **Token** and **Service Catalog**. |
| 5 | # The catalog contains the endpoints for all services the user/tenant has |
| 6 | # access to - such as Compute, Image Service, Identity, Object Storage, Block |
| 7 | # Storage, and Networking (code-named nova, glance, keystone, swift, |
| 8 | # cinder, and neutron). |
| 9 | # |
| 10 | # *NOTE*: Using the 3 *Identity API* does not necessarily mean any other |
| 11 | # OpenStack API is version 3. For example, your cloud provider may implement |
| 12 | # Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is |
| 13 | # only for the Identity API served through keystone. |
| 14 | export OS_AUTH_URL=http://10.12.25.2:5000/v3 |
| 15 | |
| 16 | # With the addition of Keystone we have standardized on the term **project** |
| 17 | # as the entity that owns the resources. |
| 18 | export OS_PROJECT_ID=09d8566ea45e43aa974cf447ed591d77 |
| 19 | export OS_PROJECT_NAME="Integration-Jenkins" |
| 20 | export OS_USER_DOMAIN_NAME="Default" |
| 21 | if [ -z "$OS_USER_DOMAIN_NAME" ]; then unset OS_USER_DOMAIN_NAME; fi |
| 22 | |
| 23 | # unset v2.0 items in case set |
| 24 | unset OS_TENANT_ID |
| 25 | unset OS_TENANT_NAME |
| 26 | |
| 27 | # In addition to the owning entity (tenant), OpenStack stores the entity |
| 28 | # performing the action as the **user**. |
| 29 | export OS_USERNAME="gary_wu" |
| 30 | |
Gary Wu | 785dff2 | 2017-10-19 11:50:55 -0700 | [diff] [blame] | 31 | # With Keystone you pass the keystone password. |
Gary Wu | cde4fec | 2017-10-23 12:12:38 -0700 | [diff] [blame] | 32 | if [ -z ${OS_PASSWORD_INPUT+x} ]; then |
| 33 | read -sp "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: " OS_PASSWORD_INPUT |
| 34 | fi |
Gary Wu | 785dff2 | 2017-10-19 11:50:55 -0700 | [diff] [blame] | 35 | export OS_PASSWORD=$OS_PASSWORD_INPUT |
| 36 | |
| 37 | # If your configuration has multiple regions, we set that information here. |
| 38 | # OS_REGION_NAME is optional and only valid in certain environments. |
| 39 | export OS_REGION_NAME="RegionOne" |
| 40 | # Don't leave a blank variable, unset it if it was empty |
| 41 | if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi |
| 42 | |
| 43 | export OS_INTERFACE=public |
| 44 | export OS_IDENTITY_API_VERSION=3 |