airshipctl/docs/source/hardware_profile.md
Noor Muhammad Malik 87a428a3e8 Add documentation for example hardwareprofile
This adds a verbose guide for example hardwareprofile
highlighting the RAID and firmware configurations that are
currently the features present in it.

Change-Id: I65c23cca60ac57fe152556c7a45eb33c17260b6d
Closes: #338
2020-09-15 20:20:47 +05:00

2.3 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 doc.

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