Add IPv6 support for the management network
[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: Basic Configuration
45     description:
46     environment_groups:
47       - title:
48         description: Enable basic configuration required for OpenStack Deployment
49         environments:
50           - file: overcloud-resource-registry-puppet.yaml
51             title: Default 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: Docker RDO
66         description: >
67           Docker container with heat agents for containerized compute node
68         environments:
69           - file: environments/docker.yaml
70             title: Docker RDO
71             description:
72             requires:
73               - overcloud-resource-registry-puppet.yaml
74
75   # - title: Network Interface Configuration
76   #   description:
77   #   environment_groups:
78
79   - title: Overlay network Configuration
80     description:
81     environment_groups:
82       - title: Network Isolation
83         description: >
84           Enable the creation of Neutron networks for
85           isolated Overcloud traffic and configure each role to assign ports
86           (related to that role) on these networks.
87         environments:
88           - file: environments/network-isolation.yaml
89             title: Network Isolation
90             description: Enable Network Isolation
91             requires:
92               - overcloud-resource-registry-puppet.yaml
93       - title: Single nic or Bonding
94         description: >
95           Configure roles to use pair of bonded nics or to use Vlans on a
96           single nic. This option assumes use of Network Isolation.
97         environments:
98           - file: environments/net-bond-with-vlans.yaml
99             title: Bond with Vlans
100             description: >
101               Configure each role to use a pair of bonded nics (nic2 and
102               nic3) and configures an IP address on each relevant isolated network
103               for each role. This option assumes use of Network Isolation.
104             requires:
105               - environments/network-isolation.yaml
106               - overcloud-resource-registry-puppet.yaml
107           - file: environments/net-single-nic-with-vlans.yaml
108             title: Single nic with Vlans
109             description: >
110               Configure each role to use Vlans on a single nic for
111               each isolated network. This option assumes use of Network Isolation.
112             requires:
113               - environments/network-isolation.yaml
114               - overcloud-resource-registry-puppet.yaml
115
116   - title: Neutron Plugin Configuration
117     description:
118     environment_groups:
119       - title: BigSwitch extensions or Cisco N1KV backend
120         description:
121         environments:
122           - file: environments/neutron-ml2-bigswitch.yaml
123             title: BigSwitch extensions
124             description: >
125               Enable Big Switch extensions, configured via puppet
126             requires:
127               - overcloud-resource-registry-puppet.yaml
128           - file: environments/neutron-ml2-cisco-n1kv.yaml
129             title: Cisco N1KV backend
130             description: >
131               Enable a Cisco N1KV backend, configured via puppet
132             requires:
133               - overcloud-resource-registry-puppet.yaml
134       - title: Cisco Neutron plugin
135         description: >
136           Enable a Cisco Neutron plugin
137         environments:
138           - file: environments/neutron-ml2-cisco-nexus-ucsm.yaml
139             title: Cisco Neutron plugin
140             description:
141             requires:
142               - overcloud-resource-registry-puppet.yaml
143
144   - title: Storage
145     description:
146     environment_groups:
147       - title: Cinder NetApp backend
148         description: >
149           Enable a Cinder NetApp backend, configured via puppet
150         environments:
151           - file: environments/cinder-netapp-config.yaml
152             title: Cinder NetApp backend
153             description:
154             requires:
155               - overcloud-resource-registry-puppet.yaml
156       - title: Externally managed Ceph
157         description: >
158           Enable the use of an externally managed Ceph cluster
159         environments:
160           - file: environments/puppet-ceph-external.yaml
161             title: Externally managed Ceph
162             description:
163             requires:
164               - overcloud-resource-registry-puppet.yaml
165       - title: Ceph Devel
166         description: >
167           Enable a Ceph storage cluster using the controller and 2 ceph nodes.
168           Rbd backends are enabled for Cinder, Glance, and Nova.
169         environments:
170           - file: environments/puppet-ceph-devel.yaml
171             title: Ceph Devel
172             description:
173             requires:
174               - overcloud-resource-registry-puppet.yaml
175       - title: Storage Environment
176         description: >
177           Can be used to set up storage backends. Defaults to Ceph used as a
178           backend for Cinder, Glance and Nova ephemeral storage. It configures
179           for example which services will use Ceph, or if any of the services
180           will use NFS. And more. Usually requires to be edited by user first.
181         tags:
182           - no-gui
183         environments:
184           - file: environments/storage-environment.yaml
185             title: Storage Environment
186             description:
187             requires:
188               - overcloud-resource-registry-puppet.yaml
189
190   - title: Utilities
191     description:
192     environment_groups:
193       - title: Config Debug
194         description: Enable config management (e.g. Puppet) debugging
195         environments:
196           - file: environments/config-debug.yaml
197             title: Config Debug
198             description:
199             requires:
200               - overcloud-resource-registry-puppet.yaml
201       - title: Disable journal in MongoDb
202         description: >
203           Since, when journaling is enabled, MongoDb will create big journal
204           file it can take time. In a CI environment for example journaling is
205           not necessary.
206         environments:
207           - file: environments/mongodb-nojournal.yaml
208             title: Disable journal in MongoDb
209             description:
210             requires:
211               - overcloud-resource-registry-puppet.yaml
212       - title: Overcloud Steps
213         description: >
214           Specifies hooks/breakpoints where overcloud deployment should stop
215           Allows operator validation between steps, and/or more granular control.
216           Note: the wildcards relate to naming convention for some resource suffixes,
217           e.g see puppet/*-post.yaml, enabling this will mean we wait for
218           a user signal on every *Deployment_StepN resource defined in those files.
219         tags:
220           - no-gui
221         environments:
222           - file: environments/overcloud-steps.yaml
223             title: Overcloud Steps
224             description:
225             requires:
226               - overcloud-resource-registry-puppet.yaml