diff --git a/capabilities_map.yaml b/capabilities_map.yaml new file mode 100644 index 0000000000..30ee211e56 --- /dev/null +++ b/capabilities_map.yaml @@ -0,0 +1,226 @@ +# This file holds metadata about the capabilities of the tripleo-heat-templates +# repository for deployment using puppet. It groups configuration by topic, +# describes possible combinations of environments and resource capabilities. + +# root_template: identifies repository's root template +# root_environment: identifies root_environment, this one is special in terms of +# order in which the environments are merged before deploying. This one serves as +# a base and it's parameters/resource_registry gets overriden by other environments +# if used. + +# topics: +# High Level grouping by purpose of environments +# Attributes: +# title: (required) +# description: (optional) +# environment_groups: (required) + +# environment_groups: +# Identifies an environment choice. If group includes multiple environments it +# indicates that environments in group are mutually exclusive. +# Attributes: +# title: (optional) +# description: (optional) +# tags: a list of tags to provide aditional information for e.g. filtering (optional) +# environments: (required) + +# environments: +# List of environments in environment group +# Attributes: +# file: a file name including path within repository (required) +# title: (required) +# description: (optional) +# requires: an array of environments which are required by this environment (optional) +# resource_registry: [tbd] (optional) + +# resource_registry: +# [tbd] Each environment can provide options on resource_registry level applicable +# only when that given environment is used. (resource_type of that environment can +# be implemented using multiple templates). + +root_template: overcloud.yaml +root_environment: overcloud-resource-registry-puppet.yaml +topics: + - title: Basic Configuration + description: + environment_groups: + - title: + description: Enable basic configuration required for OpenStack Deployment + environments: + - file: overcloud-resource-registry-puppet.yaml + title: Default Configuration + description: + + - title: Deployment options + description: + environment_groups: + - title: High Availability + description: Enables configuration of an Overcloud controller with Pacemaker + environments: + - file: environments/puppet-pacemaker.yaml + title: Pacemaker + description: Enable configuration of an Overcloud controller with Pacemaker + requires: + - overcloud-resource-registry-puppet.yaml + - title: Docker RDO + description: > + Docker container with heat agents for containerized compute node + environments: + - file: environments/docker-rdo.yaml + title: Docker RDO + description: + requires: + - overcloud-resource-registry-puppet.yaml + + # - title: Network Interface Configuration + # description: + # environment_groups: + + - title: Overlay network Configuration + description: + environment_groups: + - title: Network Isolation + description: > + Enable the creation of Neutron networks for + isolated Overcloud traffic and configure each role to assign ports + (related to that role) on these networks. + environments: + - file: environments/network-isolation.yaml + title: Network Isolation + description: Enable Network Isolation + requires: + - overcloud-resource-registry-puppet.yaml + - title: Single nic or Bonding + description: > + Configure roles to use pair of bonded nics or to use Vlans on a + single nic. This option assumes use of Network Isolation. + environments: + - file: environments/net-bond-with-vlans.yaml + title: Bond with Vlans + description: > + Configure each role to use a pair of bonded nics (nic2 and + nic3) and configures an IP address on each relevant isolated network + for each role. This option assumes use of Network Isolation. + requires: + - environments/network-isolation.yaml + - overcloud-resource-registry-puppet.yaml + - file: environments/net-single-nic-with-vlans.yaml + title: Single nic with Vlans + description: > + Configure each role to use Vlans on a single nic for + each isolated network. This option assumes use of Network Isolation. + requires: + - environments/network-isolation.yaml + - overcloud-resource-registry-puppet.yaml + + - title: Neutron Plugin Configuration + description: + environment_groups: + - title: BigSwitch extensions or Cisco N1KV backend + description: + environments: + - file: environments/neutron-ml2-bigswitch.yaml + title: BigSwitch extensions + description: > + Enable Big Switch extensions, configured via puppet + requires: + - overcloud-resource-registry-puppet.yaml + - file: environments/neutron-ml2-cisco-n1kv.yaml + title: Cisco N1KV backend + description: > + Enable a Cisco N1KV backend, configured via puppet + requires: + - overcloud-resource-registry-puppet.yaml + - title: Cisco Neutron plugin + description: > + Enable a Cisco Neutron plugin + environments: + - file: environments/neutron-ml2-cisco-nexus-ucsm.yaml + title: Cisco Neutron plugin + description: + requires: + - overcloud-resource-registry-puppet.yaml + + - title: Storage + description: + environment_groups: + - title: Cinder NetApp backend + description: > + Enable a Cinder NetApp backend, configured via puppet + environments: + - file: environments/cinder-netapp-config.yaml + title: Cinder NetApp backend + description: + requires: + - overcloud-resource-registry-puppet.yaml + - title: Externally managed Ceph + description: > + Enable the use of an externally managed Ceph cluster + environments: + - file: environments/puppet-ceph-external.yaml + title: Externally managed Ceph + description: + requires: + - overcloud-resource-registry-puppet.yaml + - title: Ceph Devel + description: > + Enable a Ceph storage cluster using the controller and 2 ceph nodes. + Rbd backends are enabled for Cinder, Glance, and Nova. + environments: + - file: environments/puppet-ceph-devel.yaml + title: Ceph Devel + description: + requires: + - overcloud-resource-registry-puppet.yaml + - title: Storage Environment + description: > + Can be used to set up storage backends. Defaults to Ceph used as a + backend for Cinder, Glance and Nova ephemeral storage. It configures + for example which services will use Ceph, or if any of the services + will use NFS. And more. Usually requires to be edited by user first. + tags: + - no-gui + environments: + - file: environments/storage-environment.yaml + title: Storage Environment + description: + requires: + - overcloud-resource-registry-puppet.yaml + + - title: Utilities + description: + environment_groups: + - title: Config Debug + description: Enable config management (e.g. Puppet) debugging + environments: + - file: environments/config-debug.yaml + title: Config Debug + description: + requires: + - overcloud-resource-registry-puppet.yaml + - title: Disable journal in MongoDb + description: > + Since, when journaling is enabled, MongoDb will create big journal + file it can take time. In a CI environment for example journaling is + not necessary. + environments: + - file: environments/mongodb-nojournal.yaml + title: Disable journal in MongoDb + description: + requires: + - overcloud-resource-registry-puppet.yaml + - title: Overcloud Steps + description: > + Specifies hooks/breakpoints where overcloud deployment should stop + Allows operator validation between steps, and/or more granular control. + Note: the wildcards relate to naming convention for some resource suffixes, + e.g see puppet/*-post.yaml, enabling this will mean we wait for + a user signal on every *Deployment_StepN resource defined in those files. + tags: + - no-gui + environments: + - file: environments/overcloud-steps.yaml + title: Overcloud Steps + description: + requires: + - overcloud-resource-registry-puppet.yaml