Refacter Endpoints into EndpointMap

Because many of the service endpoints URLs use the same patterns for
generating the URLs it makes sense to use the same templates to reduce
the copy and paste.

In the process also adds support for explicitly specifying hostnames
for use in the endpoints.  Note: DNS must be pre-configured.   The
Heat templates do not directly configure DNS.

Change-Id: Ie3270909beca3d63f2d7e4bcb04c559380ddc54d
Co-Authored-By: Juan Antonio Osorio Robles <jaosorior@redhat.com>
This commit is contained in:
Mark Chappell 2015-11-03 15:29:57 +02:00 committed by Juan Antonio Osorio Robles
parent 6fdbbb6e87
commit 5a3706890d
9 changed files with 493 additions and 122 deletions

View File

@ -0,0 +1,55 @@
heat_template_version: 2015-04-30
description: >
OpenStack Endpoint
parameters:
EndpointName:
type: string
description: The name of the Endpoint being evaluated
EndpointMap:
type: json
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
IP:
type: string
description: The IP address of the Neutron Port that the endpoint is attached to
UriSuffix:
type: string
default: ''
description: A suffix attached to the URL
outputs:
endpoint:
description: >
A Hash containing a mapping of service endpoints to ports, protocols, uris
assigned IPs, and hostnames for a specific endpoint
value:
port: {get_param: [EndpointMap, {get_param: EndpointName }, port] }
protocol: {get_param: [EndpointMap, {get_param: EndpointName }, protocol] }
host:
str_replace:
template: {get_param: [EndpointMap, {get_param: EndpointName }, host]}
params: {IP_ADDRESS: {get_param: IP} }
uri:
list_join:
- ''
- - {get_param: [EndpointMap, {get_param: EndpointName }, protocol] }
- '://'
- str_replace:
template: {get_param: [EndpointMap, {get_param: EndpointName }, host]}
params: {IP_ADDRESS: {get_param: IP} }
- ':'
- {get_param: [EndpointMap, {get_param: EndpointName }, port] }
- {get_param: UriSuffix }
uri_no_suffix:
list_join:
- ''
- - {get_param: [EndpointMap, {get_param: EndpointName }, protocol] }
- '://'
- str_replace:
template: {get_param: [EndpointMap, {get_param: EndpointName }, host]}
params: {IP_ADDRESS: {get_param: IP} }
- ':'
- {get_param: [EndpointMap, {get_param: EndpointName }, port] }

View File

