Standardize example role definitions
authorAlex Schultz <aschultz@redhat.com>
Tue, 14 Mar 2017 22:36:02 +0000 (16:36 -0600)
committerAlex Schultz <aschultz@redhat.com>
Wed, 7 Jun 2017 20:20:03 +0000 (20:20 +0000)
As we create new standard roles, we should include them from a single
location for ease of use and to reduce the duplication of the role
definitions elsewhere. This change adds a roles folder to the THT that
can be used with the new roles commands in python-tripleoclient by the
end user to generate a roles_data.yaml from a standard set of roles.

Depends-On: I326bae5bdee088e03aa89128d253612ef89e5c0c
Change-Id: Iad3e9b215c6f21ba761c8360bb7ed531e34520e6
Related-Blueprint: example-custom-role-environments

16 files changed:
README.rst
releasenotes/notes/example-roles-d27c748090f6a154.yaml [new file with mode: 0644]
roles/BlockStorage.yaml [new file with mode: 0644]
roles/CephStorage.yaml [new file with mode: 0644]
roles/Compute.yaml [new file with mode: 0644]
roles/Controller.yaml [new file with mode: 0644]
roles/ControllerOpenstack.yaml [new file with mode: 0644]
roles/Database.yaml [new file with mode: 0644]
roles/Messaging.yaml [new file with mode: 0644]
roles/Networker.yaml [new file with mode: 0644]
roles/ObjectStorage.yaml [new file with mode: 0644]
roles/README.rst [new file with mode: 0644]
roles/Telemetry.yaml [new file with mode: 0644]
roles/Undercloud.yaml [new file with mode: 0644]
roles_data.yaml
roles_data_undercloud.yaml

index 6a753c0..988a0d8 100644 (file)
@@ -54,6 +54,9 @@ A description of the directory layout in TripleO Heat Templates.
  * validation-scripts: validation scripts useful to all deployment
                        configurations
 
+ * roles: example roles that can be used with the tripleoclient to generate
+          a roles_data.yaml for a deployment See the
+          `roles/README.rst <roles/README.rst>`_ for additional details.
 
 Service testing matrix
 ----------------------
