Chapter 6. Use Bare Metal Nodes as Instances
This use case allows you to deploy an instance that uses a bare metal node as the underlying hardware. Sahara performs two internal tasks when creating a big data cluster:
- Heat is used to create the instances, including the required network.
-
When the instances are ready (
openstack server list
will beACTIVE
), sahara connects to each node and applies the configuration for the specified big data plugin. This can include installing additional software, spawning services, and other tasks, until the big data instance is ready.
6.1. Prerequisites
- Use the default parameters when deploying Bare Metal Provisioning (ironic) and Data Processing (sahara) on the overcloud.
-
All the bare metal nodes must be grouped under a predefined flavor (referred to in this section as the
baremetal_flavor
). - Mixed configurations combining virtual and bare metal nodes have not been tested, and may not be supported.
Typically, virtual instances are connected to a private project network and are accessible through a floating IP pool on a public network. However, an issue could arise if the bare metal machines managed by ironic are accessible only through a single network. As a result, the sahara cluster should be configured not to use a floating IP address pool, but to use only that network. This issue is not limited to bare metal nodes, and could also arise when sahara is used with virtual machines only.
6.2. Generate the Images
You may need to generate new images for the bare metal nodes using sahara-image-elements
(including the additional baremetal
switch). If so, you must also generate the kernel and initrd images. However, you may not need to generate the bare metal images at all, as the images typically generated by sahara-image-elements
do work as full-disk images. The bare metal images may be needed for the MapR
plugin, because the flavor requires an ephemeral disk and that further requires a partition image. There is currently a known issue for the generation script that prevents the creation of bare metal images. This is expected to be resolved in a future update.
Once the images are generated, you must upload the images to glance, and then register the images in sahara.
6.3. Create the Cluster
In this example, the CDH plugin is used to demonstrate a testing scenario:
Create a typical set of CDH node group templates and cluster templates. However, for this use case you must specify the new
baremetal_flavor
, and you might not require a floating IP address pool. For example, you might allocate:- 1x manager
- 1x master-core
- 1x master-additional
- 1x worker-nm-dn
-
Enable
dfs_replication
by setting it to1
. -
Set the flavor to
baremetal_flavor
. - Create a cluster: The resulting cluster should initialize successfully, and the instances you deploy should use the bare metal nodes.