Merge "Enable usage of FQDNs for the endpoints"

This commit is contained in:
Jenkins 2016-08-26 14:35:31 +00:00 committed by Gerrit Code Review
commit 3f5a6b1a82
3 changed files with 1074 additions and 267 deletions

View File

@ -30,9 +30,9 @@ import yaml
(IN_FILE, OUT_FILE) = ('endpoint_data.yaml', 'endpoint_map.yaml')
SUBST = (SUBST_IP_ADDRESS, SUBST_CLOUDNAME) = ('IP_ADDRESS', 'CLOUDNAME')
PARAMS = (PARAM_CLOUDNAME, PARAM_ENDPOINTMAP, PARAM_NETIPMAP,
PARAMS = (PARAM_CLOUD_ENDPOINTS, PARAM_ENDPOINTMAP, PARAM_NETIPMAP,
PARAM_SERVICENETMAP) = (
'CloudName', 'EndpointMap', 'NetIpMap', 'ServiceNetMap')
'CloudEndpoints', 'EndpointMap', 'NetIpMap', 'ServiceNetMap')
FIELDS = (F_PORT, F_PROTOCOL, F_HOST) = ('port', 'protocol', 'host')
ENDPOINT_TYPES = frozenset(['Internal', 'Public', 'Admin'])
@ -95,10 +95,11 @@ def template_parameters(config):
'via parameter_defaults in the '
'resource registry.')
params[PARAM_CLOUDNAME] = make_parameter('string',
'overcloud',
'The DNS name of this cloud. '
'e.g. ci-overcloud.tripleo.org')
params[PARAM_CLOUD_ENDPOINTS] = make_parameter(
'json',
{},
('A map containing the DNS names for the different endpoints '
'(external, internal_api, etc.)'))
return params
@ -124,7 +125,10 @@ def template_output_definition(endpoint_name,
['NetIpMap',
{'get_param': ['ServiceNetMap',
net_param]}]},
SUBST_CLOUDNAME: {'get_param': PARAM_CLOUDNAME},
SUBST_CLOUDNAME: {'get_param':
[PARAM_CLOUD_ENDPOINTS,
{'get_param': ['ServiceNetMap',
net_param]}]},
})
])
}
@ -139,7 +143,10 @@ def template_output_definition(endpoint_name,
'params': {'NETWORK':
{'get_param': ['ServiceNetMap',
net_param]}}}}]},
SUBST_CLOUDNAME: {'get_param': PARAM_CLOUDNAME},
SUBST_CLOUDNAME: {'get_param':
[PARAM_CLOUD_ENDPOINTS,
{'get_param': ['ServiceNetMap',
net_param]}]},
})
])
}

File diff suppressed because it is too large Load Diff

View File

@ -16,6 +16,30 @@ parameters:
default: overcloud
description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
type: string
CloudNameInternal:
default: overcloud.internalapi.localdomain
description: >
The DNS name of this cloud's internal API endpoint. E.g.
'ci-overcloud.internalapi.tripleo.org'.
type: string
CloudNameStorage:
default: overcloud.storage.localdomain
description: >
The DNS name of this cloud's storage endpoint. E.g.
'ci-overcloud.storage.tripleo.org'.
type: string
CloudNameStorageManagement:
default: overcloud.storagemgmt.localdomain
description: >
The DNS name of this cloud's storage management endpoint. E.g.
'ci-overcloud.storagemgmt.tripleo.org'.
type: string
CloudNameManagement:
default: overcloud.management.localdomain
description: >
The DNS name of this cloud's storage management endpoint. E.g.
'ci-overcloud.management.tripleo.org'.
type: string
ControlFixedIPs:
default: []
description: Should be used for arbitrary ips.
@ -376,7 +400,12 @@ resources:
EndpointMap:
type: OS::TripleO::EndpointMap
properties:
CloudName: {get_param: CloudName}
CloudEndpoints:
external: {get_param: CloudName}
internal_api: {get_param: CloudNameInternal}
storage: {get_param: CloudNameStorage}
storage_mgmt: {get_param: CloudNameStorageManagement}
management: {get_param: CloudNameManagement}
NetIpMap: {get_attr: [VipMap, net_ip_map]}
ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}