271
272
@hooks.hook('identity-service-relation-joined')
272
273
def identity_joined(rid=None):
273
public_url = '{}:{}/v1/$(tenant_id)s'.format(
274
canonical_url(CONFIGS, PUBLIC),
275
config('api-listening-port')
277
internal_url = '{}:{}/v1/$(tenant_id)s'.format(
278
canonical_url(CONFIGS, INTERNAL),
279
config('api-listening-port')
281
admin_url = '{}:{}/v1/$(tenant_id)s'.format(
282
canonical_url(CONFIGS, ADMIN),
283
config('api-listening-port')
274
v1_template = '${scheme}://${address}:${port}/v1/$(tenant_id)s'
275
v1_endpoints = Endpoints(v1_template, configs=CONFIGS)
290
281
'admin_url': None,
291
282
'cinder_region': config('region'),
292
283
'cinder_service': 'cinder',
293
'cinder_public_url': public_url,
294
'cinder_internal_url': internal_url,
295
'cinder_admin_url': admin_url,
284
'cinder_public_url': v1_endpoints.public(),
285
'cinder_internal_url': v1_endpoints.internal(),
286
'cinder_admin_url': v1_endpoints.admin(),
297
288
if os_release('cinder-common') >= 'icehouse':
298
289
# NOTE(jamespage) register v2 endpoint as well
299
public_url = '{}:{}/v2/$(tenant_id)s'.format(
300
canonical_url(CONFIGS, PUBLIC),
301
config('api-listening-port')
303
internal_url = '{}:{}/v2/$(tenant_id)s'.format(
304
canonical_url(CONFIGS, INTERNAL),
305
config('api-listening-port')
307
admin_url = '{}:{}/v2/$(tenant_id)s'.format(
308
canonical_url(CONFIGS, ADMIN),
309
config('api-listening-port')
290
v2_template = '${scheme}://${address}:${port}/v2/$(tenant_id)s'
291
v2_endpoints = Endpoints(v2_template, configs=CONFIGS)
311
292
settings.update({
312
293
'cinderv2_region': config('region'),
313
294
'cinderv2_service': 'cinderv2',
314
'cinderv2_public_url': public_url,
315
'cinderv2_internal_url': internal_url,
316
'cinderv2_admin_url': admin_url,
295
'cinderv2_public_url': v2_endpoints.public(),
296
'cinderv2_internal_url': v2_endpoints.internal(),
297
'cinderv2_admin_url': v2_endpoints.admin(),
318
299
relation_set(relation_id=rid, **settings)