@ -0,0 +1,374 @@
heat_template_version: 2015-04-30
description: >
A Map of OpenStack Endpoints
parameters:
CeilometerApiVirtualIP:
type: string
default: ''
CinderApiVirtualIP:
type: string
default: ''
GlanceApiVirtualIP:
type: string
default: ''
GlanceRegistryVirtualIP:
type: string
default: ''
HeatApiVirtualIP:
type: string
default: ''
KeystoneAdminApiVirtualIP:
type: string
default: ''
KeystonePublicApiVirtualIP:
type: string
default: ''
MysqlVirtualIP:
type: string
default: ''
NeutronApiVirtualIP:
type: string
default: ''
NovaApiVirtualIP:
type: string
default: ''
PublicVirtualIP:
type: string
default: ''
SwiftProxyVirtualIP:
type: string
default: ''
EndpointMap:
type: json
default:
CeilometerAdmin: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
CeilometerInternal: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
CeilometerPublic: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
CinderPublic: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
GlanceAdmin: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
GlanceInternal: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
GlancePublic: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
HeatAdmin: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
HeatInternal: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
HeatPublic: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
KeystoneAdmin: {protocol: 'http', port: '35357', host: 'IP_ADDRESS'}
KeystoneInternal: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
KeystonePublic: {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'}
NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
NovaPublic: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
NovaEC2Admin: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
NovaEC2Internal: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
NovaEC2Public: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
SwiftAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
SwiftInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
SwiftPublic: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
resources:
CeilometerInternal:
type: OS::TripleO::Endpoint
properties:
EndpointName: CeilometerInternal
EndpointMap: { get_param: EndpointMap }
IP: {get_param: CeilometerApiVirtualIP}
CeilometerPublic:
type: OS::TripleO::Endpoint
properties:
EndpointName: CeilometerPublic
EndpointMap: { get_param: EndpointMap }
IP: {get_param: PublicVirtualIP}
CeilometerAdmin:
type: OS::TripleO::Endpoint
properties:
EndpointName: CeilometerAdmin
EndpointMap: { get_param: EndpointMap }
IP: {get_param: CeilometerApiVirtualIP}
CinderInternal:
type: OS::TripleO::Endpoint
properties:
EndpointName: CinderInternal
EndpointMap: { get_param: EndpointMap }
IP: {get_param: CinderApiVirtualIP}
UriSuffix: '/v1/%(tenant_id)s'
CinderPublic:
type: OS::TripleO::Endpoint
properties:
EndpointName: CinderPublic
EndpointMap: { get_param: EndpointMap }
IP: {get_param: PublicVirtualIP}
UriSuffix: '/v1/%(tenant_id)s'
CinderAdmin:
type: OS::TripleO::Endpoint
properties:
EndpointName: CinderAdmin
EndpointMap: { get_param: EndpointMap }
IP: {get_param: CinderApiVirtualIP}
UriSuffix: '/v1/%(tenant_id)s'
CinderV2Internal:
type: OS::TripleO::Endpoint
properties:
EndpointName: CinderInternal
EndpointMap: { get_param: EndpointMap }
IP: {get_param: CinderApiVirtualIP}
UriSuffix: '/v2/%(tenant_id)s'
CinderV2Public:
type: OS::TripleO::Endpoint
properties:
EndpointName: CinderPublic
EndpointMap: { get_param: EndpointMap }
IP: {get_param: PublicVirtualIP}
UriSuffix: '/v2/%(tenant_id)s'
CinderV2Admin:
type: OS::TripleO::Endpoint
properties:
EndpointName: CinderAdmin
EndpointMap: { get_param: EndpointMap }
IP: {get_param: CinderApiVirtualIP}
UriSuffix: '/v2/%(tenant_id)s'
GlanceInternal:
type: OS::TripleO::Endpoint
properties:
EndpointName: GlanceInternal
EndpointMap: { get_param: EndpointMap }
IP: {get_param: GlanceApiVirtualIP}
GlancePublic:
type: OS::TripleO::Endpoint
properties:
EndpointName: GlancePublic
EndpointMap: { get_param: EndpointMap }
IP: {get_param: PublicVirtualIP}
GlanceAdmin:
type: OS::TripleO::Endpoint
properties:
EndpointName: GlanceAdmin
EndpointMap: { get_param: EndpointMap }
IP: {get_param: GlanceApiVirtualIP}
HeatInternal:
type: OS::TripleO::Endpoint
properties:
EndpointName: HeatInternal
EndpointMap: { get_param: EndpointMap }
IP: {get_param: HeatApiVirtualIP}
UriSuffix: '/v1/%(tenant_id)s'
HeatPublic:
type: OS::TripleO::Endpoint
properties:
EndpointName: HeatPublic
EndpointMap: { get_param: EndpointMap }
IP: {get_param: PublicVirtualIP}
UriSuffix: '/v1/%(tenant_id)s'
HeatAdmin:
type: OS::TripleO::Endpoint
properties:
EndpointName: HeatAdmin
EndpointMap: { get_param: EndpointMap }
IP: {get_param: HeatApiVirtualIP}
UriSuffix: '/v1/%(tenant_id)s'
KeystoneInternal:
type: OS::TripleO::Endpoint
properties:
EndpointName: KeystoneInternal
EndpointMap: { get_param: EndpointMap }
IP: {get_param: KeystonePublicApiVirtualIP}
UriSuffix: '/v2.0'
KeystonePublic:
type: OS::TripleO::Endpoint
properties:
EndpointName: KeystonePublic
EndpointMap: { get_param: EndpointMap }
IP: {get_param: PublicVirtualIP}
UriSuffix: '/v2.0'
KeystoneAdmin:
type: OS::TripleO::Endpoint
properties:
EndpointName: KeystoneAdmin
EndpointMap: { get_param: EndpointMap }
IP: {get_param: KeystoneAdminApiVirtualIP}
UriSuffix: '/v2.0'
KeystoneEC2:
type: OS::TripleO::Endpoint
properties:
EndpointName: KeystoneInternal
EndpointMap: { get_param: EndpointMap }
IP: {get_param: KeystonePublicApiVirtualIP}
UriSuffix: '/v2.0/ec2tokens'
NeutronInternal:
type: OS::TripleO::Endpoint
properties:
EndpointName: NeutronInternal
EndpointMap: { get_param: EndpointMap }
IP: {get_param: NeutronApiVirtualIP}
NeutronPublic:
type: OS::TripleO::Endpoint
properties:
EndpointName: NeutronPublic
EndpointMap: { get_param: EndpointMap }
IP: {get_param: PublicVirtualIP}
NeutronAdmin:
type: OS::TripleO::Endpoint
properties:
EndpointName: NeutronAdmin
EndpointMap: { get_param: EndpointMap }
IP: {get_param: NeutronApiVirtualIP}
NovaInternal:
type: OS::TripleO::Endpoint
properties:
EndpointName: NovaInternal
EndpointMap: { get_param: EndpointMap }
IP: {get_param: NovaApiVirtualIP}
UriSuffix: '/v2/%(tenant_id)s'
NovaPublic:
type: OS::TripleO::Endpoint
properties:
EndpointName: NovaPublic
EndpointMap: { get_param: EndpointMap }
IP: {get_param: PublicVirtualIP}
UriSuffix: '/v2/%(tenant_id)s'
NovaAdmin:
type: OS::TripleO::Endpoint
properties:
EndpointName: NovaAdmin
EndpointMap: { get_param: EndpointMap }
IP: {get_param: NovaApiVirtualIP}
UriSuffix: '/v2/%(tenant_id)s'
NovaV3Internal:
type: OS::TripleO::Endpoint
properties:
EndpointName: NovaInternal
EndpointMap: { get_param: EndpointMap }
IP: {get_param: NovaApiVirtualIP}
UriSuffix: '/v3'
NovaV3Public:
type: OS::TripleO::Endpoint
properties:
EndpointName: NovaPublic
EndpointMap: { get_param: EndpointMap }
IP: {get_param: PublicVirtualIP}
UriSuffix: '/v3'
NovaV3Admin:
type: OS::TripleO::Endpoint
properties:
EndpointName: NovaAdmin
EndpointMap: { get_param: EndpointMap }
IP: {get_param: NovaApiVirtualIP}
UriSuffix: '/v3'
NovaEC2Internal:
type: OS::TripleO::Endpoint
properties:
EndpointName: NovaEC2Internal
EndpointMap: { get_param: EndpointMap }
IP: {get_param: NovaApiVirtualIP}
UriSuffix: '/services/Cloud'
NovaEC2Public:
type: OS::TripleO::Endpoint
properties:
EndpointName: NovaEC2Public
EndpointMap: { get_param: EndpointMap }
IP: {get_param: PublicVirtualIP}
UriSuffix: '/services/Cloud'
NovaEC2Admin:
type: OS::TripleO::Endpoint
properties:
EndpointName: NovaEC2Admin
EndpointMap: { get_param: EndpointMap }
IP: {get_param: NovaApiVirtualIP}
UriSuffix: '/services/Admin'
SwiftInternal:
type: OS::TripleO::Endpoint
properties:
EndpointName: SwiftInternal
EndpointMap: { get_param: EndpointMap }
IP: {get_param: SwiftProxyVirtualIP}
UriSuffix: '/v1/AUTH_%(tenant_id)s'
SwiftPublic:
type: OS::TripleO::Endpoint
properties:
EndpointName: SwiftPublic
EndpointMap: { get_param: EndpointMap }
IP: {get_param: PublicVirtualIP}
UriSuffix: '/v1/AUTH_%(tenant_id)s'
SwiftAdmin:
type: OS::TripleO::Endpoint
properties:
EndpointName: SwiftAdmin
EndpointMap: { get_param: EndpointMap }
IP: {get_param: SwiftProxyVirtualIP}
# No Suffix for the Admin interface
SwiftS3Internal:
type: OS::TripleO::Endpoint
properties:
EndpointName: SwiftInternal
EndpointMap: { get_param: EndpointMap }
IP: {get_param: SwiftProxyVirtualIP}
SwiftS3Public:
type: OS::TripleO::Endpoint
properties:
EndpointName: SwiftPublic
EndpointMap: { get_param: EndpointMap }
IP: {get_param: PublicVirtualIP}
SwiftS3Admin:
type: OS::TripleO::Endpoint
properties:
EndpointName: SwiftAdmin
EndpointMap: { get_param: EndpointMap }
IP: {get_param: SwiftProxyVirtualIP}
outputs:
endpoint_map:
value:
CeilometerInternal: {get_attr: [ CeilometerInternal, endpoint] }
CeilometerPublic: {get_attr: [ CeilometerPublic, endpoint] }
CeilometerAdmin: {get_attr: [ CeilometerAdmin, endpoint] }
CinderInternal: {get_attr: [ CinderInternal, endpoint] }
CinderPublic: {get_attr: [ CinderPublic, endpoint] }
CinderAdmin: {get_attr: [ CinderAdmin, endpoint] }
CinderV2Internal: {get_attr: [ CinderV2Internal, endpoint] }
CinderV2Public: {get_attr: [ CinderV2Public, endpoint] }
CinderV2Admin: {get_attr: [ CinderV2Admin, endpoint] }
GlanceInternal: {get_attr: [ GlanceInternal, endpoint] }
GlancePublic: {get_attr: [ GlancePublic, endpoint] }
GlanceAdmin: {get_attr: [ GlanceAdmin, endpoint] }
HeatInternal: {get_attr: [ HeatInternal, endpoint] }
HeatPublic: {get_attr: [ HeatPublic, endpoint] }
HeatAdmin: {get_attr: [ HeatAdmin, endpoint] }
KeystoneInternal: {get_attr: [ KeystoneInternal, endpoint] }
KeystonePublic: {get_attr: [ KeystonePublic, endpoint] }
KeystoneAdmin: {get_attr: [ KeystoneAdmin, endpoint] }
KeystoneEC2: {get_attr: [ KeystoneEC2, endpoint] }
NeutronInternal: {get_attr: [ NeutronInternal, endpoint] }
NeutronPublic: {get_attr: [ NeutronPublic, endpoint] }
NeutronAdmin: {get_attr: [ NeutronAdmin, endpoint] }
NovaInternal: {get_attr: [ NovaInternal, endpoint] }
NovaPublic: {get_attr: [ NovaPublic, endpoint] }
NovaAdmin: {get_attr: [ NovaAdmin, endpoint] }
NovaV3Internal: {get_attr: [ NovaV3Internal, endpoint] }
NovaV3Public: {get_attr: [ NovaV3Public, endpoint] }
NovaV3Admin: {get_attr: [ NovaV3Admin, endpoint] }
NovaEC2Internal: {get_attr: [ NovaEC2Internal, endpoint] }
NovaEC2Public: {get_attr: [ NovaEC2Public, endpoint] }
NovaEC2Admin: {get_attr: [ NovaEC2Admin, endpoint] }
SwiftInternal: {get_attr: [ SwiftInternal, endpoint] }
SwiftPublic: {get_attr: [ SwiftPublic, endpoint] }
SwiftAdmin: {get_attr: [ SwiftAdmin, endpoint] }
SwiftS3Internal: {get_attr: [ SwiftS3Internal, endpoint] }
SwiftS3Public: {get_attr: [ SwiftS3Public, endpoint] }
SwiftS3Admin: {get_attr: [ SwiftS3Admin, endpoint] }

View File

@ -673,6 +673,7 @@ resources:
debug: {get_input: debug}
host: {get_input: controller_virtual_ip}
port: {get_input: glance_port}
uri: {get_input: glance_uri}
protocol: {get_input: glance_protocol}
service-password: {get_input: glance_password}
swift-store-user: service:glance

View File

@ -89,6 +89,10 @@ resource_registry:
# Port assignments for service virtual IPs for the controller role
OS::TripleO::Controller::Ports::RedisVipPort: network/ports/ctlplane_vip.yaml
# Service Endpoint Mappings
OS::TripleO::Endpoint: network/endpoints/endpoint.yaml
OS::TripleO::EndpointMap: network/endpoints/endpoint_map.yaml
# validation resources
OS::TripleO::AllNodes::Validation: all-nodes-validation.yaml

View File

@ -72,5 +72,9 @@ resource_registry:
# Port assignments for service virtual IPs for the controller role
OS::TripleO::Controller::Ports::RedisVipPort: network/ports/noop.yaml
# Service Endpoint Mappings
OS::TripleO::Endpoint: network/endpoints/endpoint.yaml
OS::TripleO::EndpointMap: network/endpoints/endpoint_map.yaml
# validation resources
OS::TripleO::AllNodes::Validation: os-apply-config/all-nodes-validation.yaml

View File

@ -77,14 +77,6 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
GlancePort:
default: "9292"
description: Glance port.
type: string
GlanceProtocol:
default: http
description: Protocol to use when connecting to glance, set to https for SSL.
type: string
HAProxySyslogAddress:
default: /dev/log
description: Syslog address where HAproxy will send its log
@ -755,6 +747,22 @@ resources:
properties:
length: 10
EndpointMap:
type: OS::TripleO::EndpointMap
properties:
CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
CinderApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
NovaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
PublicVirtualIP: {get_attr: [VipMap, net_ip_map, external]}
Controller:
type: OS::Heat::ResourceGroup
depends_on: Networks
@ -788,8 +796,6 @@ resources:
ExtraConfig: {get_param: ExtraConfig}
FencingConfig: {get_param: FencingConfig}
Flavor: {get_param: OvercloudControlFlavor}
GlancePort: {get_param: GlancePort}
GlanceProtocol: {get_param: GlanceProtocol}
GlancePassword: {get_param: GlancePassword}
GlanceBackend: {get_param: GlanceBackend}
GlanceNotifierStrategy: {get_param: GlanceNotifierStrategy}
@ -863,6 +869,7 @@ resources:
VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} # deprecated. Use per service VIP settings instead now.
PublicVirtualIP: {get_attr: [PublicVirtualIP, ip_address]}
ServiceNetMap: {get_param: ServiceNetMap}
EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
CinderApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
@ -900,8 +907,6 @@ resources:
ExtraConfig: {get_param: ExtraConfig}
Flavor: {get_param: OvercloudComputeFlavor}
GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
GlancePort: {get_param: GlancePort}
GlanceProtocol: {get_param: GlanceProtocol}
Image: {get_param: NovaImage}
ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
KeyName: {get_param: KeyName}
@ -944,6 +949,7 @@ resources:
SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
ServiceNetMap: {get_param: ServiceNetMap}
EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
UpdateIdentifier: {get_param: UpdateIdentifier}
Hostname:
str_replace:
@ -970,8 +976,6 @@ resources:
KeyName: {get_param: KeyName}
Flavor: {get_param: OvercloudBlockStorageFlavor}
VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
GlancePort: {get_param: GlancePort}
GlanceProtocol: {get_param: GlanceProtocol}
GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
RabbitPassword: {get_param: RabbitPassword}
RabbitUserName: {get_param: RabbitUserName}
@ -985,6 +989,7 @@ resources:
params:
'%stackname%': {get_param: 'OS::stack_name'}
ServiceNetMap: {get_param: ServiceNetMap}
EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
ExtraConfig: {get_param: ExtraConfig}
BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
@ -1410,12 +1415,7 @@ resources:
outputs:
KeystoneURL:
description: URL for the Overcloud Keystone service
value:
list_join:
- ''
- - http://
- {get_attr: [PublicVirtualIP, ip_address]}
- :5000/v2.0/
value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
KeystoneAdminVip:
description: Keystone Admin VIP endpoint
value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}

