Chapter 6. Deployment
At this point, you should have already configured all the necessary settings to mitigate resource contention between co-located Compute and Ceph Storage services (as described in Chapter 4, Configuring Resource Isolation on Hyper-converged Nodes).
The following sub-sections correspond to the deployment process of either pure or mixed HCI. Both assume that:
-
You are using a separate base environment file (or set of files) for all other Ceph settings. Both sections assume that you are using the same
/home/stack/templates/storage-environment.yaml
file from Creating an Overcloud with Ceph Storage Nodes and Sample Environment File: Creating a Ceph Cluster (from Red Hat Ceph Storage for the Overcloud). - The same /home/stack/templates/storage-environment.yaml environment file also defines how many nodes you are assigning to each role. For related information on this, see Assigning Nodes and Flavors to Roles (also from Red Hat Ceph Storage for the Overcloud).
Proceed to the section that matches your environment:
6.1. Deploying Pure HCI
The creation of the overcloud requires additional arguments for the openstack overcloud deploy
command. For example, assuming that you are deploying hyper-converged Compute nodes using a non-isolated StorageMgmt
network:
$ openstack overcloud deploy --templates \ -e /home/stack/templates/environment-rhel-registration.yaml -e /home/stack/templates/storage-environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/hyperconverged-ceph.yaml \ -e /home/stack/templates/compute.yaml \ -e /home/stack/templates/network.yaml \ -e /home/stack/templates/ceph-numa-pinning.yaml \ -e /home/stack/templates/ceph-backfill-recovery.yaml \ -e /home/stack/templates/hyperconverged-non-isolated.yaml \ --ntp-server pool.ntp.org
Where:
-
--templates - Creates the Overcloud from the default Heat template collection (namely,
/usr/share/openstack-tripleo-heat-templates/
). - -e /home/stack/templates/environment-rhel-registration.yaml - Adds an environment file that registers overcloud nodes, as described in Registering the Overcloud with an Environment File (from Advanced Overcloud Customization). The procedure in Section 4.2, “Configure Ceph NUMA Pinning” includes a script that requires the installation of packages the director does not provide.
-e /home/stack/templates/storage-environment.yaml - Adds a base environment file to the overcloud deployment that defines all other Ceph settings. For a detailed example of such a file, see Creating an Overcloud with Ceph Storage Nodes and Sample Environment File: Creating a Ceph Cluster (from Red Hat Ceph Storage for the Overcloud).
NoteIn Sample Environment File: Creating a Ceph Cluster (from Red Hat Ceph Storage for the Overcloud), the
/home/stack/templates/storage-environment.yaml
file is also used to specify what flavors and how many nodes to assign per role. See Assigning Nodes and Flavors to Roles for details.-
-e /usr/share/openstack-tripleo-heat-templates/environments/hyperconverged-ceph.yaml - Adds the environment file that co-locates Ceph services on all Compute nodes, thereby making them hyper-converged. Update the path accordingly if you created a customized version of it elsewhere (for example, to
~/templates/hyperconverged-ceph.yaml
to account for non-isolatedStorageMgmt
network). See Section 3.1, “Pure HCI” for more information. - -e /home/stack/templates/compute.yaml - Adds the environment file from Section 4.1, “Reserve CPU and Memory Resources for Compute”.
- -e /home/stack/templates/network.yaml - Adds the environment file from Chapter 5, Finalize Networking Settings.
- -e /home/stack/templates/ceph-numa-pinning.yaml - Adds the environment file from Section 4.2, “Configure Ceph NUMA Pinning”.
- -e /home/stack/templates/ceph-backfill-recovery.yaml - Adds the environment file from Section 4.3, “Reduce Ceph Backfill and Recovery Operations”.
-
-e /home/stack/templates/hyperconverged-non-isolated.yaml - Adds the environment file from Section 3.1, “Pure HCI”, which disables the
StorageMgtPort
service. This is required when you are using a non-isolatedStorageMgmt
network. This environment file is invoked last to ensure that it overrides the settings in/usr/share/openstack-tripleo-heat-templates/environments/hyperconverged-ceph.yaml
. - --ntp-server pool.ntp.org - Sets our NTP server.
Use the -e
flag to add environment files as needed for your planned overcloud deployment. For example, to also enable Single-Root Input/Output Virtualization (SR-IOV), add its corresponding environment file:
-e /usr/share/openstack-tripleo-heat-templates/environments/neutron-sriov.yaml
To apply your SR-IOV network preferences, add an environment file defining them:
-e /home/stack/templates/network-environment.yaml
Currently, SR-IOV is the only Network Function Virtualization (NFV) implementation supported with HCI. See Configure SR-IOV Support for Virtual Networking (from the Network Functions Virtualization Configuration Guide) for more details.
For a full list of deployment options, run:
$ openstack help overcloud deploy
For more information, see Creating the Overcloud with the CLI Tools (from Director Installation and Usage).
You can also use an answers file to specify which environment files to include in your deployment. See Including Environment Files in Overcloud Creation (from Director Installation and Usage) for more details.
6.2. Deploying Mixed HCI
The creation of the overcloud requires additional arguments for the openstack overcloud deploy command
. For example:
$ openstack overcloud deploy --templates \ -r /home/stack/templates/roles_data_hci.yaml \ -e /home/stack/templates/ports.yaml -e /home/stack/templates/environment-rhel-registration.yaml -e /home/stack/templates/storage-environment.yaml \ -e /home/stack/templates/compute.yaml \ -e /home/stack/templates/network.yaml \ -e /home/stack/templates/ceph-numa-pinning.yaml \ -e /home/stack/templates/ceph-backfill-recovery.yaml \ --ntp-server pool.ntp.org
Where:
-
--templates - Creates the Overcloud from the default Heat template collection (namely,
/usr/share/openstack-tripleo-heat-templates/
). -
-r /home/stack/templates/roles_data_hci.yaml - Specifies the customized roles definition file from Section 3.2.1, “Creating a Custom Role for HCI Nodes”, which adds the custom
OsdCompute
role. -
-e /home/stack/templates/ports.yaml - Adds the environment file from Section 3.2.2, “Configuring Port Assignments for the Custom Role”, which configures the ports for the
OsdCompute
role. - -e /home/stack/templates/environment-rhel-registration.yaml - Adds an environment file that registers overcloud nodes, as described in Registering the Overcloud with an Environment File (from Advanced Overcloud Customization). The procedure in Section 4.2, “Configure Ceph NUMA Pinning” includes a script that requires the installation of packages the director does not provide.
-e /home/stack/templates/storage-environment.yaml - Adds a base environment file to the overcloud deployment that defines all other Ceph settings. For a detailed example of such a file, see Creating an Overcloud with Ceph Storage Nodes and Sample Environment File: Creating a Ceph Cluster (from Red Hat Ceph Storage for the Overcloud).
NoteIn Sample Environment File: Creating a Ceph Cluster (from Red Hat Ceph Storage for the Overcloud), the
/home/stack/templates/storage-environment.yaml
file is also used to specify what flavors and how many nodes to assign per role. See Assigning Nodes and Flavors to Roles for details.- -e /home/stack/templates/compute.yaml - Adds the environment file from Section 4.1, “Reserve CPU and Memory Resources for Compute”.
- -e /home/stack/templates/network.yaml - Adds the environment file from Chapter 5, Finalize Networking Settings.
- -e /home/stack/templates/ceph-numa-pinning.yaml - Adds the environment file from Section 4.2, “Configure Ceph NUMA Pinning”.
- -e /home/stack/templates/ceph-backfill-recovery.yaml - Adds the environment file from Section 4.3, “Reduce Ceph Backfill and Recovery Operations”.
- --ntp-server pool.ntp.org - Sets our NTP server.
Use the -e
flag to add environment files as needed for your planned overcloud deployment. For example, to also enable Single-Root Input/Output Virtualization (SR-IOV), add its corresponding environment file:
-e /usr/share/openstack-tripleo-heat-templates/environments/neutron-sriov.yaml
To apply your SR-IOV network preferences, add an environment file defining them:
-e /home/stack/templates/network-environment.yaml
Currently, SR-IOV is the only Network Function Virtualization (NFV) implementation supported with HCI. See Configure SR-IOV Support for Virtual Networking (from the Network Functions Virtualization Configuration Guide) for more details.
For a full list of deployment options, run:
$ openstack help overcloud deploy
For more information, see Creating the Overcloud with the CLI Tools (from Director Installation and Usage).
You can also use an answers file to specify which environment files to include in your deployment. See Including Environment Files in Overcloud Creation (from Director Installation and Usage) for more details.