Merge "Add release notes for Manila/CephFS with managed Ceph"
[apex-tripleo-heat-templates.git] / network / service_net_map.j2.yaml
1 heat_template_version: ocata
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       # Note the values in this map are replaced by *NetName
25       # to allow for sane defaults when the network names are
26       # overridden.
27       ApacheNetwork: internal_api
28       NeutronTenantNetwork: tenant
29       CeilometerApiNetwork: internal_api
30       ContrailAnalyticsNetwork: internal_api
31       ContrailAnalyticsDatabaseNetwork: internal_api
32       ContrailConfigNetwork: internal_api
33       ContrailControlNetwork: internal_api
34       ContrailDatabaseNetwork: internal_api
35       ContrailWebuiNetwork: internal_api
36       ContrailTsnNetwork: internal_api
37       AodhApiNetwork: internal_api
38       PankoApiNetwork: internal_api
39       BarbicanApiNetwork: internal_api
40       GnocchiApiNetwork: internal_api
41       MongodbNetwork: internal_api
42       CinderApiNetwork: internal_api
43       CinderIscsiNetwork: storage
44       CongressApiNetwork: internal_api
45       GlanceApiNetwork: storage
46       IronicApiNetwork: ctlplane
47       IronicNetwork: ctlplane
48       KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
49       KeystonePublicApiNetwork: internal_api
50       ManilaApiNetwork: internal_api
51       NeutronApiNetwork: internal_api
52       OctaviaApiNetwork: internal_api
53       HeatApiNetwork: internal_api
54       HeatApiCfnNetwork: internal_api
55       HeatApiCloudwatchNetwork: internal_api
56       NovaApiNetwork: internal_api
57       NovaPlacementNetwork: internal_api
58       NovaMetadataNetwork: internal_api
59       NovaVncProxyNetwork: internal_api
60       NovaLibvirtNetwork: internal_api
61       Ec2ApiNetwork: internal_api
62       Ec2ApiMetadataNetwork: internal_api
63       TackerApiNetwork: internal_api
64       SwiftStorageNetwork: storage_mgmt
65       SwiftProxyNetwork: storage
66       SaharaApiNetwork: internal_api
67       HorizonNetwork: internal_api
68       MemcachedNetwork: internal_api
69       RabbitmqNetwork: internal_api
70       RedisNetwork: internal_api
71       MysqlNetwork: internal_api
72       CephClusterNetwork: storage_mgmt
73       CephMonNetwork: storage
74       CephRgwNetwork: storage
75       PublicNetwork: external
76       OpendaylightApiNetwork: internal_api
77       OvnDbsNetwork: internal_api
78       MistralApiNetwork: internal_api
79       ZaqarApiNetwork: internal_api
80       PacemakerRemoteNetwork: internal_api
81       # We special-case the default ResolveNetwork for the CephStorage role
82       # for backwards compatibility, all other roles default to internal_api
83       CephStorageHostnameResolveNetwork: storage
84       EtcdNetwork: internal_api
85 {% for role in roles if role.name != 'CephStorage' %}
86       {{role.name}}HostnameResolveNetwork: internal_api
87 {% endfor %}
88     description: Mapping of service_name -> network name. Typically set
89                  via parameter_defaults in the resource registry.
90     type: json
91
92   # We define mappings to work around names that break when doing the
93   # CamelCase to snake_case conversion to align with service_names
94   ServiceNetMapDeprecatedMapping:
95     default:
96       MongoDbNetwork: MongodbNetwork
97       RabbitMqNetwork: RabbitmqNetwork
98       CephPublicNetwork: CephMonNetwork
99       SwiftMgmtNetwork: SwiftStorageNetwork
100     description: Mapping older deprecated service names, intended for
101                  internal use only, this will be removed in future.
102     type: json
103
104   InternalApiNetName:
105     default: internal_api
106     description: The name of the internal API network.
107     type: string
108   ExternalNetName:
109     default: external
110     description: The name of the external network.
111     type: string
112   ManagementNetName:
113     default: management
114     description: The name of the management network.
115     type: string
116   StorageNetName:
117     default: storage
118     description: The name of the storage network.
119     type: string
120   StorageMgmtNetName:
121     default: storage_mgmt
122     description: The name of the Storage management network.
123     type: string
124   TenantNetName:
125     default: tenant
126     description: The name of the tenant network.
127     type: string
128
129
130 parameter_groups:
131 - label: deprecated
132   description: Do not use deprecated params, they will be removed.
133   parameters:
134   - ServiceNetMapDeprecatedMapping
135
136 resources:
137   ServiceNetMapValue:
138     type: OS::Heat::Value
139     properties:
140       type: json
141       value:
142         map_merge:
143           - map_replace:
144              - {get_param: ServiceNetMapDefaults}
145              - values:
146                  external: {get_param: ExternalNetName}
147                  internal_api: {get_param: InternalApiNetName}
148                  storage: {get_param: StorageNetName}
149                  storage_mgmt: {get_param: StorageMgmtNetName}
150                  tenant: {get_param: TenantNetName}
151                  management: {get_param: ManagementNetName}
152           - map_replace:
153              - {get_param: ServiceNetMap}
154              - keys: {get_param: ServiceNetMapDeprecatedMapping}
155
156
157 outputs:
158   service_net_map:
159     value: {get_attr: [ServiceNetMapValue, value]}
160
161   service_net_map_lower:
162     value:
163       # This does a conversion from CamelCase to snake_case,
164       # e.g HeatApiNetwork becomes heat_api_network so it
165       # matches the service names.
166       yaql:
167         expression: dict($.data.map.items().select([ regex(`([a-z0-9])([A-Z])`).replace($[0], '\\1_\\2').toLower(), $[1]]))
168         data:
169           map: {get_attr: [ServiceNetMapValue, value]}