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 |
} |