diff --git a/releasenotes/notes/example-roles-d27c748090f6a154.yaml b/releasenotes/notes/example-roles-d27c748090f6a154.yaml
new file mode 100644 (file)
index 0000000..e27674d
--- /dev/null
@@ -0,0 +1,6 @@
+---
+features:
+  - |
+    A set of example roles has been created in the roles folder in
+    tripleo-heat-templates.  Management of services for roles should occur
+    in these role files rather than in roles_data.yaml.
diff --git a/roles/BlockStorage.yaml b/roles/BlockStorage.yaml
new file mode 100644 (file)
index 0000000..d242a5b
--- /dev/null
@@ -0,0 +1,24 @@
+###############################################################################
+# Role: BlockStorage                                                          #
+###############################################################################
+- name: BlockStorage
+  description: |
+    Cinder Block Storage node role
+  ServicesDefault:
+    - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::BlockStorageCinderVolume
+    - OS::TripleO::Services::CACerts
+    - OS::TripleO::Services::CertmongerUser
+    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::Docker
+    - OS::TripleO::Services::FluentdClient
+    - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::MySQLClient
+    - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::Securetty
+    - OS::TripleO::Services::SensuClient
+    - OS::TripleO::Services::Snmp
+    - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::TripleoPackages
diff --git a/roles/CephStorage.yaml b/roles/CephStorage.yaml
new file mode 100644 (file)
index 0000000..d3de6ba
--- /dev/null
@@ -0,0 +1,24 @@
+###############################################################################
+# Role: CephStorage                                                           #
+###############################################################################
+- name: CephStorage
+  description: |
+    Ceph OSD Storage node role
+  ServicesDefault:
+    - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::CACerts
+    - OS::TripleO::Services::CephOSD
+    - OS::TripleO::Services::CertmongerUser
+    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::Docker
+    - OS::TripleO::Services::FluentdClient
+    - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::MySQLClient
+    - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::Securetty
+    - OS::TripleO::Services::SensuClient
+    - OS::TripleO::Services::Snmp
+    - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::TripleoPackages
diff --git a/roles/Compute.yaml b/roles/Compute.yaml
new file mode 100644 (file)
index 0000000..73ec659
--- /dev/null
@@ -0,0 +1,40 @@
+###############################################################################
+# Role: Compute                                                               #
+###############################################################################
+- name: Compute
+  description: |
+    Basic Compute Node role
+  CountDefault: 1
+  HostnameFormatDefault: '%stackname%-novacompute-%index%'
+  disable_upgrade_deployment: True
+  ServicesDefault:
+    - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::CACerts
+    - OS::TripleO::Services::CephClient
+    - OS::TripleO::Services::CephExternal
+    - OS::TripleO::Services::CertmongerUser
+    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::ComputeCeilometerAgent
+    - OS::TripleO::Services::ComputeNeutronCorePlugin
+    - OS::TripleO::Services::ComputeNeutronL3Agent
+    - OS::TripleO::Services::ComputeNeutronMetadataAgent
+    - OS::TripleO::Services::ComputeNeutronOvsAgent
+    - OS::TripleO::Services::Docker
+    - OS::TripleO::Services::FluentdClient
+    - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::MySQLClient
+    - OS::TripleO::Services::NeutronLinuxbridgeAgent
+    - OS::TripleO::Services::NeutronSriovAgent
+    - OS::TripleO::Services::NeutronVppAgent
+    - OS::TripleO::Services::NovaCompute
+    - OS::TripleO::Services::NovaLibvirt
+    - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::OpenDaylightOvs
+    - OS::TripleO::Services::Securetty
+    - OS::TripleO::Services::SensuClient
+    - OS::TripleO::Services::Snmp
+    - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::TripleoPackages
+    - OS::TripleO::Services::Vpp
diff --git a/roles/Controller.yaml b/roles/Controller.yaml
new file mode 100644 (file)
index 0000000..7511d4c
--- /dev/null
@@ -0,0 +1,120 @@
+###############################################################################
+# Role: Controller                                                            #
+###############################################################################
+- name: Controller
+  description: |
+    Controller role that has all the controler services loaded and handles
+    Database, Messaging and Network functions.
+  CountDefault: 1
+  tags:
+    - primary
+    - controller
+  HostnameFormatDefault: '%stackname%-controller-%index%'
+  ServicesDefault:
+    - OS::TripleO::Services::AodhApi
+    - OS::TripleO::Services::AodhEvaluator
+    - OS::TripleO::Services::AodhListener
+    - OS::TripleO::Services::AodhNotifier
+    - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::BarbicanApi
+    - OS::TripleO::Services::CACerts
+    - OS::TripleO::Services::CeilometerAgentCentral
+    - OS::TripleO::Services::CeilometerAgentNotification
+    # FIXME: This service was disabled in Pike and this entry should be removed
+    # in Queens.
+    - OS::TripleO::Services::CeilometerExpirer
+    - OS::TripleO::Services::CephExternal
+    - OS::TripleO::Services::CephMds
+    - OS::TripleO::Services::CephMon
+    - OS::TripleO::Services::CephRbdMirror
+    - OS::TripleO::Services::CephRgw
+    - OS::TripleO::Services::CertmongerUser
+    - OS::TripleO::Services::CinderApi
+    - OS::TripleO::Services::CinderBackendDellPs
+    - OS::TripleO::Services::CinderBackendDellSc
+    - OS::TripleO::Services::CinderBackendNetApp
+    - OS::TripleO::Services::CinderBackendScaleIO
+    - OS::TripleO::Services::CinderBackup
+    - OS::TripleO::Services::CinderHPELeftHandISCSI
+    - OS::TripleO::Services::CinderScheduler
+    - OS::TripleO::Services::CinderVolume
+    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::Congress
+    - OS::TripleO::Services::Docker
+    - OS::TripleO::Services::Ec2Api
+    - OS::TripleO::Services::Etcd
+    - OS::TripleO::Services::ExternalSwiftProxy
+    - OS::TripleO::Services::FluentdClient
+    - OS::TripleO::Services::GlanceApi
+    - OS::TripleO::Services::GnocchiApi
+    - OS::TripleO::Services::GnocchiMetricd
+    - OS::TripleO::Services::GnocchiStatsd
+    - OS::TripleO::Services::HAproxy
+    - OS::TripleO::Services::HeatApi
+    - OS::TripleO::Services::HeatApiCfn
+    - OS::TripleO::Services::HeatApiCloudwatch
+    - OS::TripleO::Services::HeatEngine
+    - OS::TripleO::Services::Horizon
+    - OS::TripleO::Services::IronicApi
+    - OS::TripleO::Services::IronicConductor
+    - OS::TripleO::Services::Keepalived
+    - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::Keystone
+    - OS::TripleO::Services::ManilaApi
+    - OS::TripleO::Services::ManilaBackendCephFs
+    - OS::TripleO::Services::ManilaBackendGeneric
+    - OS::TripleO::Services::ManilaBackendNetapp
+    - OS::TripleO::Services::ManilaScheduler
+    - OS::TripleO::Services::ManilaShare
+    - OS::TripleO::Services::Memcached
+    - OS::TripleO::Services::MongoDb
+    - OS::TripleO::Services::MySQL
+    - OS::TripleO::Services::MySQLClient
+    - OS::TripleO::Services::NeutronApi
+    - OS::TripleO::Services::NeutronBgpVpnApi
+    - OS::TripleO::Services::NeutronCorePlugin
+    - OS::TripleO::Services::NeutronDhcpAgent
+    - OS::TripleO::Services::NeutronL2gwAgent
+    - OS::TripleO::Services::NeutronL2gwApi
+    - OS::TripleO::Services::NeutronL3Agent
+    - OS::TripleO::Services::NeutronLinuxbridgeAgent
+    - OS::TripleO::Services::NeutronMetadataAgent
+    - OS::TripleO::Services::NeutronML2FujitsuCfab
+    - OS::TripleO::Services::NeutronML2FujitsuFossw
+    - OS::TripleO::Services::NeutronOvsAgent
+    - OS::TripleO::Services::NeutronVppAgent
+    - OS::TripleO::Services::NovaApi
+    - OS::TripleO::Services::NovaConductor
+    - OS::TripleO::Services::NovaConsoleauth
+    - OS::TripleO::Services::NovaIronic
+    - OS::TripleO::Services::NovaMetadata
+    - OS::TripleO::Services::NovaPlacement
+    - OS::TripleO::Services::NovaScheduler
+    - OS::TripleO::Services::NovaVncProxy
+    - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::OctaviaApi
+    - OS::TripleO::Services::OctaviaHealthManager
+    - OS::TripleO::Services::OctaviaHousekeeping
+    - OS::TripleO::Services::OctaviaWorker
+    - OS::TripleO::Services::OpenDaylightApi
+    - OS::TripleO::Services::OpenDaylightOvs
+    - OS::TripleO::Services::OVNDBs
+    - OS::TripleO::Services::Pacemaker
+    - OS::TripleO::Services::PankoApi
+    - OS::TripleO::Services::RabbitMQ
+    - OS::TripleO::Services::Redis
+    - OS::TripleO::Services::SaharaApi
+    - OS::TripleO::Services::SaharaEngine
+    - OS::TripleO::Services::Securetty
+    - OS::TripleO::Services::SensuClient
+    - OS::TripleO::Services::Snmp
+    - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::SwiftProxy
+    - OS::TripleO::Services::SwiftRingBuilder
+    - OS::TripleO::Services::SwiftStorage
+    - OS::TripleO::Services::Tacker
+    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::TripleoPackages
+    - OS::TripleO::Services::Vpp
+    - OS::TripleO::Services::Zaqar
diff --git a/roles/ControllerOpenstack.yaml b/roles/ControllerOpenstack.yaml
new file mode 100644 (file)
index 0000000..2d1702e
--- /dev/null
@@ -0,0 +1,98 @@
+###############################################################################
+# Role: ControllerOpenstack                                                   #
+###############################################################################
+- name: ControllerOpenstack
+  description: |
+    Controller role that does not contain the database, messaging and networking
+    components. Use in combination with the Database, Messaging and Networker
+    roles.
+  tags:
+    - primary
+    - controller
+  HostnameFormatDefault: '%stackname%-controller-%index%'
+  ServicesDefault:
+    - OS::TripleO::Services::AodhApi
+    - OS::TripleO::Services::AodhEvaluator
+    - OS::TripleO::Services::AodhListener
+    - OS::TripleO::Services::AodhNotifier
+    - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::BarbicanApi
+    - OS::TripleO::Services::CACerts
+    - OS::TripleO::Services::CeilometerAgentCentral
+    - OS::TripleO::Services::CeilometerAgentNotification
+    - OS::TripleO::Services::CeilometerApi
+    - OS::TripleO::Services::CeilometerExpirer
+    - OS::TripleO::Services::CephExternal
+    - OS::TripleO::Services::CephMds
+    - OS::TripleO::Services::CephMon
+    - OS::TripleO::Services::CephRbdMirror
+    - OS::TripleO::Services::CephRgw
+    - OS::TripleO::Services::CinderApi
+    - OS::TripleO::Services::CinderBackup
+    - OS::TripleO::Services::CinderHPELeftHandISCSI
+    - OS::TripleO::Services::CinderScheduler
+    - OS::TripleO::Services::CinderVolume
+    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::Congress
+    - OS::TripleO::Services::Docker
+    - OS::TripleO::Services::Ec2Api
+    - OS::TripleO::Services::Etcd
+    - OS::TripleO::Services::FluentdClient
+    - OS::TripleO::Services::GlanceApi
+    - OS::TripleO::Services::GnocchiApi
+    - OS::TripleO::Services::GnocchiMetricd
+    - OS::TripleO::Services::GnocchiStatsd
+    - OS::TripleO::Services::HAproxy
+    - OS::TripleO::Services::HeatApi
+    - OS::TripleO::Services::HeatApiCfn
+    - OS::TripleO::Services::HeatApiCloudwatch
+    - OS::TripleO::Services::HeatEngine
+    - OS::TripleO::Services::Horizon
+    - OS::TripleO::Services::IronicApi
+    - OS::TripleO::Services::IronicConductor
+    - OS::TripleO::Services::Keepalived
+    - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::Keystone
+    - OS::TripleO::Services::ManilaApi
+    - OS::TripleO::Services::ManilaBackendCephFs
+    - OS::TripleO::Services::ManilaBackendGeneric
+    - OS::TripleO::Services::ManilaBackendNetapp
+    - OS::TripleO::Services::ManilaScheduler
+    - OS::TripleO::Services::ManilaShare
+    - OS::TripleO::Services::Memcached
+    - OS::TripleO::Services::MongoDb
+    - OS::TripleO::Services::MySQLClient
+    - OS::TripleO::Services::NovaApi
+    - OS::TripleO::Services::NovaConductor
+    - OS::TripleO::Services::NovaConsoleauth
+    - OS::TripleO::Services::NovaIronic
+    - OS::TripleO::Services::NovaMetadata
+    - OS::TripleO::Services::NovaPlacement
+    - OS::TripleO::Services::NovaScheduler
+    - OS::TripleO::Services::NovaVncProxy
+    - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::OctaviaApi
+    - OS::TripleO::Services::OctaviaHealthManager
+    - OS::TripleO::Services::OctaviaHousekeeping
+    - OS::TripleO::Services::OctaviaWorker
+    - OS::TripleO::Services::OpenDaylightApi
+    - OS::TripleO::Services::OpenDaylightOvs
+    - OS::TripleO::Services::OVNDBs
+    - OS::TripleO::Services::Pacemaker
+    - OS::TripleO::Services::PankoApi
+    - OS::TripleO::Services::Redis
+    - OS::TripleO::Services::SaharaApi
+    - OS::TripleO::Services::SaharaEngine
+    - OS::TripleO::Services::SensuClient
+    - OS::TripleO::Services::Snmp
+    - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::SwiftProxy
+    - OS::TripleO::Services::SwiftRingBuilder
+    - OS::TripleO::Services::SwiftStorage
+    - OS::TripleO::Services::Tacker
+    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::TripleoPackages
+    - OS::TripleO::Services::Vpp
+    - OS::TripleO::Services::Zaqar
+
diff --git a/roles/Database.yaml b/roles/Database.yaml
new file mode 100644 (file)
index 0000000..3ef751a
--- /dev/null
@@ -0,0 +1,23 @@
+###############################################################################
+# Role: Database                                                              #
+###############################################################################
+- name: Database
+  description: |
+    Standalone database role with the database being managed via Pacemaker
+  HostnameFormatDefault: '%stackname%-database-%index%'
+  ServicesDefault:
+    - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::CACerts
+    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::FluentdClient
+    - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::MySQL
+    - OS::TripleO::Services::MySQLClient
+    - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::Pacemaker
+    - OS::TripleO::Services::SensuClient
+    - OS::TripleO::Services::Snmp
+    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::TripleoPackages
+
diff --git a/roles/Messaging.yaml b/roles/Messaging.yaml
new file mode 100644 (file)
index 0000000..cbef61a
--- /dev/null
@@ -0,0 +1,22 @@
+###############################################################################
+# Role: Messaging                                                             #
+###############################################################################
+- name: Messaging
+  description: |
+    Standalone messaging role with RabbitMQ being managed via Pacemaker
+  HostnameFormatDefault: '%stackname%-messaging-%index%'
+  ServicesDefault:
+    - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::CACerts
+    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::FluentdClient
+    - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::Pacemaker
+    - OS::TripleO::Services::RabbitMQ
+    - OS::TripleO::Services::SensuClient
+    - OS::TripleO::Services::Snmp
+    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::TripleoPackages
+
diff --git a/roles/Networker.yaml b/roles/Networker.yaml
new file mode 100644 (file)
index 0000000..b393fa7
--- /dev/null
@@ -0,0 +1,36 @@
+###############################################################################
+# Role: Networker                                                             #
+###############################################################################
+- name: Networker
+  description: |
+    Standalone networking role to run Neutron services their own. Includes
+    Pacemaker integration via PacemakerRemote
+  HostnameFormatDefault: '%stackname%-networker-%index%'
+  ServicesDefault:
+    - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::CACerts
+    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::FluentdClient
+    - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::MySQLClient
+    - OS::TripleO::Services::NeutronApi
+    - OS::TripleO::Services::NeutronBgpvpnApi
+    - OS::TripleO::Services::NeutronCorePlugin
+    - OS::TripleO::Services::NeutronDhcpAgent
+    - OS::TripleO::Services::NeutronL2gwAgent
+    - OS::TripleO::Services::NeutronL2gwApi
+    - OS::TripleO::Services::NeutronL3Agent
+    - OS::TripleO::Services::NeutronMetadataAgent
+    - OS::TripleO::Services::NeutronML2FujitsuCfab
+    - OS::TripleO::Services::NeutronML2FujitsuFossw
+    - OS::TripleO::Services::NeutronOvsAgent
+    - OS::TripleO::Services::NeutronVppAgent
+    - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::OpenDaylightOvs
+    - OS::TripleO::Services::PacemakerRemote
+    - OS::TripleO::Services::SensuClient
+    - OS::TripleO::Services::Snmp
+    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::TripleoPackages
+
diff --git a/roles/ObjectStorage.yaml b/roles/ObjectStorage.yaml
new file mode 100644 (file)
index 0000000..3741ca6
--- /dev/null
@@ -0,0 +1,26 @@
+###############################################################################
+# Role: ObjectStorage                                                         #
+###############################################################################
+- name: ObjectStorage
+  description: |
+    Swift Object Storage node role
+  disable_upgrade_deployment: True
+  ServicesDefault:
+    - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::CACerts
+    - OS::TripleO::Services::CertmongerUser
+    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::Docker
+    - OS::TripleO::Services::FluentdClient
+    - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::MySQLClient
+    - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::Securetty
+    - OS::TripleO::Services::SensuClient
+    - OS::TripleO::Services::Snmp
+    - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::SwiftRingBuilder
+    - OS::TripleO::Services::SwiftStorage
+    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::TripleoPackages
diff --git a/roles/README.rst b/roles/README.rst
new file mode 100644 (file)
index 0000000..6c74233
--- /dev/null
@@ -0,0 +1,206 @@
+Roles
+=====
+
+The yaml files in this directory can be combined into a single roles_data.yaml
+and be used with TripleO to create custom deployments.
+
+Use tripleoclient to build your own custom roles_data.yaml for your
+environment.
+
+roles_data.yaml
+---------------
+
+The roles_data.yaml specifies which roles (groups of nodes) will be deployed.
+Note this file is used as an input the the various \*.j2.yaml jinja2 templates,
+so that they are converted into \*.yaml during the plan creation. This occurs
+via a mistral action/workflow. The file format of this file is a yaml list.
+
+Role YAML files
+===============
+
+Each role yaml file should contain only a single role. The filename should
+match the role name. The name of the role is  mandatory and must be unique.
+
+The role files in this folder should contain at least a role name and the
+default list of services for the role.
+
+Role Options
+------------
+
+* CountDefault: (number) optional, default number of nodes, defaults to 0
+  sets the default for the {{role.name}}Count parameter in overcloud.yaml
+
+* HostnameFormatDefault: (string) optional default format string for hostname
+  defaults to '%stackname%-{{role.name.lower()}}-%index%'
+  sets the default for {{role.name}}HostnameFormat parameter in overcloud.yaml
+
+* disable_constraints: (boolean) optional, whether to disable Nova and Glance
+  constraints for each role specified in the templates.
+
+* disable_upgrade_deployment: (boolean) optional, whether to run the
+  ansible upgrade steps for all services that are deployed on the role. If set
+  to True, the operator will drive the upgrade for this role's nodes.
+
+* upgrade_batch_size: (number): batch size for upgrades where tasks are
+  specified by services to run in batches vs all nodes at once.
+  This defaults to 1, but larger batches may be specified here.
+
+* ServicesDefault: (list) optional default list of services to be deployed
+  on the role, defaults to an empty list. Sets the default for the
+  {{role.name}}Services parameter in overcloud.yaml
+
+* tags: (list) list of tags used by other parts of the deployment process to
+  find the role for a specific type of functionality. Currently a role
+  with both 'primary' and 'controller' is used as the primary role for the
+  deployment process. If no roles have have 'primary' and 'controller', the
+  first role in this file is used as the primary role.
+
+* description: (string) as few sentences describing the role and information
+  pertaining to the usage of the role.
+
+Working with Roles
+==================
+The tripleoclient provides a series of commands that can be used to view
+roles and generate a roles_data.yaml file for deployment.
+
+Listing Available Roles
+-----------------------
+The ``openstack overcloud role list`` command can be used to view the list
+of roles provided by tripleo-heat-templates.
+
+Usage
+^^^^^
+.. code-block::
+
+  usage: openstack overcloud role list [-h] [--roles-path <roles directory>]
+
+  List availables roles
+
+  optional arguments:
+    -h, --help            show this help message and exit
+    --roles-path <roles directory>
+                          Filesystem path containing the role yaml files. By
+                          default this is /usr/share/openstack-tripleo-heat-
+                          templates/roles
+
+Example
+^^^^^^^
+.. code-block::
+
+  [user@host ~]$ openstack overcloud role list
+  BlockStorage
+  CephStorage
+  Compute
+  Controller
+  ControllerOpenstack
+  Database
+  Messaging
+  Networker
+  ObjectStorage
+  Telemetry
+  Undercloud
+
+Viewing Role Details
+--------------------
+The ``openstack overcloud role show`` command can be used as a quick way to
+view some of the information about a role.
+
+Usage
+^^^^^
+.. code-block::
+
+  usage: openstack overcloud role show [-h] [--roles-path <roles directory>]
+                                       <role>
+
+  Show information about a given role
+
+  positional arguments:
+    <role>                Role to display more information about.
+
+  optional arguments:
+    -h, --help            show this help message and exit
+    --roles-path <roles directory>
+                          Filesystem path containing the role yaml files. By
+                          default this is /usr/share/openstack-tripleo-heat-
+                          templates/roles
+
+Example
+^^^^^^^
+.. code-block::
+
+  [user@host ~]$ openstack overcloud role show Compute
+  ###############################################################################
+  # Role Data for 'Compute'
+  ###############################################################################
+  HostnameFormatDefault: '%stackname%-novacompute-%index%'
+  ServicesDefault:
+   * OS::TripleO::Services::AuditD
+   * OS::TripleO::Services::CACerts
+   * OS::TripleO::Services::CephClient
+   * OS::TripleO::Services::CephExternal
+   * OS::TripleO::Services::CertmongerUser
+   * OS::TripleO::Services::Collectd
+   * OS::TripleO::Services::ComputeCeilometerAgent
+   * OS::TripleO::Services::ComputeNeutronCorePlugin
+   * OS::TripleO::Services::ComputeNeutronL3Agent
+   * OS::TripleO::Services::ComputeNeutronMetadataAgent
+   * OS::TripleO::Services::ComputeNeutronOvsAgent
+   * OS::TripleO::Services::Docker
+   * OS::TripleO::Services::FluentdClient
+   * OS::TripleO::Services::Kernel
+   * OS::TripleO::Services::MySQLClient
+   * OS::TripleO::Services::NeutronSriovAgent
+   * OS::TripleO::Services::NeutronVppAgent
+   * OS::TripleO::Services::NovaCompute
+   * OS::TripleO::Services::NovaLibvirt
+   * OS::TripleO::Services::Ntp
+   * OS::TripleO::Services::OpenDaylightOvs
+   * OS::TripleO::Services::Securetty
+   * OS::TripleO::Services::SensuClient
+   * OS::TripleO::Services::Snmp
+   * OS::TripleO::Services::Sshd
+   * OS::TripleO::Services::Timezone
+   * OS::TripleO::Services::TripleoFirewall
+   * OS::TripleO::Services::TripleoPackages
+   * OS::TripleO::Services::Vpp
+  name: 'Compute'
+
+Generate roles_data.yaml
+------------------------
+The ``openstack overcloud roles generate`` command can be used to generate
+a roles_data.yaml file for deployments.
+
+Usage
+^^^^^
+.. code-block::
+
+  usage: openstack overcloud roles generate [-h]
+                                            [--roles-path <roles directory>]
+                                            [-o <output file>]
+                                            <role> [<role> ...]
+
+  Generate roles_data.yaml file
+
+  positional arguments:
+    <role>                List of roles to use to generate the roles_data.yaml
+                          file for the deployment. NOTE: Ordering is important
+                          if no role has the "primary" and "controller" tags. If
+                          no role is tagged then the first role listed will be
+                          considered the primary role. This usually is the
+                          controller role.
+
+  optional arguments:
+    -h, --help            show this help message and exit
+    --roles-path <roles directory>
+                          Filesystem path containing the role yaml files. By
+                          default this is /usr/share/openstack-tripleo-heat-
+                          templates/roles
+    -o <output file>, --output-file <output file>
+                          File to capture all output to. For example,
+                          roles_data.yaml
+
+Example
+^^^^^^^
+.. code-block::
+
+  [user@host ~]$ openstack overcloud roles generate -o roles_data.yaml Controller Compute BlockStorage ObjectStorage CephStorage
diff --git a/roles/Telemetry.yaml b/roles/Telemetry.yaml
new file mode 100644 (file)
index 0000000..0f60364
--- /dev/null
@@ -0,0 +1,30 @@
+###############################################################################
+# Role: Telemetry                                                             #
+###############################################################################
+- name: Telemetry
+  description: |
+    Telemetry role that has all the telemetry services.
+  HostnameFormatDefault: '%stackname%-telemetry-%index%'
+  ServicesDefault:
+    - OS::TripleO::Services::AodhApi
+    - OS::TripleO::Services::AodhEvaluator
+    - OS::TripleO::Services::AodhListener
+    - OS::TripleO::Services::AodhNotifier
+    - OS::TripleO::Services::CeilometerAgentCentral
+    - OS::TripleO::Services::CeilometerAgentNotification
+    - OS::TripleO::Services::CeilometerApi
+    - OS::TripleO::Services::CeilometerExpirer
+    - OS::TripleO::Services::GnocchiApi
+    - OS::TripleO::Services::GnocchiMetricd
+    - OS::TripleO::Services::GnocchiStatsd
+    - OS::TripleO::Services::Keystone
+    - OS::TripleO::Services::MongoDb
+    - OS::TripleO::Services::MySQL
+    - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::PankoApi
+    - OS::TripleO::Services::RabbitMQ
+    - OS::TripleO::Services::Redis
+    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::TripleoPackages
+
diff --git a/roles/Undercloud.yaml b/roles/Undercloud.yaml
new file mode 100644 (file)
index 0000000..0a9bcad
--- /dev/null
@@ -0,0 +1,55 @@
+###############################################################################
+# Role: Undercloud                                                            #
+###############################################################################
+- name: Undercloud
+  description: |
+    EXPERIMENTAL. A role to deploy the undercloud via heat using the 'openstack
+    undercloud deploy' command.
+  CountDefault: 1
+  disable_constraints: True
+  tags:
+    - primary
+    - controller
+  ServicesDefault:
+    - OS::TripleO::Services::Apache
+    - OS::TripleO::Services::GlanceApi
+    - OS::TripleO::Services::HeatApi
+    - OS::TripleO::Services::HeatApiCfn
+    - OS::TripleO::Services::HeatEngine
+    - OS::TripleO::Services::IronicApi
+    - OS::TripleO::Services::IronicConductor
+    - OS::TripleO::Services::IronicPxe
+    - OS::TripleO::Services::Keystone
+    - OS::TripleO::Services::Memcached
+    - OS::TripleO::Services::MistralApi
+    - OS::TripleO::Services::MistralEngine
+    - OS::TripleO::Services::MistralExecutor
+    - OS::TripleO::Services::MongoDb
+    - OS::TripleO::Services::MySQL
+    - OS::TripleO::Services::NeutronApi
+    - OS::TripleO::Services::NeutronCorePlugin
+    - OS::TripleO::Services::NeutronDhcpAgent
+    - OS::TripleO::Services::NeutronOvsAgent
+    - OS::TripleO::Services::NeutronServer
+    - OS::TripleO::Services::NovaApi
+    - OS::TripleO::Services::NovaConductor
+    - OS::TripleO::Services::NovaIronic
+    - OS::TripleO::Services::NovaMetadata
+    - OS::TripleO::Services::NovaPlacement
+    - OS::TripleO::Services::NovaScheduler
+    - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::RabbitMQ
+    - OS::TripleO::Services::SwiftProxy
+    - OS::TripleO::Services::SwiftRingBuilder
+    - OS::TripleO::Services::SwiftStorage
+    - OS::TripleO::Services::UndercloudAodhApi
+    - OS::TripleO::Services::UndercloudAodhEvaluator
+    - OS::TripleO::Services::UndercloudAodhListener
+    - OS::TripleO::Services::UndercloudAodhNotifier
+    - OS::TripleO::Services::UndercloudCeilometerAgentCentral
+    - OS::TripleO::Services::UndercloudCeilometerAgentNotification
+    - OS::TripleO::Services::UndercloudGnocchiApi
+    - OS::TripleO::Services::UndercloudGnocchiMetricd
+    - OS::TripleO::Services::UndercloudGnocchiStatsd
+    - OS::TripleO::Services::UndercloudPankoApi
+    - OS::TripleO::Services::Zaqar
index 86cd3f0..c536e83 100644 (file)
-# Specifies which roles (groups of nodes) will be deployed
-# Note this is used as an input to the various *.j2.yaml
-# jinja2 templates, so that they are converted into *.yaml
-# during the plan creation (via a mistral action/workflow).
-#
-# The format is a list, with the following format:
-#
-# * name: (string) mandatory, name of the role, must be unique
-#
-# CountDefault: (number) optional, default number of nodes, defaults to 0
-# sets the default for the {{role.name}}Count parameter in overcloud.yaml
-#
-# HostnameFormatDefault: (string) optional default format string for hostname
-# defaults to '%stackname%-{{role.name.lower()}}-%index%'
-# sets the default for {{role.name}}HostnameFormat parameter in overcloud.yaml
-#
-# disable_constraints: (boolean) optional, whether to disable Nova and Glance
-# constraints for each role specified in the templates.
-#
-# disable_upgrade_deployment: (boolean) optional, whether to run the
-# ansible upgrade steps for all services that are deployed on the role. If set
-# to True, the operator will drive the upgrade for this role's nodes.
-#
-# upgrade_batch_size: (number): batch size for upgrades where tasks are
-# specified by services to run in batches vs all nodes at once.
-# This defaults to 1, but larger batches may be specified here.
-#
-# ServicesDefault: (list) optional default list of services to be deployed
-# on the role, defaults to an empty list. Sets the default for the
-# {{role.name}}Services parameter in overcloud.yaml
-#
-# tags: (list) list of tags used by other parts of the deployment process to
-# find the role for a specific type of functionality. Currently a role
-# with both 'primary' and 'controller' is used as the primary role for the
-# deployment process. If no roles have have 'primary' and 'controller', the
-# first role in this file is used as the primary role.
-#
+###############################################################################
+# File generated by tripleoclient
+###############################################################################
+###############################################################################
+# Role: Controller                                                            #
+###############################################################################
 - name: Controller
+  description: |
+    Controller role that has all the controler services loaded and handles
+    Database, Messaging and Network functions.
   CountDefault: 1
   tags:
     - primary
     - controller
+  HostnameFormatDefault: '%stackname%-controller-%index%'
   ServicesDefault:
+    - OS::TripleO::Services::AodhApi
+    - OS::TripleO::Services::AodhEvaluator
+    - OS::TripleO::Services::AodhListener
+    - OS::TripleO::Services::AodhNotifier
+    - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::BarbicanApi
     - OS::TripleO::Services::CACerts
-    - OS::TripleO::Services::CertmongerUser
+    - OS::TripleO::Services::CeilometerAgentCentral
+    - OS::TripleO::Services::CeilometerAgentNotification
+    # FIXME: This service was disabled in Pike and this entry should be removed
+    # in Queens.
+    - OS::TripleO::Services::CeilometerExpirer
+    - OS::TripleO::Services::CephExternal
     - OS::TripleO::Services::CephMds
     - OS::TripleO::Services::CephMon
-    - OS::TripleO::Services::CephExternal
     - OS::TripleO::Services::CephRbdMirror
     - OS::TripleO::Services::CephRgw
+    - OS::TripleO::Services::CertmongerUser
     - OS::TripleO::Services::CinderApi
-    - OS::TripleO::Services::CinderBackup
-    - OS::TripleO::Services::CinderScheduler
-    - OS::TripleO::Services::CinderVolume
     - OS::TripleO::Services::CinderBackendDellPs
     - OS::TripleO::Services::CinderBackendDellSc
     - OS::TripleO::Services::CinderBackendNetApp
     - OS::TripleO::Services::CinderBackendScaleIO
+    - OS::TripleO::Services::CinderBackup
+    - OS::TripleO::Services::CinderHPELeftHandISCSI
+    - OS::TripleO::Services::CinderScheduler
+    - OS::TripleO::Services::CinderVolume
+    - OS::TripleO::Services::Collectd
     - OS::TripleO::Services::Congress
-    - OS::TripleO::Services::Kernel
-    - OS::TripleO::Services::Keystone
+    - OS::TripleO::Services::Docker
+    - OS::TripleO::Services::Ec2Api
+    - OS::TripleO::Services::Etcd
+    - OS::TripleO::Services::ExternalSwiftProxy
+    - OS::TripleO::Services::FluentdClient
     - OS::TripleO::Services::GlanceApi
+    - OS::TripleO::Services::GnocchiApi
+    - OS::TripleO::Services::GnocchiMetricd
+    - OS::TripleO::Services::GnocchiStatsd
+    - OS::TripleO::Services::HAproxy
     - OS::TripleO::Services::HeatApi
     - OS::TripleO::Services::HeatApiCfn
     - OS::TripleO::Services::HeatApiCloudwatch
     - OS::TripleO::Services::HeatEngine
