Add RAID to example hardwareprofile

This adds supported RAID levels and their associated parameters
in the example hardwareprofile. This is an extension to the
hardwareprofile that was created by a previous patch.
https://review.opendev.org/#/c/740132/

Since there is no default RAID profile, the template does
not have a RAID field in it, only the VariableCatalogue is
updated.

Change-Id: I50c82ce5f8f66aad132571e631f231623704862a
Closes: #337
This commit is contained in:
Noor Muhammad Malik 2020-08-31 17:11:24 +05:00 committed by Noor Muhammad Malik
parent a5b003a347
commit 58c8284f74
3 changed files with 44 additions and 4 deletions

View File

@ -2,12 +2,24 @@ Function: hardwareprofile-example
=================================
This function defines a hardware profile that can be consumed by the
hostgenerator-m3 function, and which has the same values as the default
profile defined in that function. It serves as an example for how other
hostgenerator-m3 function. It serves as an example for how other
hardware profile functions can be created and consumed.
The `/replacements` kustomization contains a substution rule that injects
The `example` profile currently has fields for RAID and firmware configurations.
This is to provide as a reference for utilizing all the supported RAID levels
as well as all the supported firmware configurations.
For firmware configurations, the values from `example` profile are carried over
to the `default` profile of hostgenerator-m3. That is because same defaults
are exercised in metal3 baremetal-operator as well. See [bios-config spec]
However, for RAID configurations, since
there is no `default` profile, the template does *__not__* have any RAID fields.
Nevertheless, all the supported RAID configurations
have been listed in the `hardwareprofile.yaml` for your reference.
The `/replacements` kustomization contains a substitution rule that injects
the profile into the hostgenerator BMH template. Please see the
`manifests/type/gating` type and `manifests/type/test-site`
`manifests/type/gating` type and `manifests/site/test-site` site
kustomization.yamls to see how a hardwareprofile function can be wired in.
[bios-config spec]: https://github.com/metal3-io/metal3-docs/blob/master/design/baremetal-operator/bios-config.md

View File

@ -8,3 +8,25 @@ hardwareProfile:
sriovEnabled: false
virtualizationDisabled: false
simultaneousMultithreadingDisabled: false
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
rotational: False

View File

@ -47,6 +47,12 @@ template: |
credentialsName: {{ $hostName }}-bmc-secret
firmware:
{{ toYaml $hardwareProfile.firmware | indent 4 }}
{{- /* If no raid is defined for a host, simply skip. There is no default setting for raid */ -}}
{{- /* Reference for RAID: https://github.com/metal3-io/metal3-docs/pull/134 */ -}}
{{- if $hardwareProfile.raid }}
raid:
{{ toYaml $hardwareProfile.raid | indent 4 }}
{{- end }}
---
apiVersion: v1