Add update yaml backward compatibe with PublicVirtualIP on ctlplane
[apex-tripleo-heat-templates.git] / network / endpoints / endpoint_map.yaml
1 heat_template_version: 2015-04-30
2
3 description: >
4   A Map of OpenStack Endpoints
5
6 parameters:
7   CeilometerApiVirtualIP:
8     type: string
9     default: ''
10   CinderApiVirtualIP:
11     type: string
12     default: ''
13   GlanceApiVirtualIP:
14     type: string
15     default: ''
16   GlanceRegistryVirtualIP:
17     type: string
18     default: ''
19   HeatApiVirtualIP:
20     type: string
21     default: ''
22   KeystoneAdminApiVirtualIP:
23     type: string
24     default: ''
25   KeystonePublicApiVirtualIP:
26     type: string
27     default: ''
28   MysqlVirtualIP:
29     type: string
30     default: ''
31   NeutronApiVirtualIP:
32     type: string
33     default: ''
34   NovaApiVirtualIP:
35     type: string
36     default: ''
37   PublicVirtualIP:
38     type: string
39     default: ''
40   SwiftProxyVirtualIP:
41     type: string
42     default: ''
43   EndpointMap:
44     type: json
45     default:
46       CeilometerAdmin: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
47       CeilometerInternal: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
48       CeilometerPublic: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
49       CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
50       CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
51       CinderPublic: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
52       GlanceAdmin: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
53       GlanceInternal: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
54       GlancePublic: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
55       GlanceRegistryAdmin: {protocol: 'http', port: '9191', host: 'IP_ADDRESS'}
56       GlanceRegistryInternal: {protocol: 'http', port: '9191', host: 'IP_ADDRESS'}
57       GlanceRegistryPublic: {protocol: 'http', port: '9191', host: 'IP_ADDRESS'}
58       HeatAdmin: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
59       HeatInternal: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
60       HeatPublic: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
61       HorizonPublic: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
62       KeystoneAdmin: {protocol: 'http', port: '35357', host: 'IP_ADDRESS'}
63       KeystoneInternal: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
64       KeystonePublic: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
65       NeutronAdmin: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
66       NeutronInternal: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
67       NeutronPublic: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
68       NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
69       NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
70       NovaPublic: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
71       NovaEC2Admin: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
72       NovaEC2Internal: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
73       NovaEC2Public: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
74       SwiftAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
75       SwiftInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
76       SwiftPublic: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
77     description: Mapping of service endpoint -> protocol. Typically set
78                  via parameter_defaults in the resource registry.
79   CloudName:
80     type: string
81     default: ''
82     description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
83
84 resources:
85
86   CeilometerInternal:
87     type: OS::TripleO::Endpoint
88     properties:
89       EndpointName: CeilometerInternal
90       EndpointMap: { get_param: EndpointMap }
91       CloudName: {get_param: CloudName}
92       IP: {get_param: CeilometerApiVirtualIP}
93   CeilometerPublic:
94     type: OS::TripleO::Endpoint
95     properties:
96       EndpointName: CeilometerPublic
97       EndpointMap: { get_param: EndpointMap }
98       CloudName: {get_param: CloudName}
99       IP: {get_param: PublicVirtualIP}
100   CeilometerAdmin:
101     type: OS::TripleO::Endpoint
102     properties:
103       EndpointName: CeilometerAdmin
104       EndpointMap: { get_param: EndpointMap }
105       CloudName: {get_param: CloudName}
106       IP: {get_param: CeilometerApiVirtualIP}
107
108   CinderInternal:
109     type: OS::TripleO::Endpoint
110     properties:
111       EndpointName: CinderInternal
112       EndpointMap: { get_param: EndpointMap }
113       CloudName: {get_param: CloudName}
114       IP: {get_param: CinderApiVirtualIP}
115       UriSuffix: '/v1/%(tenant_id)s'
116   CinderPublic:
117     type: OS::TripleO::Endpoint
118     properties:
119       EndpointName: CinderPublic
120       EndpointMap: { get_param: EndpointMap }
121       CloudName: {get_param: CloudName}
122       IP: {get_param: PublicVirtualIP}
123       UriSuffix: '/v1/%(tenant_id)s'
124   CinderAdmin:
125     type: OS::TripleO::Endpoint
126     properties:
127       EndpointName: CinderAdmin
128       EndpointMap: { get_param: EndpointMap }
129       CloudName: {get_param: CloudName}
130       IP: {get_param: CinderApiVirtualIP}
131       UriSuffix: '/v1/%(tenant_id)s'
132
133   CinderV2Internal:
134     type: OS::TripleO::Endpoint
135     properties:
136       EndpointName: CinderInternal
137       EndpointMap: { get_param: EndpointMap }
138       CloudName: {get_param: CloudName}
139       IP: {get_param: CinderApiVirtualIP}
140       UriSuffix: '/v2/%(tenant_id)s'
141   CinderV2Public:
142     type: OS::TripleO::Endpoint
143     properties:
144       EndpointName: CinderPublic
145       EndpointMap: { get_param: EndpointMap }
146       CloudName: {get_param: CloudName}
147       IP: {get_param: PublicVirtualIP}
148       UriSuffix: '/v2/%(tenant_id)s'
149   CinderV2Admin:
150     type: OS::TripleO::Endpoint
151     properties:
152       EndpointName: CinderAdmin
153       EndpointMap: { get_param: EndpointMap }
154       CloudName: {get_param: CloudName}
155       IP: {get_param: CinderApiVirtualIP}
156       UriSuffix: '/v2/%(tenant_id)s'
157
158   GlanceInternal:
159     type: OS::TripleO::Endpoint
160     properties:
161       EndpointName: GlanceInternal
162       EndpointMap: { get_param: EndpointMap }
163       CloudName: {get_param: CloudName}
164       IP: {get_param: GlanceApiVirtualIP}
165   GlancePublic:
166     type: OS::TripleO::Endpoint
167     properties:
168       EndpointName: GlancePublic
169       EndpointMap: { get_param: EndpointMap }
170       CloudName: {get_param: CloudName}
171       IP: {get_param: PublicVirtualIP}
172   GlanceAdmin:
173     type: OS::TripleO::Endpoint
174     properties:
175       EndpointName: GlanceAdmin
176       EndpointMap: { get_param: EndpointMap }
177       CloudName: {get_param: CloudName}
178       IP: {get_param: GlanceApiVirtualIP}
179   GlanceRegistryInternal:
180     type: OS::TripleO::Endpoint
181     properties:
182       EndpointName: GlanceInternal
183       EndpointMap: { get_param: EndpointMap }
184       IP: {get_param: GlanceRegistryVirtualIP}
185   GlanceRegistryPublic:
186     type: OS::TripleO::Endpoint
187     properties:
188       EndpointName: GlancePublic
189       EndpointMap: { get_param: EndpointMap }
190       IP: {get_param: PublicVirtualIP}
191   GlanceRegistryAdmin:
192     type: OS::TripleO::Endpoint
193     properties:
194       EndpointName: GlanceAdmin
195       EndpointMap: { get_param: EndpointMap }
196       IP: {get_param: GlanceRegistryVirtualIP}
197
198   HeatInternal:
199     type: OS::TripleO::Endpoint
200     properties:
201       EndpointName: HeatInternal
202       EndpointMap: { get_param: EndpointMap }
203       IP: {get_param: HeatApiVirtualIP}
204       CloudName: {get_param: CloudName}
205       UriSuffix: '/v1/%(tenant_id)s'
206   HeatPublic:
207     type: OS::TripleO::Endpoint
208     properties:
209       EndpointName: HeatPublic
210       EndpointMap: { get_param: EndpointMap }
211       IP: {get_param: PublicVirtualIP}
212       CloudName: {get_param: CloudName}
213       UriSuffix: '/v1/%(tenant_id)s'
214   HeatAdmin:
215     type: OS::TripleO::Endpoint
216     properties:
217       EndpointName: HeatAdmin
218       EndpointMap: { get_param: EndpointMap }
219       IP: {get_param: HeatApiVirtualIP}
220       CloudName: {get_param: CloudName}
221       UriSuffix: '/v1/%(tenant_id)s'
222
223   HorizonPublic:
224     type: OS::TripleO::Endpoint
225     properties:
226       EndpointName: HeatPublic
227       EndpointMap: { get_param: EndpointMap }
228       IP: {get_param: PublicVirtualIP}
229       CloudName: {get_param: CloudName}
230       UriSuffix: '/dashboard'
231
232   KeystoneInternal:
233     type: OS::TripleO::Endpoint
234     properties:
235       EndpointName: KeystoneInternal
236       EndpointMap: { get_param: EndpointMap }
237       IP: {get_param: KeystonePublicApiVirtualIP}
238       CloudName: {get_param: CloudName}
239       UriSuffix: '/v2.0'
240   KeystonePublic:
241     type: OS::TripleO::Endpoint
242     properties:
243       EndpointName: KeystonePublic
244       EndpointMap: { get_param: EndpointMap }
245       IP: {get_param: PublicVirtualIP}
246       CloudName: {get_param: CloudName}
247       UriSuffix: '/v2.0'
248   KeystoneAdmin:
249     type: OS::TripleO::Endpoint
250     properties:
251       EndpointName: KeystoneAdmin
252       EndpointMap: { get_param: EndpointMap }
253       IP: {get_param: KeystoneAdminApiVirtualIP}
254       CloudName: {get_param: CloudName}
255       UriSuffix: '/v2.0'
256   KeystoneEC2:
257     type: OS::TripleO::Endpoint
258     properties:
259       EndpointName: KeystoneInternal
260       EndpointMap: { get_param: EndpointMap }
261       IP: {get_param: KeystonePublicApiVirtualIP}
262       CloudName: {get_param: CloudName}
263       UriSuffix: '/v2.0/ec2tokens'
264
265   NeutronInternal:
266     type: OS::TripleO::Endpoint
267     properties:
268       EndpointName: NeutronInternal
269       EndpointMap: { get_param: EndpointMap }
270       IP: {get_param: NeutronApiVirtualIP}
271       CloudName: {get_param: CloudName}
272   NeutronPublic:
273     type: OS::TripleO::Endpoint
274     properties:
275       EndpointName: NeutronPublic
276       EndpointMap: { get_param: EndpointMap }
277       IP: {get_param: PublicVirtualIP}
278       CloudName: {get_param: CloudName}
279   NeutronAdmin:
280     type: OS::TripleO::Endpoint
281     properties:
282       EndpointName: NeutronAdmin
283       EndpointMap: { get_param: EndpointMap }
284       IP: {get_param: NeutronApiVirtualIP}
285       CloudName: {get_param: CloudName}
286
287   NovaInternal:
288     type: OS::TripleO::Endpoint
289     properties:
290       EndpointName: NovaInternal
291       EndpointMap: { get_param: EndpointMap }
292       IP: {get_param: NovaApiVirtualIP}
293       CloudName: {get_param: CloudName}
294       UriSuffix: '/v2/%(tenant_id)s'
295   NovaPublic:
296     type: OS::TripleO::Endpoint
297     properties:
298       EndpointName: NovaPublic
299       EndpointMap: { get_param: EndpointMap }
300       IP: {get_param: PublicVirtualIP}
301       CloudName: {get_param: CloudName}
302       UriSuffix: '/v2/%(tenant_id)s'
303   NovaAdmin:
304     type: OS::TripleO::Endpoint
305     properties:
306       EndpointName: NovaAdmin
307       EndpointMap: { get_param: EndpointMap }
308       IP: {get_param: NovaApiVirtualIP}
309       CloudName: {get_param: CloudName}
310       UriSuffix: '/v2/%(tenant_id)s'
311   NovaV3Internal:
312     type: OS::TripleO::Endpoint
313     properties:
314       EndpointName: NovaInternal
315       EndpointMap: { get_param: EndpointMap }
316       IP: {get_param: NovaApiVirtualIP}
317       CloudName: {get_param: CloudName}
318       UriSuffix: '/v3'
319   NovaV3Public:
320     type: OS::TripleO::Endpoint
321     properties:
322       EndpointName: NovaPublic
323       EndpointMap: { get_param: EndpointMap }
324       IP: {get_param: PublicVirtualIP}
325       CloudName: {get_param: CloudName}
326       UriSuffix: '/v3'
327   NovaV3Admin:
328     type: OS::TripleO::Endpoint
329     properties:
330       EndpointName: NovaAdmin
331       EndpointMap: { get_param: EndpointMap }
332       IP: {get_param: NovaApiVirtualIP}
333       CloudName: {get_param: CloudName}
334       UriSuffix: '/v3'
335
336   NovaEC2Internal:
337     type: OS::TripleO::Endpoint
338     properties:
339       EndpointName: NovaEC2Internal
340       EndpointMap: { get_param: EndpointMap }
341       IP: {get_param: NovaApiVirtualIP}
342       CloudName: {get_param: CloudName}
343       UriSuffix: '/services/Cloud'
344   NovaEC2Public:
345     type: OS::TripleO::Endpoint
346     properties:
347       EndpointName: NovaEC2Public
348       EndpointMap: { get_param: EndpointMap }
349       IP: {get_param: PublicVirtualIP}
350       CloudName: {get_param: CloudName}
351       UriSuffix: '/services/Cloud'
352   NovaEC2Admin:
353     type: OS::TripleO::Endpoint
354     properties:
355       EndpointName: NovaEC2Admin
356       EndpointMap: { get_param: EndpointMap }
357       IP: {get_param: NovaApiVirtualIP}
358       CloudName: {get_param: CloudName}
359       UriSuffix: '/services/Admin'
360
361   SwiftInternal:
362     type: OS::TripleO::Endpoint
363     properties:
364       EndpointName: SwiftInternal
365       EndpointMap: { get_param: EndpointMap }
366       IP: {get_param: SwiftProxyVirtualIP}
367       CloudName: {get_param: CloudName}
368       UriSuffix: '/v1/AUTH_%(tenant_id)s'
369   SwiftPublic:
370     type: OS::TripleO::Endpoint
371     properties:
372       EndpointName: SwiftPublic
373       EndpointMap: { get_param: EndpointMap }
374       IP: {get_param: PublicVirtualIP}
375       CloudName: {get_param: CloudName}
376       UriSuffix: '/v1/AUTH_%(tenant_id)s'
377   SwiftAdmin:
378     type: OS::TripleO::Endpoint
379     properties:
380       EndpointName: SwiftAdmin
381       EndpointMap: { get_param: EndpointMap }
382       IP: {get_param: SwiftProxyVirtualIP}
383       CloudName: {get_param: CloudName}
384       # No Suffix for the Admin interface
385   SwiftS3Internal:
386     type: OS::TripleO::Endpoint
387     properties:
388       EndpointName: SwiftInternal
389       EndpointMap: { get_param: EndpointMap }
390       IP: {get_param: SwiftProxyVirtualIP}
391       CloudName: {get_param: CloudName}
392   SwiftS3Public:
393     type: OS::TripleO::Endpoint
394     properties:
395       EndpointName: SwiftPublic
396       EndpointMap: { get_param: EndpointMap }
397       IP: {get_param: PublicVirtualIP}
398       CloudName: {get_param: CloudName}
399   SwiftS3Admin:
400     type: OS::TripleO::Endpoint
401     properties:
402       EndpointName: SwiftAdmin
403       EndpointMap: { get_param: EndpointMap }
404       IP: {get_param: SwiftProxyVirtualIP}
405       CloudName: {get_param: CloudName}
406
407 outputs:
408   endpoint_map:
409     value:
410       CeilometerInternal: {get_attr: [ CeilometerInternal, endpoint] }
411       CeilometerPublic: {get_attr: [ CeilometerPublic, endpoint] }
412       CeilometerAdmin: {get_attr: [ CeilometerAdmin, endpoint] }
413       CinderInternal: {get_attr: [ CinderInternal, endpoint] }
414       CinderPublic: {get_attr: [ CinderPublic, endpoint] }
415       CinderAdmin: {get_attr: [ CinderAdmin, endpoint] }
416       CinderV2Internal: {get_attr: [ CinderV2Internal, endpoint] }
417       CinderV2Public: {get_attr: [ CinderV2Public, endpoint] }
418       CinderV2Admin: {get_attr: [ CinderV2Admin, endpoint] }
419       GlanceInternal: {get_attr: [ GlanceInternal, endpoint] }
420       GlancePublic: {get_attr: [ GlancePublic, endpoint] }
421       GlanceAdmin: {get_attr: [ GlanceAdmin, endpoint] }
422       GlanceRegistryInternal: {get_attr: [ GlanceRegistryInternal, endpoint] }
423       GlanceRegistryPublic: {get_attr: [ GlanceRegistryPublic, endpoint] }
424       GlanceRegistryAdmin: {get_attr: [ GlanceRegistryAdmin, endpoint] }
425       HeatInternal: {get_attr: [ HeatInternal, endpoint] }
426       HeatPublic: {get_attr: [ HeatPublic, endpoint] }
427       HeatAdmin: {get_attr: [ HeatAdmin, endpoint] }
428       HorizonPublic: {get_attr: [ HorizonPublic, endpoint] }
429       KeystoneInternal: {get_attr: [ KeystoneInternal, endpoint] }
430       KeystonePublic: {get_attr: [ KeystonePublic, endpoint] }
431       KeystoneAdmin: {get_attr: [ KeystoneAdmin, endpoint] }
432       KeystoneEC2: {get_attr: [ KeystoneEC2, endpoint] }
433       NeutronInternal: {get_attr: [ NeutronInternal, endpoint] }
434       NeutronPublic: {get_attr: [ NeutronPublic, endpoint] }
435       NeutronAdmin: {get_attr: [ NeutronAdmin, endpoint] }
436       NovaInternal: {get_attr: [ NovaInternal, endpoint] }
437       NovaPublic: {get_attr: [ NovaPublic, endpoint] }
438       NovaAdmin: {get_attr: [ NovaAdmin, endpoint] }
439       NovaV3Internal: {get_attr: [ NovaV3Internal, endpoint] }
440       NovaV3Public: {get_attr: [ NovaV3Public, endpoint] }
441       NovaV3Admin: {get_attr: [ NovaV3Admin, endpoint] }
442       NovaEC2Internal: {get_attr: [ NovaEC2Internal, endpoint] }
443       NovaEC2Public: {get_attr: [ NovaEC2Public, endpoint] }
444       NovaEC2Admin: {get_attr: [ NovaEC2Admin, endpoint] }
445       SwiftInternal: {get_attr: [ SwiftInternal, endpoint] }
446       SwiftPublic: {get_attr: [ SwiftPublic, endpoint] }
447       SwiftAdmin: {get_attr: [ SwiftAdmin, endpoint] }
448       SwiftS3Internal: {get_attr: [ SwiftS3Internal, endpoint] }
449       SwiftS3Public: {get_attr: [ SwiftS3Public, endpoint] }
450       SwiftS3Admin: {get_attr: [ SwiftS3Admin, endpoint] }