73b3d4e83f
This adds physicalDisks and controller fields to the the hardware profile guide, and to the example hardwareprofile. Relates-To: #499 Closes: #499 Change-Id: I6c3107b846d1a9c94abffe378a9a07a2f089ef99
102 lines
3.5 KiB
Markdown
102 lines
3.5 KiB
Markdown
# 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][3]
|
|
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][3] 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 airshipctl 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:
|
|
|
|
``` yaml
|
|
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, 5, 6, 1+0, 5+0, 6+0. Some examples
|
|
of using these levels in your configurations are given:
|
|
|
|
``` yaml
|
|
raid:
|
|
hardwareRAIDVolumes:
|
|
- name: "VirtualDisk1"
|
|
level: "0"
|
|
sizeGibibytes: 2048
|
|
numberOfPhysicalDisks: 2
|
|
rotational: False
|
|
- name: "VirtualDisk2"
|
|
level: "1"
|
|
controller: "RAID.Slot.5-1"
|
|
physicalDisks:
|
|
- "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.5-1"
|
|
- "Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.5-1"
|
|
- name: "VirtualDisk3"
|
|
level: "5"
|
|
sizeGibibytes: 3000
|
|
numberOfPhysicalDisks: 3
|
|
rotational: True
|
|
- name: "VirtualDisk4"
|
|
level: "6"
|
|
sizeGibibytes: 4000
|
|
controller: "RAID.Slot.5-1"
|
|
physicalDisks:
|
|
- "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.5-1"
|
|
- "Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.5-1"
|
|
- "Disk.Bay.2:Enclosure.Internal.0-1:RAID.Slot.5-1"
|
|
- "Disk.Bay.3:Enclosure.Internal.0-1:RAID.Slot.5-1"
|
|
- name: "VirtualDisk5"
|
|
level: "1+0"
|
|
sizeGibibytes: 4000
|
|
numberOfPhysicalDisks: 4
|
|
- name: "VirtualDisk6"
|
|
level: "5+0"
|
|
controller: "RAID.Slot.5-1"
|
|
physicalDisks:
|
|
- "Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.5-1"
|
|
- "Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.5-1"
|
|
- "Disk.Bay.2:Enclosure.Internal.0-1:RAID.Slot.5-1"
|
|
- "Disk.Bay.3:Enclosure.Internal.0-1:RAID.Slot.5-1"
|
|
- "Disk.Bay.4:Enclosure.Internal.0-1:RAID.Slot.5-1"
|
|
- "Disk.Bay.5:Enclosure.Internal.0-1:RAID.Slot.5-1"
|
|
- name: "VirtualDisk7"
|
|
level: "6+0"
|
|
numberOfPhysicalDisks: 8
|
|
sizeGibibytes: 16000
|
|
rotational: False
|
|
```
|
|
For additional detail on these parameters, see the [Baremetal Host][1] API
|
|
documentation.
|
|
|
|
Note that this has only been tested on Dell hardware.
|
|
|
|
For more details on the example hardwareprofile, see [the repo][2].
|
|
|
|
[1]: https://github.com/metal3-io/baremetal-operator/blob/master/docs/api.md
|
|
[2]: https://opendev.org/airship/airshipctl/src/branch/master/manifests/function/hardwareprofile-example
|
|
[3]: https://github.com/metal3-io/baremetal-operator/tree/master/apis/metal3.io/v1alpha1
|