You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
148 lines
5.3 KiB
148 lines
5.3 KiB
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]}
|
|
|