Nova Neutron configuration now uses keystone v3 endpoint
[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   SaharaApiVirtualIP:
44     type: string
45     default: ''
46   EndpointMap:
47     type: json
48     default:
49       CeilometerAdmin: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
50       CeilometerInternal: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
51       CeilometerPublic: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
52       CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
53       CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
54       CinderPublic: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
55       GlanceAdmin: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
56       GlanceInternal: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
57       GlancePublic: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
58       GlanceRegistryAdmin: {protocol: 'http', port: '9191', host: 'IP_ADDRESS'}
59       GlanceRegistryInternal: {protocol: 'http', port: '9191', host: 'IP_ADDRESS'}
60       GlanceRegistryPublic: {protocol: 'http', port: '9191', host: 'IP_ADDRESS'}
61       HeatAdmin: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
62       HeatInternal: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
63       HeatPublic: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
64       HorizonPublic: {protocol: 'http', port: '80', host: 'IP_ADDRESS'}
65       KeystoneAdmin: {protocol: 'http', port: '35357', host: 'IP_ADDRESS'}
66       KeystoneInternal: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
67       KeystonePublic: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
68       KeystoneV3Admin: {protocol: 'http', port: '35357', host: 'IP_ADDRESS'}
69       KeystoneV3Internal: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
70       KeystoneV3Public: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
71       NeutronAdmin: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
72       NeutronInternal: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
73       NeutronPublic: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
74       NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
75       NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
76       NovaPublic: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
77       NovaEC2Admin: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
78       NovaEC2Internal: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
79       NovaEC2Public: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
80       SwiftAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
81       SwiftInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
82       SwiftPublic: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
83       SaharaAdmin: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
84       SaharaInternal: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
85       SaharaPublic: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
86     description: Mapping of service endpoint -> protocol. Typically set
87                  via parameter_defaults in the resource registry.
88   CloudName:
89     type: string
90     default: overcloud
91     description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
92
93 resources:
94
95   CeilometerInternal:
96     type: OS::TripleO::Endpoint
97     properties:
98       EndpointName: CeilometerInternal
99       EndpointMap: { get_param: EndpointMap }
100       CloudName: {get_param: CloudName}
101       IP: {get_param: CeilometerApiVirtualIP}
102   CeilometerPublic:
103     type: OS::TripleO::Endpoint
104     properties:
105       EndpointName: CeilometerPublic
106       EndpointMap: { get_param: EndpointMap }
107       CloudName: {get_param: CloudName}
108       IP: {get_param: PublicVirtualIP}
109   CeilometerAdmin:
110     type: OS::TripleO::Endpoint
111     properties:
112       EndpointName: CeilometerAdmin
113       EndpointMap: { get_param: EndpointMap }
114       CloudName: {get_param: CloudName}
115       IP: {get_param: CeilometerApiVirtualIP}
116
117   CinderInternal:
118     type: OS::TripleO::Endpoint
119     properties:
120       EndpointName: CinderInternal
121       EndpointMap: { get_param: EndpointMap }
122       CloudName: {get_param: CloudName}
123       IP: {get_param: CinderApiVirtualIP}
124       UriSuffix: '/v1/%(tenant_id)s'
125   CinderPublic:
126     type: OS::TripleO::Endpoint
127     properties:
128       EndpointName: CinderPublic
129       EndpointMap: { get_param: EndpointMap }
130       CloudName: {get_param: CloudName}
131       IP: {get_param: PublicVirtualIP}
132       UriSuffix: '/v1/%(tenant_id)s'
133   CinderAdmin:
134     type: OS::TripleO::Endpoint
135     properties:
136       EndpointName: CinderAdmin
137       EndpointMap: { get_param: EndpointMap }
138       CloudName: {get_param: CloudName}
139       IP: {get_param: CinderApiVirtualIP}
140       UriSuffix: '/v1/%(tenant_id)s'
141
142   CinderV2Internal:
143     type: OS::TripleO::Endpoint
144     properties:
145       EndpointName: CinderInternal
146       EndpointMap: { get_param: EndpointMap }
147       CloudName: {get_param: CloudName}
148       IP: {get_param: CinderApiVirtualIP}
149       UriSuffix: '/v2/%(tenant_id)s'
150   CinderV2Public:
151     type: OS::TripleO::Endpoint
152     properties:
153       EndpointName: CinderPublic
154       EndpointMap: { get_param: EndpointMap }
155       CloudName: {get_param: CloudName}
156       IP: {get_param: PublicVirtualIP}
157       UriSuffix: '/v2/%(tenant_id)s'
158   CinderV2Admin:
159     type: OS::TripleO::Endpoint
160     properties:
161       EndpointName: CinderAdmin
162       EndpointMap: { get_param: EndpointMap }
163       CloudName: {get_param: CloudName}
164       IP: {get_param: CinderApiVirtualIP}
165       UriSuffix: '/v2/%(tenant_id)s'
166
167   GlanceInternal:
168     type: OS::TripleO::Endpoint
169     properties:
170       EndpointName: GlanceInternal
171       EndpointMap: { get_param: EndpointMap }
172       CloudName: {get_param: CloudName}
173       IP: {get_param: GlanceApiVirtualIP}
174   GlancePublic:
175     type: OS::TripleO::Endpoint
176     properties:
177       EndpointName: GlancePublic
178       EndpointMap: { get_param: EndpointMap }
179       CloudName: {get_param: CloudName}
180       IP: {get_param: PublicVirtualIP}
181   GlanceAdmin:
182     type: OS::TripleO::Endpoint
183     properties:
184       EndpointName: GlanceAdmin
185       EndpointMap: { get_param: EndpointMap }
186       CloudName: {get_param: CloudName}
187       IP: {get_param: GlanceApiVirtualIP}
188   GlanceRegistryInternal:
189     type: OS::TripleO::Endpoint
190     properties:
191       EndpointName: GlanceRegistryInternal
192       EndpointMap: { get_param: EndpointMap }
193       IP: {get_param: GlanceRegistryVirtualIP}
194   GlanceRegistryPublic:
195     type: OS::TripleO::Endpoint
196     properties:
197       EndpointName: GlanceRegistryPublic
198       EndpointMap: { get_param: EndpointMap }
199       IP: {get_param: PublicVirtualIP}
200   GlanceRegistryAdmin:
201     type: OS::TripleO::Endpoint
202     properties:
203       EndpointName: GlanceRegistryAdmin
204       EndpointMap: { get_param: EndpointMap }
205       IP: {get_param: GlanceRegistryVirtualIP}
206
207   HeatInternal:
208     type: OS::TripleO::Endpoint
209     properties:
210       EndpointName: HeatInternal
211       EndpointMap: { get_param: EndpointMap }
212       IP: {get_param: HeatApiVirtualIP}
213       CloudName: {get_param: CloudName}
214       UriSuffix: '/v1/%(tenant_id)s'
215   HeatPublic:
216     type: OS::TripleO::Endpoint
217     properties:
218       EndpointName: HeatPublic
219       EndpointMap: { get_param: EndpointMap }
220       IP: {get_param: PublicVirtualIP}
221       CloudName: {get_param: CloudName}
222       UriSuffix: '/v1/%(tenant_id)s'
223   HeatAdmin:
224     type: OS::TripleO::Endpoint
225     properties:
226       EndpointName: HeatAdmin
227       EndpointMap: { get_param: EndpointMap }
228       IP: {get_param: HeatApiVirtualIP}
229       CloudName: {get_param: CloudName}
230       UriSuffix: '/v1/%(tenant_id)s'
231
232   HorizonPublic:
233     type: OS::TripleO::Endpoint
234     properties:
235       EndpointName: HorizonPublic
236       EndpointMap: { get_param: EndpointMap }
237       IP: {get_param: PublicVirtualIP}
238       CloudName: {get_param: CloudName}
239       UriSuffix: '/dashboard'
240
241   KeystoneInternal:
242     type: OS::TripleO::Endpoint
243     properties:
244       EndpointName: KeystoneInternal
245       EndpointMap: { get_param: EndpointMap }
246       IP: {get_param: KeystonePublicApiVirtualIP}
247       CloudName: {get_param: CloudName}
248       UriSuffix: '/v2.0'
249   KeystonePublic:
250     type: OS::TripleO::Endpoint
251     properties:
252       EndpointName: KeystonePublic
253       EndpointMap: { get_param: EndpointMap }
254       IP: {get_param: PublicVirtualIP}
255       CloudName: {get_param: CloudName}
256       UriSuffix: '/v2.0'
257   KeystoneAdmin:
258     type: OS::TripleO::Endpoint
259     properties:
260       EndpointName: KeystoneAdmin
261       EndpointMap: { get_param: EndpointMap }
262       IP: {get_param: KeystoneAdminApiVirtualIP}
263       CloudName: {get_param: CloudName}
264       UriSuffix: '/v2.0'
265   KeystoneEC2:
266     type: OS::TripleO::Endpoint
267     properties:
268       EndpointName: KeystoneInternal
269       EndpointMap: { get_param: EndpointMap }
270       IP: {get_param: KeystonePublicApiVirtualIP}
271       CloudName: {get_param: CloudName}
272       UriSuffix: '/v2.0/ec2tokens'
273   # TODO(ayoung): V3 is a temporary fix. Endpoints should be versionless.
274   # Required for https://bugs.launchpad.net/puppet-nova/+bug/1542486
275   KeystoneV3Internal:
276     type: OS::TripleO::Endpoint
277     properties:
278       EndpointName: KeystoneV3Internal
279       EndpointMap: { get_param: EndpointMap }
280       IP: {get_param: KeystonePublicApiVirtualIP}
281       CloudName: {get_param: CloudName}
282       UriSuffix: '/v3'
283   KeystoneV3Public:
284     type: OS::TripleO::Endpoint
285     properties:
286       EndpointName: KeystoneV3Public
287       EndpointMap: { get_param: EndpointMap }
288       IP: {get_param: PublicVirtualIP}
289       CloudName: {get_param: CloudName}
290       UriSuffix: '/v3'
291   KeystoneV3Admin:
292     type: OS::TripleO::Endpoint
293     properties:
294       EndpointName: KeystoneV3Admin
295       EndpointMap: { get_param: EndpointMap }
296       IP: {get_param: KeystoneAdminApiVirtualIP}
297       CloudName: {get_param: CloudName}
298       UriSuffix: '/v3'
299
300   NeutronInternal:
301     type: OS::TripleO::Endpoint
302     properties:
303       EndpointName: NeutronInternal
304       EndpointMap: { get_param: EndpointMap }
305       IP: {get_param: NeutronApiVirtualIP}
306       CloudName: {get_param: CloudName}
307   NeutronPublic:
308     type: OS::TripleO::Endpoint
309     properties:
310       EndpointName: NeutronPublic
311       EndpointMap: { get_param: EndpointMap }
312       IP: {get_param: PublicVirtualIP}
313       CloudName: {get_param: CloudName}
314   NeutronAdmin:
315     type: OS::TripleO::Endpoint
316     properties:
317       EndpointName: NeutronAdmin
318       EndpointMap: { get_param: EndpointMap }
319       IP: {get_param: NeutronApiVirtualIP}
320       CloudName: {get_param: CloudName}
321
322   NovaInternal:
323     type: OS::TripleO::Endpoint
324     properties:
325       EndpointName: NovaInternal
326       EndpointMap: { get_param: EndpointMap }
327       IP: {get_param: NovaApiVirtualIP}
328       CloudName: {get_param: CloudName}
329       UriSuffix: '/v2/%(tenant_id)s'
330   NovaPublic:
331     type: OS::TripleO::Endpoint
332     properties:
333       EndpointName: NovaPublic
334       EndpointMap: { get_param: EndpointMap }
335       IP: {get_param: PublicVirtualIP}
336       CloudName: {get_param: CloudName}
337       UriSuffix: '/v2/%(tenant_id)s'
338   NovaAdmin:
339     type: OS::TripleO::Endpoint
340     properties:
341       EndpointName: NovaAdmin
342       EndpointMap: { get_param: EndpointMap }
343       IP: {get_param: NovaApiVirtualIP}
344       CloudName: {get_param: CloudName}
345       UriSuffix: '/v2/%(tenant_id)s'
346   NovaV3Internal:
347     type: OS::TripleO::Endpoint
348     properties:
349       EndpointName: NovaInternal
350       EndpointMap: { get_param: EndpointMap }
351       IP: {get_param: NovaApiVirtualIP}
352       CloudName: {get_param: CloudName}
353       UriSuffix: '/v3'
354   NovaV3Public:
355     type: OS::TripleO::Endpoint
356     properties:
357       EndpointName: NovaPublic
358       EndpointMap: { get_param: EndpointMap }
359       IP: {get_param: PublicVirtualIP}
360       CloudName: {get_param: CloudName}
361       UriSuffix: '/v3'
362   NovaV3Admin:
363     type: OS::TripleO::Endpoint
364     properties:
365       EndpointName: NovaAdmin
366       EndpointMap: { get_param: EndpointMap }
367       IP: {get_param: NovaApiVirtualIP}
368       CloudName: {get_param: CloudName}
369       UriSuffix: '/v3'
370
371   NovaEC2Internal:
372     type: OS::TripleO::Endpoint
373     properties:
374       EndpointName: NovaEC2Internal
375       EndpointMap: { get_param: EndpointMap }
376       IP: {get_param: NovaApiVirtualIP}
377       CloudName: {get_param: CloudName}
378       UriSuffix: '/services/Cloud'
379   NovaEC2Public:
380     type: OS::TripleO::Endpoint
381     properties:
382       EndpointName: NovaEC2Public
383       EndpointMap: { get_param: EndpointMap }
384       IP: {get_param: PublicVirtualIP}
385       CloudName: {get_param: CloudName}
386       UriSuffix: '/services/Cloud'
387   NovaEC2Admin:
388     type: OS::TripleO::Endpoint
389     properties:
390       EndpointName: NovaEC2Admin
391       EndpointMap: { get_param: EndpointMap }
392       IP: {get_param: NovaApiVirtualIP}
393       CloudName: {get_param: CloudName}
394       UriSuffix: '/services/Admin'
395
396   SwiftInternal:
397     type: OS::TripleO::Endpoint
398     properties:
399       EndpointName: SwiftInternal
400       EndpointMap: { get_param: EndpointMap }
401       IP: {get_param: SwiftProxyVirtualIP}
402       CloudName: {get_param: CloudName}
403       UriSuffix: '/v1/AUTH_%(tenant_id)s'
404   SwiftPublic:
405     type: OS::TripleO::Endpoint
406     properties:
407       EndpointName: SwiftPublic
408       EndpointMap: { get_param: EndpointMap }
409       IP: {get_param: PublicVirtualIP}
410       CloudName: {get_param: CloudName}
411       UriSuffix: '/v1/AUTH_%(tenant_id)s'
412   SwiftAdmin:
413     type: OS::TripleO::Endpoint
414     properties:
415       EndpointName: SwiftAdmin
416       EndpointMap: { get_param: EndpointMap }
417       IP: {get_param: SwiftProxyVirtualIP}
418       CloudName: {get_param: CloudName}
419       # No Suffix for the Admin interface
420   SwiftS3Internal:
421     type: OS::TripleO::Endpoint
422     properties:
423       EndpointName: SwiftInternal
424       EndpointMap: { get_param: EndpointMap }
425       IP: {get_param: SwiftProxyVirtualIP}
426       CloudName: {get_param: CloudName}
427   SwiftS3Public:
428     type: OS::TripleO::Endpoint
429     properties:
430       EndpointName: SwiftPublic
431       EndpointMap: { get_param: EndpointMap }
432       IP: {get_param: PublicVirtualIP}
433       CloudName: {get_param: CloudName}
434   SwiftS3Admin:
435     type: OS::TripleO::Endpoint
436     properties:
437       EndpointName: SwiftAdmin
438       EndpointMap: { get_param: EndpointMap }
439       IP: {get_param: SwiftProxyVirtualIP}
440       CloudName: {get_param: CloudName}
441
442   SaharaInternal:
443     type: OS::TripleO::Endpoint
444     properties:
445       EndpointName: SaharaInternal
446       EndpointMap: { get_param: EndpointMap }
447       IP: {get_param: SaharaApiVirtualIP}
448       CloudName: {get_param: CloudName}
449       UriSuffix: '/v1.1/%(tenant_id)s'
450   SaharaPublic:
451     type: OS::TripleO::Endpoint
452     properties:
453       EndpointName: SaharaPublic
454       EndpointMap: { get_param: EndpointMap }
455       IP: {get_param: SaharaApiVirtualIP}
456       CloudName: {get_param: CloudName}
457       UriSuffix: '/v1.1/%(tenant_id)s'
458   SaharaAdmin:
459     type: OS::TripleO::Endpoint
460     properties:
461       EndpointName: SaharaAdmin
462       EndpointMap: { get_param: EndpointMap }
463       IP: {get_param: SaharaApiVirtualIP}
464       CloudName: {get_param: CloudName}
465       UriSuffix: '/v1.1/%(tenant_id)s'
466
467 outputs:
468   endpoint_map:
469     value:
470       CeilometerInternal: {get_attr: [ CeilometerInternal, endpoint] }
471       CeilometerPublic: {get_attr: [ CeilometerPublic, endpoint] }
472       CeilometerAdmin: {get_attr: [ CeilometerAdmin, endpoint] }
473       CinderInternal: {get_attr: [ CinderInternal, endpoint] }
474       CinderPublic: {get_attr: [ CinderPublic, endpoint] }
475       CinderAdmin: {get_attr: [ CinderAdmin, endpoint] }
476       CinderV2Internal: {get_attr: [ CinderV2Internal, endpoint] }
477       CinderV2Public: {get_attr: [ CinderV2Public, endpoint] }
478       CinderV2Admin: {get_attr: [ CinderV2Admin, endpoint] }
479       GlanceInternal: {get_attr: [ GlanceInternal, endpoint] }
480       GlancePublic: {get_attr: [ GlancePublic, endpoint] }
481       GlanceAdmin: {get_attr: [ GlanceAdmin, endpoint] }
482       GlanceRegistryInternal: {get_attr: [ GlanceRegistryInternal, endpoint] }
483       GlanceRegistryPublic: {get_attr: [ GlanceRegistryPublic, endpoint] }
484       GlanceRegistryAdmin: {get_attr: [ GlanceRegistryAdmin, endpoint] }
485       HeatInternal: {get_attr: [ HeatInternal, endpoint] }
486       HeatPublic: {get_attr: [ HeatPublic, endpoint] }
487       HeatAdmin: {get_attr: [ HeatAdmin, endpoint] }
488       HorizonPublic: {get_attr: [ HorizonPublic, endpoint] }
489       KeystoneInternal: {get_attr: [ KeystoneInternal, endpoint] }
490       KeystonePublic: {get_attr: [ KeystonePublic, endpoint] }
491       KeystoneAdmin: {get_attr: [ KeystoneAdmin, endpoint] }
492       KeystoneEC2: {get_attr: [ KeystoneEC2, endpoint] }
493       KeystoneV3Internal: {get_attr: [ KeystoneV3Internal, endpoint] }
494       KeystoneV3Public: {get_attr: [ KeystoneV3Public, endpoint] }
495       KeystoneV3Admin: {get_attr: [ KeystoneV3Admin, endpoint] }
496       NeutronInternal: {get_attr: [ NeutronInternal, endpoint] }
497       NeutronPublic: {get_attr: [ NeutronPublic, endpoint] }
498       NeutronAdmin: {get_attr: [ NeutronAdmin, endpoint] }
499       NovaInternal: {get_attr: [ NovaInternal, endpoint] }
500       NovaPublic: {get_attr: [ NovaPublic, endpoint] }
501       NovaAdmin: {get_attr: [ NovaAdmin, endpoint] }
502       NovaV3Internal: {get_attr: [ NovaV3Internal, endpoint] }
503       NovaV3Public: {get_attr: [ NovaV3Public, endpoint] }
504       NovaV3Admin: {get_attr: [ NovaV3Admin, endpoint] }
505       NovaEC2Internal: {get_attr: [ NovaEC2Internal, endpoint] }
506       NovaEC2Public: {get_attr: [ NovaEC2Public, endpoint] }
507       NovaEC2Admin: {get_attr: [ NovaEC2Admin, endpoint] }
508       SwiftInternal: {get_attr: [ SwiftInternal, endpoint] }
509       SwiftPublic: {get_attr: [ SwiftPublic, endpoint] }
510       SwiftAdmin: {get_attr: [ SwiftAdmin, endpoint] }
511       SwiftS3Internal: {get_attr: [ SwiftS3Internal, endpoint] }
512       SwiftS3Public: {get_attr: [ SwiftS3Public, endpoint] }
513       SwiftS3Admin: {get_attr: [ SwiftS3Admin, endpoint] }
514       SaharaInternal: {get_attr: [ SaharaInternal, endpoint] }
515       SaharaPublic: {get_attr: [ SaharaPublic, endpoint] }
516       SaharaAdmin: {get_attr: [ SaharaAdmin, endpoint] }