View File

@ -44,14 +44,6 @@ parameters:
type: string
constraints:
- custom_constraint: nova.flavor
GlancePort:
default: "9292"
description: Glance port.
type: string
GlanceProtocol:
default: http
description: Protocol to use when connecting to glance, set to https for SSL.
type: string
KeyName:
default: default
description: Name of an existing EC2 KeyPair to enable SSH access to the instances
@ -103,6 +95,11 @@ parameters:
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry.
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
GlanceApiVirtualIP:
type: string
default: ''
@ -200,14 +197,7 @@ resources:
cinder_enable_iscsi_backend: {get_param: CinderEnableIscsiBackend}
cinder_iscsi_helper: {get_param: CinderISCSIHelper}
cinder_iscsi_ip_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]}
glance_api_servers:
list_join:
- ''
- - {get_param: GlanceProtocol}
- '://'
- {get_param: GlanceApiVirtualIP}
- ':'
- {get_param: GlancePort}
glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
rabbit_username: {get_param: RabbitUserName}
rabbit_password: {get_param: RabbitPassword}
rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}

View File

@ -51,14 +51,6 @@ parameters:
GlanceHost:
type: string
default: '' # Has to be here because of the ignored empty value bug
GlancePort:
default: "9292"
description: Glance port.
type: string
GlanceProtocol:
default: http
description: Protocol to use when connecting to glance, set to https for SSL.
type: string
Image:
type: string
default: overcloud-compute
@ -261,6 +253,11 @@ parameters:
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry.
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
UpdateIdentifier:
default: ''
type: string
@ -423,7 +420,7 @@ resources:
neutron_physical_bridge: {get_input: neutron_physical_bridge}
neutron_public_interface: {get_input: neutron_public_interface}
nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
nova::network::neutron::neutron_url: {get_input: neutron_url}
nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url}
neutron_router_distributed: {get_input: neutron_router_distributed}
neutron_agent_mode: {get_input: neutron_agent_mode}
@ -458,22 +455,10 @@ resources:
ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
ceilometer_password: {get_param: CeilometerPassword}
ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
ceilometer_agent_auth_url:
list_join:
- ''
- - 'http://'
- {get_param: KeystonePublicApiVirtualIP}
- ':5000/v2.0'
ceilometer_agent_auth_url: {get_param: [EndpointMap, KeystoneInternal, uri]}
snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
glance_api_servers:
list_join:
- ''
- - {get_param: GlanceProtocol}
- '://'
- {get_param: GlanceHost}
- ':'
- {get_param: GlancePort}
glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
neutron_flat_networks: {get_param: NeutronFlatNetworks}
neutron_host: {get_param: NeutronHost}
neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
@ -530,18 +515,8 @@ resources:
- {get_param: NeutronTypeDrivers}
neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
neutron_url:
list_join:
- ''
- - 'http://'
- {get_param: NeutronHost}
- ':9696'
neutron_admin_auth_url:
list_join:
- ''
- - 'http://'
- {get_param: KeystoneAdminApiVirtualIP}
- ':35357/v2.0'
neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
neutron_admin_auth_url: {get_param: [EndpointMap, KeystoneAdmin, uri]}
admin_password: {get_param: AdminPassword}
rabbit_username: {get_param: RabbitUserName}
rabbit_password: {get_param: RabbitPassword}

