Add capabilities map

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

It's main purpose is to provide relevant information to the user to guide
him through the deployment options. tripleo-common can use this
information to streamline deployment process on environment and resource
registry level. Heat templates themself aren't currently able to provide
this information.

Change-Id: I82a7ba6defc13ac2efae73a6caa36bfee69dd94b
This commit is contained in:
Jiri Tomasek 2015-11-06 11:54:31 +01:00 committed by Tzu-Mainn Chen
parent 0df1c15898
commit d3cb935941

226
capabilities_map.yaml Normal file
View File

@ -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