Add deployed server bootstrap to noop-ctlplane
[apex-tripleo-heat-templates.git] / capabilities-map.yaml
1 # This file holds metadata about the capabilities of the tripleo-heat-templates
2 # repository for deployment using puppet. It groups configuration by topic,
3 # describes possible combinations of environments and resource capabilities.
4
5 # root_template: identifies repository's root template
6 # root_environment: identifies root_environment, this one is special in terms of
7 #   order in which the environments are merged before deploying. This one serves as
8 #   a base and it's parameters/resource_registry gets overridden by other environments
9 #   if used.
10
11 # topics:
12 # High Level grouping by purpose of environments
13 # Attributes:
14 #  title: (required)
15 #  description: (optional)
16 #  environment_groups: (required)
17
18 # environment_groups:
19 # Identifies an environment choice. If group includes multiple environments it
20 # indicates that environments in group are mutually exclusive.
21 # Attributes:
22 #  title: (optional)
23 #  description: (optional)
24 #  tags: a list of tags to provide additional information for e.g. filtering (optional)
25 #  environments: (required)
26
27 # environments:
28 # List of environments in environment group
29 # Attributes:
30 #  file: a file name including path within repository (required)
31 #  title: (required)
32 #  description: (optional)
33 #  requires: an array of environments which are required by this environment (optional)
34 #  resource_registry: [tbd] (optional)
35
36 # resource_registry:
37 # [tbd] Each environment can provide options on resource_registry level applicable
38 # only when that given environment is used. (resource_type of that environment can
39 # be implemented using multiple templates).
40
41 root_template: overcloud.yaml
42 root_environment: overcloud-resource-registry-puppet.yaml
43 topics:
44   - title: Base Resources Configuration
45     description:
46     environment_groups:
47       - title:
48         description: Enable base configuration for all resources required for OpenStack Deployment
49         environments:
50           - file: overcloud-resource-registry-puppet.yaml
51             title: Base resources configuration
52             description:
53
54   - title: Deployment Options
55     description:
56     environment_groups:
57       - title: High Availability
58         description: Enables configuration of an Overcloud controller with Pacemaker
59         environments:
60           - file: environments/puppet-pacemaker.yaml
61             title: Pacemaker
62             description: Enable configuration of an Overcloud controller with Pacemaker
63             requires:
64               - overcloud-resource-registry-puppet.yaml
65       - title: Pacemaker options
66         description:
67         environments:
68           - file: environments/puppet-pacemaker-no-restart.yaml
69             title: Pacemaker No Restart
70             description:
71             requires:
72               - environments/puppet-pacemaker.yaml
73               - overcloud-resource-registry-puppet.yaml
74       - title: Docker RDO
75         description: >
76           Docker container with heat agents for containerized compute node
77         environments:
78           - file: environments/docker.yaml
79             title: Docker RDO
80             description:
81             requires:
82               - overcloud-resource-registry-puppet.yaml
83       - title: Enable TLS
84         description: >
85         environments:
86           - file: environments/enable-tls.yaml
87             title: TLS
88             description: >
89               Use this option to pass in certificates for SSL deployments.
90               For these values to take effect, one of the TLS endpoints
91               environments must also be used.
92             requires:
93               - overcloud-resource-registry-puppet.yaml
94       - title: TLS Endpoints
95         description: >
96         environments:
97           - file: environments/tls-endpoints-public-dns.yaml
98             title: SSL-enabled deployment with DNS name as public endpoint
99             description: >
100               Use this environment when deploying an SSL-enabled overcloud where the public
101               endpoint is a DNS name.
102             requires:
103               - environments/enable-tls.yaml
104               - overcloud-resource-registry-puppet.yaml
105           - file: environments/tls-endpoints-public-ip.yaml
106             title: SSL-enabled deployment with IP address as public endpoint
107             description: >
108               Use this environment when deploying an SSL-enabled overcloud where the public
109               endpoint is an IP address.
110             requires:
111               - environments/enable-tls.yaml
112               - overcloud-resource-registry-puppet.yaml
113       - title: External load balancer
114         description: >
115           Enable external load balancer
116         environments:
117           - file: environments/external-loadbalancer-vip-v6.yaml
118             title: External load balancer IPv6
119             description: >
120             requires:
121               - overcloud-resource-registry-puppet.yaml
122           - file: environments/external-loadbalancer-vip.yaml
123             title: External load balancer IPv4
124             description: >
125             requires:
126               - overcloud-resource-registry-puppet.yaml
127
128   - title: Additional Services
129     description: Deploy additional Overcloud services
130     environment_groups:
131       - title: Manila
132         description:
133         environments:
134           - file: environments/manila-generic-config.yaml
135             title: Manila
136             description: Enable Manila generic driver backend
137             requires:
138               - overcloud-resource-registry-puppet.yaml
139       - title: Sahara
140         description:
141         environments:
142           - file: environments/services/sahara.yaml
143             title: Sahara
144             description: Deploy Sahara service
145             requires:
146               - overcloud-resource-registry-puppet.yaml
147       - title: Ironic
148         description:
149         environments:
150           - file: environments/services/ironic.yaml
151             title: Ironic
152             description: Deploy Ironic service
153             requires:
154               - overcloud-resource-registry-puppet.yaml
155       - title: Mistral
156         description:
157         environments:
158           - file: environments/services/mistral.yaml
159             title: Mistral
160             description: Deploy Mistral service
161             requires:
162               - overcloud-resource-registry-puppet.yaml
163
164   # - title: Network Interface Configuration
165   #   description:
166   #   environment_groups:
167
168   - title: Overlay Network Configuration
169     description:
170     environment_groups:
171       - title: Network Isolation
172         description:
173         environments:
174           - file: environments/network-isolation.yaml
175             title: Network Isolation
176             description: >
177               Enable the creation of Neutron networks for
178               isolated Overcloud traffic and configure each role to assign ports
179               (related to that role) on these networks.
180             requires:
181               - overcloud-resource-registry-puppet.yaml
182           - file: environments/network-isolation-v6.yaml
183             title: Network Isolation IPv6
184             description: >
185               Enable the creation of IPv6 Neutron networks for isolated Overcloud
186               traffic and configure each role to assign ports (related
187               to that role) on these networks.
188             requires:
189               - overcloud-resource-registry-puppet.yaml
190       - title: Single NIC or Bonding
191         description: >
192           Configure roles to use pair of bonded nics or to use Vlans on a
193           single nic. This option assumes use of Network Isolation.
194         environments:
195           - file: environments/net-bond-with-vlans.yaml
196             title: Bond with Vlans
197             description: >
198               Configure each role to use a pair of bonded nics (nic2 and
199               nic3) and configures an IP address on each relevant isolated network
200               for each role. This option assumes use of Network Isolation.
201             requires:
202               - environments/network-isolation.yaml
203               - overcloud-resource-registry-puppet.yaml
204           - file: environments/net-bond-with-vlans-no-external.yaml
205             title: Bond with Vlans No External Ports
206             description: >
207               Configure each role to use a pair of bonded nics (nic2 and
208               nic3) and configures an IP address on each relevant isolated network
209               for each role. This option assumes use of Network Isolation.
210               Sets external ports to noop.
211             requires:
212               - environments/network-isolation.yaml
213               - overcloud-resource-registry-puppet.yaml
214           - file: environments/net-bond-with-vlans-v6.yaml
215             title: Bond with Vlans IPv6
216             description: >
217               Configure each role to use a pair of bonded nics (nic2 and
218               nic3) and configures an IP address on each relevant isolated network
219               for each role, with IPv6 on the External network.
220               This option assumes use of Network Isolation IPv6.
221             requires:
222               - environments/network-isolation-v6.yaml
223               - overcloud-resource-registry-puppet.yaml
224           - file: environments/net-multiple-nics.yaml
225             title: Multiple NICs
226             description: >
227               Configures each role to use a separate NIC for
228               each isolated network.
229               This option assumes use of Network Isolation.
230             requires:
231               - environments/network-isolation.yaml
232               - overcloud-resource-registry-puppet.yaml
233           - file: environments/net-multiple-nics-v6.yaml
234             title: Multiple NICs IPv6
235             description: >
236               Configure each role to use a separate NIC for
237               each isolated network with IPv6 on the External network.
238               This option assumes use of Network Isolation IPv6.
239             requires:
240               - environments/network-isolation-v6.yaml
241               - overcloud-resource-registry-puppet.yaml
242           - file: environments/net-single-nic-with-vlans.yaml
243             title: Single NIC with Vlans
244             description: >
245               Configure each role to use Vlans on a single NIC for
246               each isolated network. This option assumes use of Network Isolation.
247             requires:
248               - environments/network-isolation.yaml
249               - overcloud-resource-registry-puppet.yaml
250           - file: environments/net-single-nic-with-vlans-no-external.yaml
251             title: Single NIC with Vlans No External Ports
252             description: >
253               Configure each role to use Vlans on a single NIC for
254               each isolated network. This option assumes use of Network Isolation.
255               Sets external ports to noop.
256             requires:
257               - environments/network-isolation.yaml
258               - overcloud-resource-registry-puppet.yaml
259           - file: environments/net-single-nic-linux-bridge-with-vlans.yaml
260             title: Single NIC with Linux Bridge Vlans
261             description: >
262               Configure each role to use Vlans on a single NIC for
263               each isolated network. This option assumes use of Network Isolation.
264             requires:
265               - environments/network-isolation.yaml
266               - overcloud-resource-registry-puppet.yaml
267           - file: environments/net-single-nic-with-vlans-v6.yaml
268             title: Single NIC with Vlans IPv6
269             description: >
270               Configures each role to use Vlans on a single NIC for
271               each isolated network with IPv6 on the External network.
272               This option assumes use of Network Isolation IPv6
273             requires:
274               - environments/network-isolation-v6.yaml
275               - overcloud-resource-registry-puppet.yaml
276       - title: Management Network
277         description: >
278           Enable the creation of a system management network. This
279           creates a Neutron network for isolated Overcloud
280           system management traffic and configures each role to
281           assign a port (related to that role) on that network.
282         environments:
283           - file: environments/network-management.yaml
284             title: Management Network
285             description:
286             requires:
287               - overcloud-resource-registry-puppet.yaml
288           - file: environments/network-management-v6.yaml
289             title: Management Network IPv6
290             description:
291             requires:
292               - overcloud-resource-registry-puppet.yaml
293
294   - title: Neutron Plugin Configuration
295     description:
296     environment_groups:
297       - title: Neutron Plugins
298         description: >
299           Enable various Neutron plugins and backends
300         environments:
301           - file: environments/neutron-ml2-bigswitch.yaml
302             title: BigSwitch Extensions
303             description: >
304               Enable Big Switch extensions, configured via puppet
305             requires:
306               - overcloud-resource-registry-puppet.yaml
307           - file: environments/neutron-ml2-cisco-n1kv.yaml
308             title: Cisco N1KV backend
309             description: >
310               Enable a Cisco N1KV backend, configured via puppet
311             requires:
312               - overcloud-resource-registry-puppet.yaml
313           - file: environments/neutron-ml2-cisco-nexus-ucsm.yaml
314             title: Cisco Neutron plugin
315             description:
316             requires:
317               - overcloud-resource-registry-puppet.yaml
318           - file: environments/neutron-midonet.yaml
319             title: Deploy MidoNet Services
320             description:
321             requires:
322               - overcloud-resource-registry-puppet.yaml
323           - file: environments/neutron-nuage-config.yaml
324             title: Neutron Nuage backend
325             description: Enables Neutron Nuage backend on the controller
326             requires:
327               - overcloud-resource-registry-puppet.yaml
328           - file: environments/neutron-opencontrail.yaml
329             title: OpenContrail Extensions
330             description: Enables OpenContrail extensions
331             requires:
332               - overcloud-resource-registry-puppet.yaml
333           - file: environments/neutron-opendaylight.yaml
334             title: OpenDaylight
335             description: Enables OpenDaylight
336             requires:
337               - overcloud-resource-registry-puppet.yaml
338           - file: environments/neutron-opendaylight-l3.yaml
339             title: OpenDaylight with L3 DVR
340             description: Enables OpenDaylight with L3 DVR
341             requires:
342               - overcloud-resource-registry-puppet.yaml
343           - file: environments/neutron-ovs-dpdk.yaml
344             title: DPDK with OVS
345             description: Deploy DPDK with OVS
346             requires:
347               - overcloud-resource-registry-puppet.yaml
348           - file: environments/neutron-ovs-dvr.yaml
349             title: DVR
350             description: Enables DVR in the Overcloud
351             requires:
352               - overcloud-resource-registry-puppet.yaml
353           - file: environments/neutron-plumgrid.yaml
354             title: PLUMgrid extensions
355             description: Enables PLUMgrid extensions
356             requires:
357               - overcloud-resource-registry-puppet.yaml
358           - file: environments/neutron-ml2-fujitsu-cfab.yaml
359             title: Fujitsu Neutron plugin for C-Fabric
360             description: Enable C-Fabric in the overcloud
361             requires:
362               - overcloud-resource-registry-puppet.yaml
363
364   - title: Nova Extensions
365     description:
366     environment_groups:
367       - title: Nova Extensions
368         description:
369         environments:
370           - file: environments/nova-nuage-config.yaml
371             title: Nuage backend
372             description: >
373               Enables Nuage backend on the Compute
374             requires:
375               - overcloud-resource-registry-puppet.yaml
376
377   - title: Storage
378     description:
379     environment_groups:
380       - title: Cinder backup service
381         description:
382         environments:
383           - file: environments/cinder-backup.yaml
384             title: Cinder backup service
385             description: >
386               OpenStack Cinder Backup service with Pacemaker configured
387               with Puppet
388             requires:
389               - environments/puppet-pacemaker.yaml
390               - overcloud-resource-registry-puppet.yaml
391       - title: Cinder backend
392         description: >
393           Enable various Cinder backends
394         environments:
395           - file: environments/cinder-netapp-config.yaml
396             title: Cinder NetApp backend
397             description:
398             requires:
399               - overcloud-resource-registry-puppet.yaml
400           - file: environments/cinder-dellsc-config.yaml
401             title: Cinder Dell Storage Center ISCSI backend
402             description: >
403               Enables a Cinder Dell Storage Center ISCSI backend, configured
404               via puppet
405             requires:
406               - overcloud-resource-registry-puppet.yaml
407           - file: environments/cinder-hpelefthand-config.yaml
408             title: Cinder HPELeftHandISCSI backend
409             description: >
410               Enables a Cinder HPELeftHandISCSI backend, configured
411               via puppet
412             requires:
413               - overcloud-resource-registry-puppet.yaml
414           - file: environments/cinder-eqlx-config.yaml
415             title: Cinder EQLX backend
416             description: >
417               Enables a Cinder EQLX backend, configured via puppet
418             requires:
419               - overcloud-resource-registry-puppet.yaml
420       - title: Externally managed Ceph
421         description: >
422           Enable the use of an externally managed Ceph cluster
423         environments:
424           - file: environments/puppet-ceph-external.yaml
425             title: Externally managed Ceph
426             description:
427             requires:
428               - overcloud-resource-registry-puppet.yaml
429       - title: Ceph Devel
430         description: >
431           Enable a Ceph storage cluster using the controller and 2 ceph nodes.
432           Rbd backends are enabled for Cinder, Glance, and Nova.
433         environments:
434           - file: environments/puppet-ceph-devel.yaml
435             title: Ceph Devel
436             description:
437             requires:
438               - overcloud-resource-registry-puppet.yaml
439       - title: Storage Environment
440         description: >
441           Can be used to set up storage backends. Defaults to Ceph used as a
442           backend for Cinder, Glance and Nova ephemeral storage. It configures
443           for example which services will use Ceph, or if any of the services
444           will use NFS. And more. Usually requires to be edited by user first.
445         tags:
446           - no-gui
447         environments:
448           - file: environments/storage-environment.yaml
449             title: Storage Environment
450             description:
451             requires:
452               - overcloud-resource-registry-puppet.yaml
453
454   - title: Utilities
455     description:
456     environment_groups:
457       - title: Config Debug
458         description: Enable config management (e.g. Puppet) debugging
459         environments:
460           - file: environments/config-debug.yaml
461             title: Config Debug
462             description:
463             requires:
464               - overcloud-resource-registry-puppet.yaml
465       - title: Disable journal in MongoDb
466         description: >
467           Since, when journaling is enabled, MongoDb will create big journal
468           file it can take time. In a CI environment for example journaling is
469           not necessary.
470         environments:
471           - file: environments/mongodb-nojournal.yaml
472             title: Disable journal in MongoDb
473             description:
474             requires:
475               - overcloud-resource-registry-puppet.yaml
476       - title: Overcloud Steps
477         description: >
478           Specifies hooks/breakpoints where overcloud deployment should stop
479           Allows operator validation between steps, and/or more granular control.
480           Note: the wildcards relate to naming convention for some resource suffixes,
481           e.g see puppet/*-post.yaml, enabling this will mean we wait for
482           a user signal on every *Deployment_StepN resource defined in those files.
483         tags:
484           - no-gui
485         environments:
486           - file: environments/overcloud-steps.yaml
487             title: Overcloud Steps
488             description:
489             requires:
490               - overcloud-resource-registry-puppet.yaml
491       - title: Manage Firewall
492         description:
493         environments:
494           - file: environments/manage-firewall.yaml
495             title: Manage Firewall
496             description:
497             requires:
498               - overcloud-resource-registry-puppet.yaml
499
500   - title: Operational Tools
501     description:
502     environment_groups:
503       - title: Monitoring agents
504         description: Enable monitoring agents
505         environments:
506           - file: environments/monitoring-environment.yaml
507             title: enable monitoring agents
508             description:
509             requires:
510               - overcloud-resource-registry-puppet.yaml
511       - title: Centralized logging support
512         description: Enable centralized logging clients (fluentd)
513         environments:
514           - file: environments/logging-environment.yaml
515             title: Enable fluentd client
516             description:
517             requires:
518               - overcloud-resource-registry-puppet.yaml