+    - OS::TripleO::Services::Horizon
+    - OS::TripleO::Services::IronicApi
+    - OS::TripleO::Services::IronicConductor
+    - OS::TripleO::Services::Keepalived
+    - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::Keystone
+    - OS::TripleO::Services::ManilaApi
+    - OS::TripleO::Services::ManilaBackendCephFs
+    - OS::TripleO::Services::ManilaBackendGeneric
+    - OS::TripleO::Services::ManilaBackendNetapp
+    - OS::TripleO::Services::ManilaScheduler
+    - OS::TripleO::Services::ManilaShare
+    - OS::TripleO::Services::Memcached
+    - OS::TripleO::Services::MongoDb
     - OS::TripleO::Services::MySQL
     - OS::TripleO::Services::MySQLClient
+    - OS::TripleO::Services::NeutronApi
     - OS::TripleO::Services::NeutronBgpVpnApi
+    - OS::TripleO::Services::NeutronCorePlugin
     - OS::TripleO::Services::NeutronDhcpAgent
+    - OS::TripleO::Services::NeutronL2gwAgent
     - OS::TripleO::Services::NeutronL2gwApi
     - OS::TripleO::Services::NeutronL3Agent
+    - OS::TripleO::Services::NeutronLinuxbridgeAgent
     - OS::TripleO::Services::NeutronMetadataAgent
