airshipctl/docs/source/hardware_profile.md
Noor Muhammad Malik 91f4510b1a Fix incorrect links in Hardware Profile Documentation
There was an issue that pointed out incorrect references to the
metal3 API within the Hardware Profile section of Airship 2.0
documentation. They are currently pointing to the API docs and
not the API itself. This patch addresses that issue and updates
the link as suggested.

I've kept the last reference intact, since it points to the API
documentation itself and doesn't require a change.

Relates-To: #422
Closes: #422
Change-Id: I37254a64a27b3cdf2675721b0f1f62d41913915c
2021-01-05 17:25:12 +05:00

2.4 KiB

Hardware Profile Guide

This document explains the functionality of RAID and firmware configuration that is available in airshipctl. This will assist to author Baremetal Host documents with added RAID and firmware functionality.

The Host Generator M3 Function

Airshipctl has a hostgenerator-m3 function which it uses to generate Metal3 Baremetal Host documents. This generator uses a hosttemplate to templatize a BMH specification. It takes a set of parameters and a template as inputs and provides BMH documents as outputs, making it easier to generate a large set of BMH documents efficiently.

The Example Hardware Profile

A Hardware Profile, in airshiptl terms, is a collection of parameters that comprise a hardware level configuration of a server. Currently, it contains RAID and firmware configurations. And later, this can be extended.

The example hardware profile is one such set, which is available as a reference for all the supported parameters. You can modify this to your liking to generate hardwareprofiles that suit your environment.

Firmware Section

The firmware parameters supported, in the example profile are as follows:

  firmware:
    sriovEnabled: false
    virtualizationDisabled: false
    simultaneousMultithreadingDisabled: false

These are the default values, you can adjust to your liking

RAID Section

The RAID levels supported are 0, 1 and 1+0. Some examples of using these levels in your configurations are given

  raid:
    hardwareRAIDVolumes:
    - name: "VirtualDisk1"
      level: "1+0"
      sizeGibibytes: 1024
      numberOfPhysicalDisks: 4
      rotational: False
    - name: "VirtualDisk2"
      level: "1"
      sizeGibibytes: 500
      numberOfPhysicalDisks: 2
      rotational: True
    - name: "VirtualDisk3"
      level: "0"
      sizeGibibytes: 500
      numberOfPhysicalDisks: 2
      rotational: True
    - name: "VirtualDisk4"
      level: "0"
      sizeGibibytes: 250
      numberOfPhysicalDisks: 1
      rotataional: False

For additional detail on these parameters, see the Baremetal Host API documentation.

For more details on the example hardwareprofile, see the repo.