Set bind mount propegatation to shared for /var/lib/nova.
[apex-tripleo-heat-templates.git] / network / service_net_map.j2.yaml
1 heat_template_version: pike
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: internal_api
46       IronicApiNetwork: ctlplane
47       IronicNetwork: ctlplane
48       IronicInspectorNetwork: ctlplane
49       KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
50       KeystonePublicApiNetwork: internal_api
51       ManilaApiNetwork: internal_api
52       NeutronApiNetwork: internal_api
53       OctaviaApiNetwork: internal_api
54       HeatApiNetwork: internal_api
55       HeatApiCfnNetwork: internal_api
56       HeatApiCloudwatchNetwork: internal_api
57       NovaApiNetwork: internal_api
58       NovaPlacementNetwork: internal_api
59       NovaMetadataNetwork: internal_api
60       NovaVncProxyNetwork: internal_api
61       NovaLibvirtNetwork: internal_api
62       Ec2ApiNetwork: internal_api
63       Ec2ApiMetadataNetwork: internal_api
64       TackerApiNetwork: internal_api
65       SwiftStorageNetwork: storage_mgmt
66       SwiftProxyNetwork: storage
67       SaharaApiNetwork: internal_api
68       HorizonNetwork: internal_api
69       MemcachedNetwork: internal_api
70       RabbitmqNetwork: internal_api
71       QdrNetwork: internal_api
72       RedisNetwork: internal_api
73       MysqlNetwork: internal_api
74       CephClusterNetwork: storage_mgmt
75       CephMonNetwork: storage
76       CephRgwNetwork: storage
77       PublicNetwork: external
78       OpendaylightApiNetwork: internal_api
79       OvnDbsNetwork: internal_api
80       MistralApiNetwork: internal_api
81       ZaqarApiNetwork: internal_api
82       PacemakerRemoteNetwork: internal_api
83       # We special-case the default ResolveNetwork for the CephStorage role
84       # for backwards compatibility, all other roles default to internal_api
85       CephStorageHostnameResolveNetwork: storage
86       EtcdNetwork: internal_api
87 {% for role in roles if role.name != 'CephStorage' %}
88       {{role.name}}HostnameResolveNetwork: internal_api
89 {% endfor %}
90     description: Mapping of service_name -> network name. Typically set
91                  via parameter_defaults in the resource registry.
92     type: json
93
94   # We define mappings to work around names that break when doing the
95   # CamelCase to snake_case conversion to align with service_names
96   ServiceNetMapDeprecatedMapping:
97     default:
98       MongoDbNetwork: MongodbNetwork
99       RabbitMqNetwork: RabbitmqNetwork
100       CephPublicNetwork: CephMonNetwork
101       SwiftMgmtNetwork: SwiftStorageNetwork
102     description: Mapping older deprecated service names, intended for
103                  internal use only, this will be removed in future.
104     type: json
105
106 {%- for network in networks %}
107   {{network.name}}NetName:
108     default: {{network.name_lower}}
109     description: The name of the {{network.name_lower}} network.
110     type: string
111 {%- endfor %}
112
113 parameter_groups:
114 - label: deprecated
115   description: Do not use deprecated params, they will be removed.
116   parameters:
117   - ServiceNetMapDeprecatedMapping
118
119 resources:
120   ServiceNetMapValue:
121     type: OS::Heat::Value
122     properties:
123       type: json
124       value:
125         map_merge:
126           - map_replace:
127              - {get_param: ServiceNetMapDefaults}
128              - values:
129 {%- for network in networks %}
130                  {{network.name_lower}}: {get_param: {{network.name}}NetName}
131 {%- endfor %}
132           - map_replace:
133              - {get_param: ServiceNetMap}
134              - keys: {get_param: ServiceNetMapDeprecatedMapping}
135
136
137 outputs:
138   service_net_map:
139     value: {get_attr: [ServiceNetMapValue, value]}
140
141   service_net_map_lower:
142     value:
143       # This does a conversion from CamelCase to snake_case,
144       # e.g HeatApiNetwork becomes heat_api_network so it
145       # matches the service names.
146       yaql:
147         expression: dict($.data.map.items().select([ regex(`([a-z0-9])([A-Z])`).replace($[0], '\\1_\\2').toLower(), $[1]]))
148         data:
149           map: {get_attr: [ServiceNetMapValue, value]}