Don't have separate protocols/ports for Keystone v3

The change in ab068a824e is described as
temporary, so it would be better if it did not affect the EndpointMap
parameter (which is effectively a public interface, since it may be
overridden in an environment file). No configuration should end up with
different ports/protocols/hosts for Keystone v2 and v3, and somebody
customising them should not have to account for them separately. Nor
should things break when the need to distinguish between v2 and v3
endpoints goes away.

This change removes the KeystoneV3* keys from the EndpointMap input and
uses the Keystone* keys instead, so that any change to the internal
organisation becomes transparent to the user.

Change-Id: If4cdd9232f4dbc9f2af651bbdfe68f09dc26ed2e
This commit is contained in:
Zane Bitter 2016-02-24 12:04:59 -05:00 committed by Juan Antonio Osorio Robles
parent 49bae7f298
commit d773227e7d
3 changed files with 32 additions and 51 deletions

View File

@ -24,9 +24,6 @@ parameter_defaults:
KeystoneAdmin: {protocol: 'http', port: '35357', host: 'IP_ADDRESS'}
KeystoneInternal: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
KeystonePublic: {protocol: 'https', port: '13000', host: 'CLOUDNAME'}
KeystoneV3Admin: {protocol: 'http', port: '35357', host: 'IP_ADDRESS'}
KeystoneV3Internal: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
KeystoneV3Public: {protocol: 'https', port: '13000', host: 'CLOUDNAME'}
NeutronAdmin: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
NeutronInternal: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
NeutronPublic: {protocol: 'https', port: '13696', host: 'CLOUDNAME'}

View File

@ -72,40 +72,27 @@ Horizon:
'': /dashboard
port: 80
# TODO(ayoung): V3 is a temporary fix. Endpoints should be versionless.
# Required for https://bugs.launchpad.net/puppet-nova/+bug/1542486
Keystone:
Internal:
vip_param: KeystonePublicApi
uri_suffixes:
'': /v2.0
EC2: /v2.0/ec2tokens
V3: /v3
names:
EC2: KeystoneEC2
Public:
vip_param: Public
uri_suffixes:
'': /v2.0
V3: /v3
Admin:
vip_param: KeystoneAdminApi
uri_suffixes:
'': /v2.0
port: 35357
port: 5000
# TODO(ayoung): V3 is a temporary fix. Endpoints should be versionless.
# Required for https://bugs.launchpad.net/puppet-nova/+bug/1542486
KeystoneV3:
Internal:
vip_param: KeystonePublicApi
uri_suffixes:
'': /v3
Public:
vip_param: Public
uri_suffixes:
'': /v3
Admin:
vip_param: KeystoneAdminApi
uri_suffixes:
'': /v3
V3: /v3
port: 35357
port: 5000

View File

@ -43,9 +43,6 @@ parameters:
KeystoneAdmin: {protocol: http, port: '35357', host: IP_ADDRESS}
KeystoneInternal: {protocol: http, port: '5000', host: IP_ADDRESS}
KeystonePublic: {protocol: http, port: '5000', host: IP_ADDRESS}
KeystoneV3Admin: {protocol: http, port: '35357', host: IP_ADDRESS}
KeystoneV3Internal: {protocol: http, port: '5000', host: IP_ADDRESS}
KeystoneV3Public: {protocol: http, port: '5000', host: IP_ADDRESS}
NeutronAdmin: {protocol: http, port: '9696', host: IP_ADDRESS}
NeutronInternal: {protocol: http, port: '9696', host: IP_ADDRESS}
NeutronPublic: {protocol: http, port: '9696', host: IP_ADDRESS}
@ -963,119 +960,119 @@ outputs:
host:
str_replace:
template:
get_param: [EndpointMap, KeystoneV3Admin, host]
get_param: [EndpointMap, KeystoneAdmin, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
port:
get_param: [EndpointMap, KeystoneV3Admin, port]
get_param: [EndpointMap, KeystoneAdmin, port]
protocol:
get_param: [EndpointMap, KeystoneV3Admin, protocol]
get_param: [EndpointMap, KeystoneAdmin, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, KeystoneV3Admin, protocol]
- - get_param: [EndpointMap, KeystoneAdmin, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, KeystoneV3Admin, host]
get_param: [EndpointMap, KeystoneAdmin, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
- ':'
- get_param: [EndpointMap, KeystoneV3Admin, port]
- get_param: [EndpointMap, KeystoneAdmin, port]
- /v3
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, KeystoneV3Admin, protocol]
- - get_param: [EndpointMap, KeystoneAdmin, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, KeystoneV3Admin, host]
get_param: [EndpointMap, KeystoneAdmin, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
- ':'
- get_param: [EndpointMap, KeystoneV3Admin, port]
- get_param: [EndpointMap, KeystoneAdmin, port]
KeystoneV3Internal:
host:
str_replace:
template:
get_param: [EndpointMap, KeystoneV3Internal, host]
get_param: [EndpointMap, KeystoneInternal, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
port:
get_param: [EndpointMap, KeystoneV3Internal, port]
get_param: [EndpointMap, KeystoneInternal, port]
protocol:
get_param: [EndpointMap, KeystoneV3Internal, protocol]
get_param: [EndpointMap, KeystoneInternal, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, KeystoneV3Internal, protocol]
- - get_param: [EndpointMap, KeystoneInternal, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, KeystoneV3Internal, host]
get_param: [EndpointMap, KeystoneInternal, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
- ':'
- get_param: [EndpointMap, KeystoneV3Internal, port]
- get_param: [EndpointMap, KeystoneInternal, port]
- /v3
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, KeystoneV3Internal, protocol]
- - get_param: [EndpointMap, KeystoneInternal, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, KeystoneV3Internal, host]
get_param: [EndpointMap, KeystoneInternal, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
- ':'
- get_param: [EndpointMap, KeystoneV3Internal, port]
- get_param: [EndpointMap, KeystoneInternal, port]
KeystoneV3Public:
host:
str_replace:
template:
get_param: [EndpointMap, KeystoneV3Public, host]
get_param: [EndpointMap, KeystonePublic, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: PublicVirtualIP}
port:
get_param: [EndpointMap, KeystoneV3Public, port]
get_param: [EndpointMap, KeystonePublic, port]
protocol:
get_param: [EndpointMap, KeystoneV3Public, protocol]
get_param: [EndpointMap, KeystonePublic, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, KeystoneV3Public, protocol]
- - get_param: [EndpointMap, KeystonePublic, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, KeystoneV3Public, host]
get_param: [EndpointMap, KeystonePublic, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- get_param: [EndpointMap, KeystoneV3Public, port]
- get_param: [EndpointMap, KeystonePublic, port]
- /v3
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, KeystoneV3Public, protocol]
- - get_param: [EndpointMap, KeystonePublic, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, KeystoneV3Public, host]
get_param: [EndpointMap, KeystonePublic, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- get_param: [EndpointMap, KeystoneV3Public, port]
- get_param: [EndpointMap, KeystonePublic, port]
NeutronAdmin:
host:
str_replace: