
Change-Id: I1ddefb7b6a6e1c7b0b76589b9f8f1b99776d39e8 Depends-On: I115090679bd2577cdc3998ab3cc97f9581e5e18a bp designate-support
149 lines
5.3 KiB
YAML
149 lines
5.3 KiB
YAML
heat_template_version: queens
|
|
|
|
description: >
|
|
Mapping of service_name_network -> network name
|
|
|
|
parameters:
|
|
ServiceNetMap:
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry. This
|
|
mapping overrides those in ServiceNetMapDefaults.
|
|
Note that the key in this map must match the service_name
|
|
in the service template, e.g if the service_name is heat_api
|
|
the key must be either heat_api_network, or optionally
|
|
HeatApiNetwork (which will be internally converted to
|
|
transform captalization to underscores).
|
|
default: {}
|
|
type: json
|
|
|
|
# Note that the key in this map must match the service_name
|
|
# see the description above about conversion from CamelCase to
|
|
# snake_case - the names must still match when converted
|
|
ServiceNetMapDefaults:
|
|
default:
|
|
# Note the values in this map are replaced by *NetName
|
|
# to allow for sane defaults when the network names are
|
|
# overridden.
|
|
ApacheNetwork: internal_api
|
|
NeutronTenantNetwork: tenant
|
|
CeilometerApiNetwork: internal_api
|
|
AodhApiNetwork: internal_api
|
|
PankoApiNetwork: internal_api
|
|
BarbicanApiNetwork: internal_api
|
|
GnocchiApiNetwork: internal_api
|
|
MongodbNetwork: internal_api
|
|
CinderApiNetwork: internal_api
|
|
CinderIscsiNetwork: storage
|
|
CongressApiNetwork: internal_api
|
|
GlanceApiNetwork: internal_api
|
|
IronicApiNetwork: ctlplane
|
|
IronicNetwork: ctlplane
|
|
IronicInspectorNetwork: ctlplane
|
|
KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
|
|
KeystonePublicApiNetwork: internal_api
|
|
ManilaApiNetwork: internal_api
|
|
NeutronApiNetwork: internal_api
|
|
OctaviaApiNetwork: internal_api
|
|
HeatApiNetwork: internal_api
|
|
HeatApiCfnNetwork: internal_api
|
|
HeatApiCloudwatchNetwork: internal_api
|
|
NovaApiNetwork: internal_api
|
|
NovaPlacementNetwork: internal_api
|
|
NovaMetadataNetwork: internal_api
|
|
NovaVncProxyNetwork: internal_api
|
|
NovaLibvirtNetwork: internal_api
|
|
NovajoinNetwork: internal_api
|
|
Ec2ApiNetwork: internal_api
|
|
Ec2ApiMetadataNetwork: internal_api
|
|
TackerApiNetwork: internal_api
|
|
SwiftStorageNetwork: storage_mgmt
|
|
SwiftProxyNetwork: storage
|
|
SaharaApiNetwork: internal_api
|
|
HorizonNetwork: internal_api
|
|
MemcachedNetwork: internal_api
|
|
RabbitmqNetwork: internal_api
|
|
QdrNetwork: internal_api
|
|
RedisNetwork: internal_api
|
|
GaneshaNetwork: storage_nfs
|
|
MysqlNetwork: internal_api
|
|
SnmpdNetwork: internal_api
|
|
CephClusterNetwork: storage_mgmt
|
|
CephMonNetwork: storage
|
|
CephRgwNetwork: storage
|
|
PublicNetwork: external
|
|
OpendaylightApiNetwork: internal_api
|
|
OvnDbsNetwork: internal_api
|
|
MistralApiNetwork: internal_api
|
|
ZaqarApiNetwork: internal_api
|
|
DockerRegistryNetwork: ctlplane
|
|
PacemakerRemoteNetwork: internal_api
|
|
TripleoUINetwork: internal_api
|
|
DesignateApiNetwork: internal_api
|
|
# We special-case the default ResolveNetwork for the CephStorage role
|
|
# for backwards compatibility, all other roles default to internal_api
|
|
CephStorageHostnameResolveNetwork: storage
|
|
EtcdNetwork: internal_api
|
|
{% for role in roles if role.name != 'CephStorage' %}
|
|
{{role.name}}HostnameResolveNetwork: internal_api
|
|
{% endfor %}
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
|
|
# We define mappings to work around names that break when doing the
|
|
# CamelCase to snake_case conversion to align with service_names
|
|
ServiceNetMapDeprecatedMapping:
|
|
default:
|
|
MongoDbNetwork: MongodbNetwork
|
|
RabbitMqNetwork: RabbitmqNetwork
|
|
CephPublicNetwork: CephMonNetwork
|
|
SwiftMgmtNetwork: SwiftStorageNetwork
|
|
description: Mapping older deprecated service names, intended for
|
|
internal use only, this will be removed in future.
|
|
type: json
|
|
|
|
{%- for network in networks %}
|
|
{{network.name}}NetName:
|
|
default: {{network.name_lower}}
|
|
description: The name of the {{network.name_lower}} network.
|
|
type: string
|
|
{%- endfor %}
|
|
|
|
parameter_groups:
|
|
- label: deprecated
|
|
description: Do not use deprecated params, they will be removed.
|
|
parameters:
|
|
- ServiceNetMapDeprecatedMapping
|
|
|
|
resources:
|
|
ServiceNetMapValue:
|
|
type: OS::Heat::Value
|
|
properties:
|
|
type: json
|
|
value:
|
|
map_merge:
|
|
- map_replace:
|
|
- {get_param: ServiceNetMapDefaults}
|
|
- values:
|
|
{%- for network in networks %}
|
|
{{network.name_lower}}: {get_param: {{network.name}}NetName}
|
|
{%- endfor %}
|
|
- map_replace:
|
|
- {get_param: ServiceNetMap}
|
|
- keys: {get_param: ServiceNetMapDeprecatedMapping}
|
|
|
|
|
|
outputs:
|
|
service_net_map:
|
|
value: {get_attr: [ServiceNetMapValue, value]}
|
|
|
|
service_net_map_lower:
|
|
value:
|
|
# This does a conversion from CamelCase to snake_case,
|
|
# e.g HeatApiNetwork becomes heat_api_network so it
|
|
# matches the service names.
|
|
yaql:
|
|
expression: dict($.data.map.items().select([ regex(`([a-z0-9])([A-Z])`).replace($[0], '\\1_\\2').toLower(), $[1]]))
|
|
data:
|
|
map: {get_attr: [ServiceNetMapValue, value]}
|