Supports the coming HA/proxy configuration for Cinder
Change-Id: If2e08e45430dce895ed6bb1070612517a38ca4bc
| ... | ... |
@@ -7,7 +7,6 @@ |
| 7 | 7 |
# service glance admin |
| 8 | 8 |
# service quantum admin # if enabled |
| 9 | 9 |
# service swift admin # if enabled |
| 10 |
-# service cinder admin # if enabled |
|
| 11 | 10 |
# service heat admin # if enabled |
| 12 | 11 |
# service ceilometer admin # if enabled |
| 13 | 12 |
# Tempest Only: |
| ... | ... |
@@ -38,6 +37,7 @@ function get_id () {
|
| 38 | 38 |
# Lookups |
| 39 | 39 |
SERVICE_TENANT=$(keystone tenant-list | awk "/ $SERVICE_TENANT_NAME / { print \$2 }")
|
| 40 | 40 |
ADMIN_ROLE=$(keystone role-list | awk "/ admin / { print \$2 }")
|
| 41 |
+MEMBER_ROLE=$(keystone role-list | awk "/ Member / { print \$2 }")
|
|
| 41 | 42 |
|
| 42 | 43 |
|
| 43 | 44 |
# Roles |
| ... | ... |
@@ -49,6 +49,7 @@ ADMIN_ROLE=$(keystone role-list | awk "/ admin / { print \$2 }")
|
| 49 | 49 |
# role is also configurable in swift-proxy.conf |
| 50 | 50 |
RESELLER_ROLE=$(get_id keystone role-create --name=ResellerAdmin) |
| 51 | 51 |
|
| 52 |
+ |
|
| 52 | 53 |
# Services |
| 53 | 54 |
# -------- |
| 54 | 55 |
|
| ... | ... |
@@ -243,25 +244,3 @@ if [[ "$ENABLED_SERVICES" =~ "tempest" ]]; then |
| 243 | 243 |
--user_id $ALT_DEMO_USER \ |
| 244 | 244 |
--role_id $MEMBER_ROLE |
| 245 | 245 |
fi |
| 246 |
- |
|
| 247 |
-if [[ "$ENABLED_SERVICES" =~ "c-api" ]]; then |
|
| 248 |
- CINDER_USER=$(get_id keystone user-create --name=cinder \ |
|
| 249 |
- --pass="$SERVICE_PASSWORD" \ |
|
| 250 |
- --tenant_id $SERVICE_TENANT \ |
|
| 251 |
- --email=cinder@example.com) |
|
| 252 |
- keystone user-role-add --tenant_id $SERVICE_TENANT \ |
|
| 253 |
- --user_id $CINDER_USER \ |
|
| 254 |
- --role_id $ADMIN_ROLE |
|
| 255 |
- if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then |
|
| 256 |
- CINDER_SERVICE=$(get_id keystone service-create \ |
|
| 257 |
- --name=cinder \ |
|
| 258 |
- --type=volume \ |
|
| 259 |
- --description="Cinder Service") |
|
| 260 |
- keystone endpoint-create \ |
|
| 261 |
- --region RegionOne \ |
|
| 262 |
- --service_id $CINDER_SERVICE \ |
|
| 263 |
- --publicurl "http://$SERVICE_HOST:8776/v1/\$(tenant_id)s" \ |
|
| 264 |
- --adminurl "http://$SERVICE_HOST:8776/v1/\$(tenant_id)s" \ |
|
| 265 |
- --internalurl "http://$SERVICE_HOST:8776/v1/\$(tenant_id)s" |
|
| 266 |
- fi |
|
| 267 |
-fi |
| ... | ... |
@@ -31,9 +31,11 @@ CINDER_DRIVER=${CINDER_DRIVER:-default}
|
| 31 | 31 |
CINDER_DIR=$DEST/cinder |
| 32 | 32 |
CINDERCLIENT_DIR=$DEST/python-cinderclient |
| 33 | 33 |
CINDER_STATE_PATH=${CINDER_STATE_PATH:=$DATA_DIR/cinder}
|
| 34 |
+CINDER_AUTH_CACHE_DIR=${CINDER_AUTH_CACHE_DIR:-/var/cache/cinder}
|
|
| 35 |
+ |
|
| 34 | 36 |
CINDER_CONF_DIR=/etc/cinder |
| 35 | 37 |
CINDER_CONF=$CINDER_CONF_DIR/cinder.conf |
| 36 |
-CINDER_AUTH_CACHE_DIR=${CINDER_AUTH_CACHE_DIR:-/var/cache/cinder}
|
|
| 38 |
+CINDER_API_PASTE_INI=$CINDER_CONF_DIR/api-paste.ini |
|
| 37 | 39 |
|
| 38 | 40 |
# Support entry points installation of console scripts |
| 39 | 41 |
if [[ -d $CINDER_DIR/bin ]]; then |
| ... | ... |
@@ -97,7 +99,6 @@ function configure_cinder() {
|
| 97 | 97 |
sudo chown root:root $TEMPFILE |
| 98 | 98 |
sudo mv $TEMPFILE /etc/sudoers.d/cinder-rootwrap |
| 99 | 99 |
|
| 100 |
- CINDER_API_PASTE_INI=$CINDER_CONF_DIR/api-paste.ini |
|
| 101 | 100 |
cp $CINDER_DIR/etc/cinder/api-paste.ini $CINDER_API_PASTE_INI |
| 102 | 101 |
iniset $CINDER_API_PASTE_INI filter:authtoken auth_host $KEYSTONE_AUTH_HOST |
| 103 | 102 |
iniset $CINDER_API_PASTE_INI filter:authtoken auth_port $KEYSTONE_AUTH_PORT |
| ... | ... |
@@ -159,6 +160,46 @@ function configure_cinder() {
|
| 159 | 159 |
fi |
| 160 | 160 |
} |
| 161 | 161 |
|
| 162 |
+# create_cinder_accounts() - Set up common required cinder accounts |
|
| 163 |
+ |
|
| 164 |
+# Tenant User Roles |
|
| 165 |
+# ------------------------------------------------------------------ |
|
| 166 |
+# service cinder admin # if enabled |
|
| 167 |
+ |
|
| 168 |
+# Migrated from keystone_data.sh |
|
| 169 |
+create_cinder_accounts() {
|
|
| 170 |
+ |
|
| 171 |
+ SERVICE_TENANT=$(keystone tenant-list | awk "/ $SERVICE_TENANT_NAME / { print \$2 }")
|
|
| 172 |
+ ADMIN_ROLE=$(keystone role-list | awk "/ admin / { print \$2 }")
|
|
| 173 |
+ |
|
| 174 |
+ # Cinder |
|
| 175 |
+ if [[ "$ENABLED_SERVICES" =~ "c-api" ]]; then |
|
| 176 |
+ CINDER_USER=$(keystone user-create \ |
|
| 177 |
+ --name=cinder \ |
|
| 178 |
+ --pass="$SERVICE_PASSWORD" \ |
|
| 179 |
+ --tenant_id $SERVICE_TENANT \ |
|
| 180 |
+ --email=cinder@example.com \ |
|
| 181 |
+ | grep " id " | get_field 2) |
|
| 182 |
+ keystone user-role-add \ |
|
| 183 |
+ --tenant_id $SERVICE_TENANT \ |
|
| 184 |
+ --user_id $CINDER_USER \ |
|
| 185 |
+ --role_id $ADMIN_ROLE |
|
| 186 |
+ if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then |
|
| 187 |
+ CINDER_SERVICE=$(keystone service-create \ |
|
| 188 |
+ --name=cinder \ |
|
| 189 |
+ --type=volume \ |
|
| 190 |
+ --description="Cinder Volume Service" \ |
|
| 191 |
+ | grep " id " | get_field 2) |
|
| 192 |
+ keystone endpoint-create \ |
|
| 193 |
+ --region RegionOne \ |
|
| 194 |
+ --service_id $CINDER_SERVICE \ |
|
| 195 |
+ --publicurl "http://$SERVICE_HOST:8776/v1/\$(tenant_id)s" \ |
|
| 196 |
+ --adminurl "http://$SERVICE_HOST:8776/v1/\$(tenant_id)s" \ |
|
| 197 |
+ --internalurl "http://$SERVICE_HOST:8776/v1/\$(tenant_id)s" |
|
| 198 |
+ fi |
|
| 199 |
+ fi |
|
| 200 |
+} |
|
| 201 |
+ |
|
| 162 | 202 |
# init_cinder() - Initialize database and volume group |
| 163 | 203 |
function init_cinder() {
|
| 164 | 204 |
# Force nova volumes off |
| ... | ... |
@@ -956,6 +956,7 @@ if is_service_enabled key; then |
| 956 | 956 |
export OS_SERVICE_ENDPOINT=$SERVICE_ENDPOINT |
| 957 | 957 |
create_keystone_accounts |
| 958 | 958 |
create_nova_accounts |
| 959 |
+ create_cinder_accounts |
|
| 959 | 960 |
|
| 960 | 961 |
# ``keystone_data.sh`` creates services, admin and demo users, and roles. |
| 961 | 962 |
ADMIN_PASSWORD=$ADMIN_PASSWORD SERVICE_TENANT_NAME=$SERVICE_TENANT_NAME SERVICE_PASSWORD=$SERVICE_PASSWORD \ |