-    - OS::TripleO::Services::NeutronApi
-    - OS::TripleO::Services::NeutronCorePlugin
+    - OS::TripleO::Services::NeutronML2FujitsuCfab
+    - OS::TripleO::Services::NeutronML2FujitsuFossw
     - OS::TripleO::Services::NeutronOvsAgent
-    - OS::TripleO::Services::NeutronL2gwAgent
-    - OS::TripleO::Services::NeutronLinuxbridgeAgent
-    - OS::TripleO::Services::RabbitMQ
-    - OS::TripleO::Services::HAproxy
-    - OS::TripleO::Services::Keepalived
-    - OS::TripleO::Services::Memcached
-    - OS::TripleO::Services::Pacemaker
-    - OS::TripleO::Services::Redis
-    - OS::TripleO::Services::NovaConductor
-    - OS::TripleO::Services::MongoDb
+    - OS::TripleO::Services::NeutronVppAgent
     - OS::TripleO::Services::NovaApi
-    - OS::TripleO::Services::NovaPlacement
+    - OS::TripleO::Services::NovaConductor
+    - OS::TripleO::Services::NovaConsoleauth
+    - OS::TripleO::Services::NovaIronic
     - OS::TripleO::Services::NovaMetadata
+    - OS::TripleO::Services::NovaPlacement
     - OS::TripleO::Services::NovaScheduler
-    - OS::TripleO::Services::NovaConsoleauth
     - OS::TripleO::Services::NovaVncProxy
-    - OS::TripleO::Services::Ec2Api
     - OS::TripleO::Services::Ntp
