blob: 54646c38c3555cb389f3cfed15c9f1fc70027a94 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
heat_template_version: pike
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
ContrailAnalyticsNetwork: internal_api
ContrailAnalyticsDatabaseNetwork: internal_api
ContrailConfigNetwork: internal_api
ContrailControlNetwork: internal_api
ContrailDatabaseNetwork: internal_api
ContrailWebuiNetwork: internal_api
ContrailTsnNetwork: 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
NovaColdMigrationNetwork: ctlplane
NovaPlacementNetwork: internal_api
NovaMetadataNetwork: internal_api
NovaVncProxyNetwork: internal_api
NovaLibvirtNetwork: 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
MysqlNetwork: internal_api
CephClusterNetwork: storage_mgmt
CephMonNetwork: storage
CephRgwNetwork: storage
PublicNetwork: external
OpendaylightApiNetwork: internal_api
OvnDbsNetwork: internal_api
MistralApiNetwork: internal_api
ZaqarApiNetwork: internal_api
PacemakerRemoteNetwork: 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
InternalApiNetName:
default: internal_api
description: The name of the internal_api network.
type: string
ExternalNetName:
default: external
description: The name of the external network.
type: string
ManagementNetName:
default: management
description: The name of the management network.
type: string
StorageNetName:
default: storage
description: The name of the storage network.
type: string
StorageMgmtNetName:
default: storage_mgmt
description: The name of the storage_mgmt network.
type: string
TenantNetName:
default: tenant
description: The name of the tenant network.
type: string
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:
external: {get_param: ExternalNetName}
internal_api: {get_param: InternalApiNetName}
storage: {get_param: StorageNetName}
storage_mgmt: {get_param: StorageMgmtNetName}
tenant: {get_param: TenantNetName}
management: {get_param: ManagementNetName}
- 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]}
|