View File

@ -165,14 +165,6 @@ parameters:
description: The password for the glance service and db account, used by the glance services.
type: string
hidden: true
GlancePort:
default: "9292"
description: Glance port.
type: string
GlanceProtocol:
default: http
description: Protocol to use when connecting to glance, set to https for SSL.
type: string
GlanceBackend:
default: swift
description: The short name of the Glance backend to use. Should be one
@ -581,6 +573,11 @@ parameters:
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry.
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
UpdateIdentifier:
default: ''
type: string
@ -749,7 +746,7 @@ resources:
- '@'
- {get_param: MysqlVirtualIP}
- '/cinder'
glance_port: {get_param: GlancePort}
glance_port: {get_param: [EndpointMap, GlanceInternal, port]}
glance_password: {get_param: GlancePassword}
glance_backend: {get_param: GlanceBackend}
glance_file_pcmk_device: {get_param: GlanceFilePcmkDevice}
@ -776,7 +773,6 @@ resources:
- '@'
- {get_param: MysqlVirtualIP}
- '/heat'
keystone_auth_address: {list_join: ['', ['http://', {get_param: KeystonePublicApiVirtualIP} , ':5000/v2.0']]}
keystone_ca_certificate: {get_param: KeystoneCACertificate}
keystone_signing_key: {get_param: KeystoneSigningKey}
keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
@ -792,24 +788,11 @@ resources:
- '@'
- {get_param: MysqlVirtualIP}
- '/keystone'
keystone_identity_uri:
list_join:
- ''
- - 'http://'
- {get_param: KeystoneAdminApiVirtualIP}
- ':35357/'
keystone_auth_uri:
list_join:
- ''
- - 'http://'
- {get_param: KeystonePublicApiVirtualIP}
- ':5000/v2.0/'
keystone_ec2_uri:
list_join:
- ''
- - 'http://'
- {get_param: KeystonePublicApiVirtualIP}
- ':5000/v2.0/ec2tokens'
keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
keystone_public_url: { get_param: [EndpointMap, KeystonePublic, uri_no_suffix] }
keystone_internal_url: { get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
keystone_ec2_uri: { get_param: [EndpointMap, KeystoneEC2, uri] }
enable_fencing: {get_param: EnableFencing}
enable_galera: {get_param: EnableGalera}
enable_ceph_storage: {get_param: EnableCephStorage}
@ -889,18 +872,10 @@ resources:
- '@'
- {get_param: MysqlVirtualIP}
- '/ovs_neutron?charset=utf8'
neutron_url:
list_join:
- ''
- - 'http://'
- {get_param: NeutronApiVirtualIP}
- ':9696'
neutron_admin_auth_url:
list_join:
- ''
- - 'http://'
- {get_param: KeystoneAdminApiVirtualIP}
- ':35357/v2.0'
neutron_internal_url: { get_param: [ EndpointMap, NeutronInternal, uri ] }
neutron_public_url: { get_param: [ EndpointMap, NeutronPublic, uri ] }
neutron_admin_url: { get_param: [ EndpointMap, NeutronAdmin, uri ] }
neutron_admin_auth_url: { get_param: [ EndpointMap, KeystoneAdmin, uri ] }
ceilometer_backend: {get_param: CeilometerBackend}
ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
ceilometer_password: {get_param: CeilometerPassword}
@ -964,14 +939,7 @@ resources:
cinder_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
glance_api_servers:
list_join:
- ''
- - {get_param: GlanceProtocol}
- '://'
- {get_param: GlanceApiVirtualIP}
- ':'
- {get_param: GlancePort}
glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]}
glance_registry_host: {get_param: GlanceRegistryVirtualIP}
heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
@ -1104,7 +1072,7 @@ resources:
glance::registry::auth_uri: {get_input: keystone_auth_uri}
glance::registry::identity_uri: {get_input: keystone_identity_uri}
glance::registry::debug: {get_input: debug}
glance::backend::swift::swift_store_auth_address: {get_input: keystone_auth_address}
glance::backend::swift::swift_store_auth_address: {get_input: keystone_auth_uri}
glance::backend::swift::swift_store_user: service:glance
glance::backend::swift::swift_store_key: {get_input: glance_password}
glance_backend: {get_input: glance_backend}
@ -1224,7 +1192,7 @@ resources:
ceilometer::api::keystone_auth_uri: {get_input: keystone_auth_uri}
ceilometer::api::keystone_identity_uri: {get_input: keystone_identity_uri}
ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
ceilometer::agent::auth::auth_url: {get_input: keystone_auth_address}
ceilometer::agent::auth::auth_url: {get_input: keystone_auth_uri}
ceilometer::agent::central::coordination_url: {get_input: ceilometer_coordination_url}
ceilometer::db::mysql::password: {get_input: ceilometer_password}
snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
@ -1245,7 +1213,7 @@ resources:
nova::glance_api_servers: {get_input: glance_api_servers}
nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
nova::network::neutron::neutron_url: {get_input: neutron_url}
nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url}
nova::vncproxy::host: {get_input: nova_api_network}
nova::db::mysql::password: {get_input: nova_password}