-    - OS::TripleO::Services::SwiftProxy
-    - OS::TripleO::Services::ExternalSwiftProxy
-    - OS::TripleO::Services::SwiftStorage
-    - OS::TripleO::Services::SwiftRingBuilder
-    - OS::TripleO::Services::Snmp
-    - OS::TripleO::Services::Sshd
-    - OS::TripleO::Services::Securetty
-    - OS::TripleO::Services::Timezone
-    # FIXME: This service was disabled in Pike and this entry should be removed
-    # in Queens.
-    - OS::TripleO::Services::CeilometerExpirer
-    - OS::TripleO::Services::CeilometerAgentCentral
-    - OS::TripleO::Services::CeilometerAgentNotification
-    - OS::TripleO::Services::Horizon
-    - OS::TripleO::Services::GnocchiApi
-    - OS::TripleO::Services::GnocchiMetricd
-    - OS::TripleO::Services::GnocchiStatsd
-    - OS::TripleO::Services::ManilaApi
-    - OS::TripleO::Services::ManilaScheduler
-    - OS::TripleO::Services::ManilaBackendGeneric
-    - OS::TripleO::Services::ManilaBackendNetapp
-    - OS::TripleO::Services::ManilaBackendCephFs
-    - OS::TripleO::Services::ManilaShare
-    - OS::TripleO::Services::AodhApi
-    - OS::TripleO::Services::AodhEvaluator
-    - OS::TripleO::Services::AodhNotifier
-    - OS::TripleO::Services::AodhListener
-    - OS::TripleO::Services::SaharaApi
-    - OS::TripleO::Services::SaharaEngine
-    - OS::TripleO::Services::IronicApi
-    - OS::TripleO::Services::IronicConductor
-    - OS::TripleO::Services::NovaIronic
-    - OS::TripleO::Services::TripleoPackages
-    - OS::TripleO::Services::TripleoFirewall
-    - OS::TripleO::Services::OpenDaylightApi
-    - OS::TripleO::Services::OpenDaylightOvs
-    - OS::TripleO::Services::SensuClient
-    - OS::TripleO::Services::FluentdClient
-    - OS::TripleO::Services::Collectd
-    - OS::TripleO::Services::BarbicanApi
-    - OS::TripleO::Services::PankoApi
-    - OS::TripleO::Services::Tacker
-    - OS::TripleO::Services::Zaqar
-    - OS::TripleO::Services::OVNDBs
-    - OS::TripleO::Services::NeutronML2FujitsuCfab
-    - OS::TripleO::Services::NeutronML2FujitsuFossw
-    - OS::TripleO::Services::CinderHPELeftHandISCSI
-    - OS::TripleO::Services::Etcd
-    - OS::TripleO::Services::AuditD
     - OS::TripleO::Services::OctaviaApi
     - OS::TripleO::Services::OctaviaHealthManager
     - OS::TripleO::Services::OctaviaHousekeeping
     - OS::TripleO::Services::OctaviaWorker
+    - OS::TripleO::Services::OpenDaylightApi
+    - OS::TripleO::Services::OpenDaylightOvs
+    - OS::TripleO::Services::OVNDBs
+    - OS::TripleO::Services::Pacemaker
+    - OS::TripleO::Services::PankoApi
+    - OS::TripleO::Services::RabbitMQ
+    - OS::TripleO::Services::Redis
+    - OS::TripleO::Services::SaharaApi
+    - OS::TripleO::Services::SaharaEngine
+    - OS::TripleO::Services::Securetty
+    - OS::TripleO::Services::SensuClient
+    - OS::TripleO::Services::Snmp
+    - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::SwiftProxy
+    - OS::TripleO::Services::SwiftRingBuilder
+    - OS::TripleO::Services::SwiftStorage
+    - OS::TripleO::Services::Tacker
+    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::Vpp
-    - OS::TripleO::Services::NeutronVppAgent
-    - OS::TripleO::Services::Docker
-
+    - OS::TripleO::Services::Zaqar
+###############################################################################
+# Role: Compute                                                               #
+###############################################################################
 - name: Compute
+  description: |
+    Basic Compute Node role
   CountDefault: 1
   HostnameFormatDefault: '%stackname%-novacompute-%index%'
   disable_upgrade_deployment: True
   ServicesDefault:
+    - OS::TripleO::Services::AuditD
     - OS::TripleO::Services::CACerts
-    - OS::TripleO::Services::CertmongerUser
     - OS::TripleO::Services::CephClient
     - OS::TripleO::Services::CephExternal
-    - OS::TripleO::Services::Timezone
-    - OS::TripleO::Services::Ntp
-    - OS::TripleO::Services::Snmp
-    - OS::TripleO::Services::Sshd
-    - OS::TripleO::Services::Securetty
-    - OS::TripleO::Services::NovaCompute
-    - OS::TripleO::Services::NovaLibvirt
-    - OS::TripleO::Services::Kernel
-    - OS::TripleO::Services::ComputeNeutronCorePlugin
-    - OS::TripleO::Services::ComputeNeutronOvsAgent
-    - OS::TripleO::Services::NeutronLinuxbridgeAgent
+    - OS::TripleO::Services::CertmongerUser
+    - OS::TripleO::Services::Collectd
     - OS::TripleO::Services::ComputeCeilometerAgent
+    - OS::TripleO::Services::ComputeNeutronCorePlugin
     - OS::TripleO::Services::ComputeNeutronL3Agent
     - OS::TripleO::Services::ComputeNeutronMetadataAgent
-    - OS::TripleO::Services::TripleoPackages
-    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::ComputeNeutronOvsAgent
+    - OS::TripleO::Services::Docker
+    - OS::TripleO::Services::FluentdClient
+    - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::MySQLClient
+    - OS::TripleO::Services::NeutronLinuxbridgeAgent
     - OS::TripleO::Services::NeutronSriovAgent
+    - OS::TripleO::Services::NeutronVppAgent
+    - OS::TripleO::Services::NovaCompute
+    - OS::TripleO::Services::NovaLibvirt
+    - OS::TripleO::Services::Ntp
     - OS::TripleO::Services::OpenDaylightOvs
+    - OS::TripleO::Services::Securetty
     - OS::TripleO::Services::SensuClient
-    - OS::TripleO::Services::FluentdClient
-    - OS::TripleO::Services::AuditD
-    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::Snmp
+    - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::Vpp
-    - OS::TripleO::Services::NeutronVppAgent
-    - OS::TripleO::Services::MySQLClient
-    - OS::TripleO::Services::Docker
-
+###############################################################################
+# Role: BlockStorage                                                          #
+###############################################################################
 - name: BlockStorage
+  description: |
+    Cinder Block Storage node role
   ServicesDefault:
+    - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::BlockStorageCinderVolume
     - OS::TripleO::Services::CACerts
     - OS::TripleO::Services::CertmongerUser
-    - OS::TripleO::Services::BlockStorageCinderVolume
+    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::Docker
+    - OS::TripleO::Services::FluentdClient
     - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::MySQLClient
     - OS::TripleO::Services::Ntp
-    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::Securetty
+    - OS::TripleO::Services::SensuClient
     - OS::TripleO::Services::Snmp
     - OS::TripleO::Services::Sshd
-    - OS::TripleO::Services::Securetty
-    - OS::TripleO::Services::TripleoPackages
+    - OS::TripleO::Services::Timezone
     - OS::TripleO::Services::TripleoFirewall
-    - OS::TripleO::Services::SensuClient
-    - OS::TripleO::Services::FluentdClient
-    - OS::TripleO::Services::AuditD
-    - OS::TripleO::Services::Collectd
-    - OS::TripleO::Services::MySQLClient
-    - OS::TripleO::Services::Docker
-
+    - OS::TripleO::Services::TripleoPackages
+###############################################################################
+# Role: ObjectStorage                                                         #
+###############################################################################
 - name: ObjectStorage
