summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--environments/composable-roles/monolithic-ha.yaml59
-rw-r--r--environments/composable-roles/monolithic-nonha.yaml59
-rw-r--r--environments/composable-roles/standalone.yaml84
-rw-r--r--sample-env-generator/composable-roles.yaml174
4 files changed, 376 insertions, 0 deletions
diff --git a/environments/composable-roles/monolithic-ha.yaml b/environments/composable-roles/monolithic-ha.yaml
new file mode 100644
index 00000000..a1dcd7bf
--- /dev/null
+++ b/environments/composable-roles/monolithic-ha.yaml
@@ -0,0 +1,59 @@
+# *******************************************************************
+# This file was created automatically by the sample environment
+# generator. Developers should use `tox -e genconfig` to update it.
+# Users are recommended to make changes to a copy of the file instead
+# of the original, if any customizations are needed.
+# *******************************************************************
+# title: Monolithic Controller HA deployment
+# description: |
+# A Heat environment that can be used to deploy controller and compute
+# services in an HA configuration with SSL everywhere and network
+# isolation.
+# This should be used with a roles_data.yaml containing the Controller,
+# Compute and CephStorage roles.
+# openstack overcloud roles generate -o ~/roles_data.yaml Controller Compute CephStorage
+parameter_defaults:
+ # Number of CephStorage nodes to deploy
+ # Type: number
+ CephStorageCount: 1
+
+ # Format for CephStorage node hostnames Note %index% is translated into the index of the node, e.g 0/1/2 etc and %stackname% is replaced with the stack name e.g overcloud
+ # Type: string
+ CephStorageHostnameFormat: '%stackname%-cephstorage-%index%'
+
+ # Number of Compute nodes to deploy
+ # Type: number
+ ComputeCount: 3
+
+ # Format for Compute node hostnames Note %index% is translated into the index of the node, e.g 0/1/2 etc and %stackname% is replaced with the stack name e.g overcloud
+ # Type: string
+ ComputeHostnameFormat: '%stackname%-novacompute-%index%'
+
+ # Number of Controller nodes to deploy
+ # Type: number
+ ControllerCount: 3
+
+ # Format for Controller node hostnames Note %index% is translated into the index of the node, e.g 0/1/2 etc and %stackname% is replaced with the stack name e.g overcloud
+ # Type: string
+ ControllerHostnameFormat: '%stackname%-controller-%index%'
+
+ # DNS servers to use for the Overcloud
+ # Type: comma_delimited_list
+ DnsServers: ['8.8.8.8', '8,8.4.4']
+
+ # NTP servers list. Defaulted to pool.ntp.org in order to have a sane default for Pacemaker deployments when not configuring this parameter by default.
+ # Type: comma_delimited_list
+ NtpServer: ['pool.ntp.org']
+
+ # Name of the flavor for Ceph nodes
+ # Type: string
+ OvercloudCephStorageFlavor: ceph
+
+ # Name of the flavor for Compute nodes
+ # Type: string
+ OvercloudComputeFlavor: compute
+
+ # Name of the flavor for Controller nodes
+ # Type: string
+ OvercloudControllerFlavor: control
+
diff --git a/environments/composable-roles/monolithic-nonha.yaml b/environments/composable-roles/monolithic-nonha.yaml
new file mode 100644
index 00000000..f49ddf2a
--- /dev/null
+++ b/environments/composable-roles/monolithic-nonha.yaml
@@ -0,0 +1,59 @@
+# *******************************************************************
+# This file was created automatically by the sample environment
+# generator. Developers should use `tox -e genconfig` to update it.
+# Users are recommended to make changes to a copy of the file instead
+# of the original, if any customizations are needed.
+# *******************************************************************
+# title: Monolithic Controller Non-HA deployment
+# description: |
+# A Heat environment that can be used to deploy controller and compute
+# services in an Non-HA configuration with SSL undercloud only and a
+# flat network.
+# This should be used with a roles_data.yaml containing the Controller,
+# Compute and CephStorage roles.
+# openstack overcloud roles generate -o ~/roles_data.yaml Controller Compute CephStorage
+parameter_defaults:
+ # Number of CephStorage nodes to deploy
+ # Type: number
+ CephStorageCount: 1
+
+ # Format for CephStorage node hostnames Note %index% is translated into the index of the node, e.g 0/1/2 etc and %stackname% is replaced with the stack name e.g overcloud
+ # Type: string
+ CephStorageHostnameFormat: '%stackname%-cephstorage-%index%'
+
+ # Number of Compute nodes to deploy
+ # Type: number
+ ComputeCount: 1
+
+ # Format for Compute node hostnames Note %index% is translated into the index of the node, e.g 0/1/2 etc and %stackname% is replaced with the stack name e.g overcloud
+ # Type: string
+ ComputeHostnameFormat: '%stackname%-novacompute-%index%'
+
+ # Number of Controller nodes to deploy
+ # Type: number
+ ControllerCount: 1
+
+ # Format for Controller node hostnames Note %index% is translated into the index of the node, e.g 0/1/2 etc and %stackname% is replaced with the stack name e.g overcloud
+ # Type: string
+ ControllerHostnameFormat: '%stackname%-controller-%index%'
+
+ # DNS servers to use for the Overcloud
+ # Type: comma_delimited_list
+ DnsServers: ['8.8.8.8', '8,8.4.4']
+
+ # NTP servers list. Defaulted to pool.ntp.org in order to have a sane default for Pacemaker deployments when not configuring this parameter by default.
+ # Type: comma_delimited_list
+ NtpServer: ['pool.ntp.org']
+
+ # Name of the flavor for Ceph nodes
+ # Type: string
+ OvercloudCephStorageFlavor: ceph
+
+ # Name of the flavor for Compute nodes
+ # Type: string
+ OvercloudComputeFlavor: compute
+
+ # Name of the flavor for Controller nodes
+ # Type: string
+ OvercloudControllerFlavor: control
+
diff --git a/environments/composable-roles/standalone.yaml b/environments/composable-roles/standalone.yaml
new file mode 100644
index 00000000..3305c9ed
--- /dev/null
+++ b/environments/composable-roles/standalone.yaml
@@ -0,0 +1,84 @@
+# *******************************************************************
+# This file was created automatically by the sample environment
+# generator. Developers should use `tox -e genconfig` to update it.
+# Users are recommended to make changes to a copy of the file instead
+# of the original, if any customizations are needed.
+# *******************************************************************
+# title: Controller HA deployment with standalone Database, Messaging and Networker nodes.
+# description: |
+# A Heat environment that can be used to deploy controller, database,
+# messaging, networker and compute services in an HA configuration with SSL
+# everywhere and network isolation.
+# This should be used with a roles_data.yaml containing the
+# ControllerOpenstack, Database, Messaging, Networker, Compute and
+# CephStorage roles.
+# openstack overcloud roles generate -o ~/roles_data.yaml ControllerOpenstack Database Messaging Networker Compute CephStorage
+parameter_defaults:
+ # Number of CephStorage nodes to deploy
+ # Type: number
+ CephStorageCount: 1
+
+ # Format for CephStorage node hostnames Note %index% is translated into the index of the node, e.g 0/1/2 etc and %stackname% is replaced with the stack name e.g overcloud
+ # Type: string
+ CephStorageHostnameFormat: '%stackname%-cephstorage-%index%'
+
+ # Number of Compute nodes to deploy
+ # Type: number
+ ComputeCount: 1
+
+ # Format for Compute node hostnames Note %index% is translated into the index of the node, e.g 0/1/2 etc and %stackname% is replaced with the stack name e.g overcloud
+ # Type: string
+ ComputeHostnameFormat: '%stackname%-novacompute-%index%'
+
+ # Number of Controller nodes to deploy
+ # Type: number
+ ControllerCount: 3
+
+ # Format for Controller node hostnames Note %index% is translated into the index of the node, e.g 0/1/2 etc and %stackname% is replaced with the stack name e.g overcloud
+ # Type: string
+ ControllerHostnameFormat: '%stackname%-controller-%index%'
+
+ # Number of Database nodes
+ # Type: number
+ DatabaseCount: 3
+
+ # DNS servers to use for the Overcloud
+ # Type: comma_delimited_list
+ DnsServers: ['8.8.8.8', '8,8.4.4']
+
+ # Number of Messaging nodes
+ # Type: number
+ MessagingCount: 3
+
+ # Number of Networker nodes
+ # Type: number
+ NetworkerCount: 2
+
+ # NTP servers list. Defaulted to pool.ntp.org in order to have a sane default for Pacemaker deployments when not configuring this parameter by default.
+ # Type: comma_delimited_list
+ NtpServer: ['pool.ntp.org']
+
+ # Name of the flavor for Ceph nodes
+ # Type: string
+ OvercloudCephStorageFlavor: ceph
+
+ # Name of the flavor for Compute nodes
+ # Type: string
+ OvercloudComputeFlavor: compute
+
+ # Name of the flavor for Controller nodes
+ # Type: string
+ OvercloudControllerFlavor: control
+
+ # Name of the flavor for Database nodes
+ # Type: string
+ OvercloudDatabaseFlavor: db
+
+ # Name of the flavor for Messaging nodes
+ # Type: string
+ OvercloudMessagingFlavor: messaging
+
+ # Name of the flavor for Networker nodes
+ # Type: string
+ OvercloudNetworkerFlavor: networker
+
diff --git a/sample-env-generator/composable-roles.yaml b/sample-env-generator/composable-roles.yaml
new file mode 100644
index 00000000..91d6060f
--- /dev/null
+++ b/sample-env-generator/composable-roles.yaml
@@ -0,0 +1,174 @@
+#
+# This environment generator is used to generate some sample composable role
+# environment files.
+#
+environments:
+ -
+ name: composable-roles/monolithic-nonha
+ title: Monolithic Controller Non-HA deployment
+ description: |
+ A Heat environment that can be used to deploy controller and compute
+ services in an Non-HA configuration with SSL undercloud only and a
+ flat network.
+ This should be used with a roles_data.yaml containing the Controller,
+ Compute and CephStorage roles.
+ openstack overcloud roles generate -o ~/roles_data.yaml Controller Compute CephStorage
+ files:
+ overcloud.yaml:
+ parameters:
+ - ControllerHostnameFormat
+ - ComputeHostnameFormat
+ - CephStorageHostnameFormat
+ - ControllerCount
+ - ComputeCount
+ - CephStorageCount
+ puppet/services/time/ntp.yaml:
+ parameters:
+ - NtpServer
+ sample-env-generator/composable-roles.yaml:
+ parameters:
+ - DnsServers
+ - OvercloudControllerFlavor
+ - OvercloudComputeFlavor
+ - OvercloudCephStorageFlavor
+ sample_values:
+ ControllerCount: 1
+ OvercloudControllerFlavor: control
+ ComputeCount: 1
+ OvercloudComputeFlavor: compute
+ CephStorageCount: 1
+ OvercloudCephStorageFlavor: ceph
+
+ -
+ name: composable-roles/monolithic-ha
+ title: Monolithic Controller HA deployment
+ description: |
+ A Heat environment that can be used to deploy controller and compute
+ services in an HA configuration with SSL everywhere and network
+ isolation.
+ This should be used with a roles_data.yaml containing the Controller,
+ Compute and CephStorage roles.
+ openstack overcloud roles generate -o ~/roles_data.yaml Controller Compute CephStorage
+ files:
+ overcloud.yaml:
+ parameters:
+ - ControllerHostnameFormat
+ - ComputeHostnameFormat
+ - CephStorageHostnameFormat
+ - ControllerCount
+ - ComputeCount
+ - CephStorageCount
+ puppet/services/time/ntp.yaml:
+ parameters:
+ - NtpServer
+ sample-env-generator/composable-roles.yaml:
+ parameters:
+ - DnsServers
+ - OvercloudControllerFlavor
+ - OvercloudComputeFlavor
+ - OvercloudCephStorageFlavor
+ sample_values:
+ ControllerCount: 3
+ OvercloudControllerFlavor: control
+ ComputeCount: 3
+ OvercloudComputeFlavor: compute
+ CephStorageCount: 1
+ OvercloudCephStorageFlavor: ceph
+
+ -
+ name: composable-roles/standalone
+ title: Controller HA deployment with standalone Database, Messaging and Networker nodes.
+ description: |
+ A Heat environment that can be used to deploy controller, database,
+ messaging, networker and compute services in an HA configuration with SSL
+ everywhere and network isolation.
+ This should be used with a roles_data.yaml containing the
+ ControllerOpenstack, Database, Messaging, Networker, Compute and
+ CephStorage roles.
+ openstack overcloud roles generate -o ~/roles_data.yaml ControllerOpenstack Database Messaging Networker Compute CephStorage
+ files:
+ overcloud.yaml:
+ parameters:
+ - ControllerHostnameFormat
+ - ComputeHostnameFormat
+ - CephStorageHostnameFormat
+ - ControllerCount
+ - ComputeCount
+ - CephStorageCount
+ puppet/services/time/ntp.yaml:
+ parameters:
+ - NtpServer
+ sample-env-generator/composable-roles.yaml:
+ parameters:
+ - DnsServers
+ - DatabaseCount
+ - MessagingCount
+ - NetworkerCount
+ - OvercloudControllerFlavor
+ - OvercloudComputeFlavor
+ - OvercloudCephStorageFlavor
+ - OvercloudDatabaseFlavor
+ - OvercloudMessagingFlavor
+ - OvercloudNetworkerFlavor
+ sample_values:
+ ControllerCount: 3
+ OvercloudControllerFlavor: control
+ ComputeCount: 1
+ OvercloudComputeFlavor: compute
+ CephStorageCount: 1
+ OvercloudCephStorageFlavor: ceph
+ DatabaseCount: 3
+ OvercloudDatabaseFlavor: db
+ MessagingCount: 3
+ OvercloudMessagingFlavor: messaging
+ NetworkerCount: 2
+ OvercloudNetworkerFlavor: networker
+
+
+# NOTE(aschultz): So because these are dynamic based on the roles used, we
+# do not currently define these in any heat files. So we're defining them here
+# so that the sample env generator can still provide these configuration items
+# in the generated config files.
+parameters:
+ DnsServers:
+ default: ['8.8.8.8', '8,8.4.4']
+ description: DNS servers to use for the Overcloud
+ type: comma_delimited_list
+ # Dynamic vars based on roles
+ DatabaseCount:
+ default: 0
+ description: Number of Database nodes
+ type: number
+ MessagingCount:
+ default: 0
+ description: Number of Messaging nodes
+ type: number
+ NetworkerCount:
+ default: 0
+ description: Number of Networker nodes
+ type: number
+ OvercloudControllerFlavor:
+ default: control
+ description: Name of the flavor for Controller nodes
+ type: string
+ OvercloudComputeFlavor:
+ default: compute
+ description: Name of the flavor for Compute nodes
+ type: string
+ OvercloudCephStorageFlavor:
+ default: compute
+ description: Name of the flavor for Ceph nodes
+ type: string
+ OvercloudDatabaseFlavor:
+ default: database
+ description: Name of the flavor for Database nodes
+ type: string
+ OvercloudMessagingFlavor:
+ default: messaging
+ description: Name of the flavor for Messaging nodes
+ type: string
+ OvercloudNetworkerFlavor:
+ default: networker
+ description: Name of the flavor for Networker nodes
+ type: string
+