Merge "Add panko api support to service templates"
[apex-tripleo-heat-templates.git] / network / service_net_map.j2.yaml
1 heat_template_version: 2016-10-14
2
3 description: >
4   Mapping of service_name_network -> network name
5
6 parameters:
7   ServiceNetMap:
8     description: Mapping of service_name -> network name. Typically set
9                  via parameter_defaults in the resource registry.  This
10                  mapping overrides those in ServiceNetMapDefaults.
11                  Note that the key in this map must match the service_name
12                  in the service template, e.g if the service_name is heat_api
13                  the key must be either heat_api_network, or optionally
14                  HeatApiNetwork (which will be internally converted to
15                  transform captalization to underscores).
16     default: {}
17     type: json
18
19   # Note that the key in this map must match the service_name
20   # see the description above about conversion from CamelCase to
21   # snake_case - the names must still match when converted
22   ServiceNetMapDefaults:
23     default:
24       ApacheNetwork: internal_api
25       NeutronTenantNetwork: tenant
26       CeilometerApiNetwork: internal_api
27       AodhApiNetwork: internal_api
28       PankoApiNetwork: internal_api
29       BarbicanApiNetwork: internal_api
30       GnocchiApiNetwork: internal_api
31       MongodbNetwork: internal_api
32       CinderApiNetwork: internal_api
33       CinderIscsiNetwork: storage
34       GlanceApiNetwork: storage
35       GlanceRegistryNetwork: internal_api
36       IronicApiNetwork: ctlplane
37       IronicNetwork: ctlplane
38       KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
39       KeystonePublicApiNetwork: internal_api
40       ManilaApiNetwork: internal_api
41       NeutronApiNetwork: internal_api
42       HeatApiNetwork: internal_api
43       HeatApiCfnNetwork: internal_api
44       HeatApiCloudwatchNetwork: internal_api
45       NovaApiNetwork: internal_api
46       NovaMetadataNetwork: internal_api
47       NovaVncProxyNetwork: internal_api
48       SwiftStorageNetwork: storage_mgmt
49       SwiftProxyNetwork: storage
50       SaharaApiNetwork: internal_api
51       HorizonNetwork: internal_api
52       MemcachedNetwork: internal_api
53       RabbitmqNetwork: internal_api
54       RedisNetwork: internal_api
55       MysqlNetwork: internal_api
56       CephClusterNetwork: storage_mgmt
57       CephMonNetwork: storage
58       CephRgwNetwork: storage
59       PublicNetwork: external
60       OpendaylightApiNetwork: internal_api
61       MistralApiNetwork: internal_api
62       # We special-case the default ResolveNetwork for the CephStorage role
63       # for backwards compatibility, all other roles default to internal_api
64       CephStorageHostnameResolveNetwork: storage
65 {% for role in roles if role.name != 'CephStorage' %}
66       {{role.name}}HostnameResolveNetwork: internal_api
67 {% endfor %}
68     description: Mapping of service_name -> network name. Typically set
69                  via parameter_defaults in the resource registry.
70     type: json
71
72   # We define mappings to work around names that break when doing the
73   # CamelCase to snake_case conversion to align with service_names
74   ServiceNetMapDeprecatedMapping:
75     default:
76       MongoDbNetwork: MongodbNetwork
77       RabbitMqNetwork: RabbitmqNetwork
78       CephPublicNetwork: CephMonNetwork
79       SwiftMgmtNetwork: SwiftStorageNetwork
80     description: Mapping older deprecated service names, intended for
81                  internal use only, this will be removed in future.
82     type: json
83
84 parameter_groups:
85 - label: deprecated
86   description: Do not use deprecated params, they will be removed.
87   parameters:
88   - ServiceNetMapDeprecatedMapping
89
90 outputs:
91   service_net_map:
92     value:
93       map_merge:
94         - {get_param: ServiceNetMapDefaults}
95         - map_replace:
96            - {get_param: ServiceNetMap}
97            - keys: {get_param: ServiceNetMapDeprecatedMapping}
98
99   service_net_map_lower:
100     value:
101       # This does a conversion from CamelCase to snake_case,
102       # e.g HeatApiNetwork becomes heat_api_network so it
103       # matches the service names.
104       yaql:
105         expression: dict($.data.map.items().select([ regex(`([a-z0-9])([A-Z])`).replace($[0], '\\1_\\2').toLower(), $[1]]))
106         data:
107           map:
108             map_merge:
109               - {get_param: ServiceNetMapDefaults}
110               - map_replace:
111                  - {get_param: ServiceNetMap}
112                  - keys: {get_param: ServiceNetMapDeprecatedMapping}