+  description: |
+    Swift Object Storage node role
   disable_upgrade_deployment: True
   ServicesDefault:
+    - OS::TripleO::Services::AuditD
     - OS::TripleO::Services::CACerts
     - OS::TripleO::Services::CertmongerUser
+    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::Docker
+    - OS::TripleO::Services::FluentdClient
     - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::MySQLClient
     - OS::TripleO::Services::Ntp
-    - OS::TripleO::Services::SwiftStorage
-    - OS::TripleO::Services::SwiftRingBuilder
+    - OS::TripleO::Services::Securetty
+    - OS::TripleO::Services::SensuClient
     - OS::TripleO::Services::Snmp
     - OS::TripleO::Services::Sshd
-    - OS::TripleO::Services::Securetty
+    - OS::TripleO::Services::SwiftRingBuilder
+    - OS::TripleO::Services::SwiftStorage
     - OS::TripleO::Services::Timezone
-    - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::TripleoFirewall
-    - OS::TripleO::Services::SensuClient
-    - OS::TripleO::Services::FluentdClient
-    - OS::TripleO::Services::AuditD
-    - OS::TripleO::Services::Collectd
-    - OS::TripleO::Services::MySQLClient
-    - OS::TripleO::Services::Docker
-
+    - OS::TripleO::Services::TripleoPackages
+###############################################################################
+# Role: CephStorage                                                           #
+###############################################################################
 - name: CephStorage
+  description: |
+    Ceph OSD Storage node role
   ServicesDefault:
+    - OS::TripleO::Services::AuditD
     - OS::TripleO::Services::CACerts
-    - OS::TripleO::Services::CertmongerUser
     - OS::TripleO::Services::CephOSD
+    - OS::TripleO::Services::CertmongerUser
+    - OS::TripleO::Services::Collectd
+    - OS::TripleO::Services::Docker
+    - OS::TripleO::Services::FluentdClient
     - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::MySQLClient
     - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::Securetty
+    - OS::TripleO::Services::SensuClient
     - OS::TripleO::Services::Snmp
     - OS::TripleO::Services::Sshd
-    - OS::TripleO::Services::Securetty
     - OS::TripleO::Services::Timezone
-    - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::TripleoFirewall
-    - OS::TripleO::Services::SensuClient
-    - OS::TripleO::Services::FluentdClient
-    - OS::TripleO::Services::AuditD
-    - OS::TripleO::Services::Collectd
-    - OS::TripleO::Services::MySQLClient
-    - OS::TripleO::Services::Docker
+    - OS::TripleO::Services::TripleoPackages
index d57c8fc..ad760fd 100644 (file)
@@ -1,49 +1,58 @@
+###############################################################################
+# File generated by tripleoclient
+###############################################################################
+###############################################################################
+# Role: Undercloud                                                            #
+###############################################################################
 - name: Undercloud
+  description: |
+    EXPERIMENTAL. A role to deploy the undercloud via heat using the 'openstack
+    undercloud deploy' command.
   CountDefault: 1
   disable_constraints: True
   tags:
     - primary
     - controller
   ServicesDefault:
-    - OS::TripleO::Services::Ntp
-    - OS::TripleO::Services::MySQL
-    - OS::TripleO::Services::MongoDb
-    - OS::TripleO::Services::Keystone
     - OS::TripleO::Services::Apache
-    - OS::TripleO::Services::RabbitMQ
     - OS::TripleO::Services::GlanceApi
-    - OS::TripleO::Services::SwiftProxy
-    - OS::TripleO::Services::SwiftStorage
-    - OS::TripleO::Services::SwiftRingBuilder
-    - OS::TripleO::Services::Memcached
     - OS::TripleO::Services::HeatApi
     - OS::TripleO::Services::HeatApiCfn
     - OS::TripleO::Services::HeatEngine
-    - OS::TripleO::Services::NovaApi
-    - OS::TripleO::Services::NovaPlacement
-    - OS::TripleO::Services::NovaMetadata
-    - OS::TripleO::Services::NovaScheduler
-    - OS::TripleO::Services::NovaConductor
-    - OS::TripleO::Services::MistralEngine
-    - OS::TripleO::Services::MistralApi
-    - OS::TripleO::Services::MistralExecutor
     - OS::TripleO::Services::IronicApi
     - OS::TripleO::Services::IronicConductor
     - OS::TripleO::Services::IronicPxe
-    - OS::TripleO::Services::NovaIronic
-    - OS::TripleO::Services::Zaqar
-    - OS::TripleO::Services::NeutronServer
+    - OS::TripleO::Services::Keystone
+    - OS::TripleO::Services::Memcached
+    - OS::TripleO::Services::MistralApi
+    - OS::TripleO::Services::MistralEngine
+    - OS::TripleO::Services::MistralExecutor
+    - OS::TripleO::Services::MongoDb
+    - OS::TripleO::Services::MySQL
     - OS::TripleO::Services::NeutronApi
     - OS::TripleO::Services::NeutronCorePlugin
-    - OS::TripleO::Services::NeutronOvsAgent
     - OS::TripleO::Services::NeutronDhcpAgent
+    - OS::TripleO::Services::NeutronOvsAgent
+    - OS::TripleO::Services::NeutronServer
+    - OS::TripleO::Services::NovaApi
+    - OS::TripleO::Services::NovaConductor
+    - OS::TripleO::Services::NovaIronic
+    - OS::TripleO::Services::NovaMetadata
+    - OS::TripleO::Services::NovaPlacement
+    - OS::TripleO::Services::NovaScheduler
+    - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::RabbitMQ
+    - OS::TripleO::Services::SwiftProxy
+    - OS::TripleO::Services::SwiftRingBuilder
+    - OS::TripleO::Services::SwiftStorage
     - OS::TripleO::Services::UndercloudAodhApi
     - OS::TripleO::Services::UndercloudAodhEvaluator
-    - OS::TripleO::Services::UndercloudAodhNotifier
     - OS::TripleO::Services::UndercloudAodhListener
+    - OS::TripleO::Services::UndercloudAodhNotifier
+    - OS::TripleO::Services::UndercloudCeilometerAgentCentral
+    - OS::TripleO::Services::UndercloudCeilometerAgentNotification
     - OS::TripleO::Services::UndercloudGnocchiApi
     - OS::TripleO::Services::UndercloudGnocchiMetricd
     - OS::TripleO::Services::UndercloudGnocchiStatsd
     - OS::TripleO::Services::UndercloudPankoApi
-    - OS::TripleO::Services::UndercloudCeilometerAgentCentral
-    - OS::TripleO::Services::UndercloudCeilometerAgentNotification
+    - OS::TripleO::Services::Zaqar