Cinder supports both noauth and keystone auth mode. So now we can
configure this value via local.conf:
[[post-config|$CINDER_CONF]]
[DEFAULT]
auth_strategy = noauth
Change-Id: I1e434362117ab30dae71a8f3a80bc139e78f51bc
| ... | ... |
@@ -227,7 +227,6 @@ function configure_cinder {
|
| 227 | 227 |
|
| 228 | 228 |
configure_auth_token_middleware $CINDER_CONF cinder $CINDER_AUTH_CACHE_DIR |
| 229 | 229 |
|
| 230 |
- iniset $CINDER_CONF DEFAULT auth_strategy keystone |
|
| 231 | 230 |
iniset $CINDER_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL |
| 232 | 231 |
|
| 233 | 232 |
iniset $CINDER_CONF DEFAULT iscsi_helper "$CINDER_ISCSI_HELPER" |
| ... | ... |
@@ -529,7 +528,17 @@ function create_volume_types {
|
| 529 | 529 |
local be be_name |
| 530 | 530 |
for be in ${CINDER_ENABLED_BACKENDS//,/ }; do
|
| 531 | 531 |
be_name=${be##*:}
|
| 532 |
- openstack --os-region-name="$REGION_NAME" volume type create --property volume_backend_name="${be_name}" ${be_name}
|
|
| 532 |
+ # NOTE (e0ne): openstack client doesn't work with cinder in noauth mode |
|
| 533 |
+ if is_service_enabled keystone; then |
|
| 534 |
+ openstack --os-region-name="$REGION_NAME" volume type create --property volume_backend_name="${be_name}" ${be_name}
|
|
| 535 |
+ else |
|
| 536 |
+ # TODO (e0ne): use openstack client once it will support cinder in noauth mode: |
|
| 537 |
+ # https://bugs.launchpad.net/python-cinderclient/+bug/1755279 |
|
| 538 |
+ local cinder_url |
|
| 539 |
+ cinder_url=$CINDER_SERVICE_PROTOCOL://$SERVICE_HOST:$CINDER_SERVICE_PORT/v3 |
|
| 540 |
+ OS_USER_ID=$OS_USERNAME OS_PROJECT_ID=$OS_PROJECT_NAME cinder --os-auth-type noauth --os-endpoint=$cinder_url type-create ${be_name}
|
|
| 541 |
+ OS_USER_ID=$OS_USERNAME OS_PROJECT_ID=$OS_PROJECT_NAME cinder --os-auth-type noauth --os-endpoint=$cinder_url type-key ${be_name} set volume_backend_name=${be_name}
|
|
| 542 |
+ fi |
|
| 533 | 543 |
done |
| 534 | 544 |
fi |
| 535 | 545 |
} |