ad555d4d24
The below manifest changes integrates capi v0.4.2 with capm3 v0.5.0 version. It changes the required manifests files in the airshipctl. It upgrades capi to v1alpha4 and capm3 to v1alpha5. Closes: #518 #560 Change-Id: Ia9ea82ad8052e55f0e70f1038497a919ac7b9270
114 lines
3.4 KiB
YAML
114 lines
3.4 KiB
YAML
apiVersion: airshipit.org/v1alpha1
|
|
kind: Templater
|
|
metadata:
|
|
name: m3-host-template
|
|
annotations:
|
|
config.kubernetes.io/function: |-
|
|
container:
|
|
image: localhost/templater
|
|
|
|
values:
|
|
# hosts:
|
|
# (filled in from the comprehensive site-wide host-catalogue)
|
|
# hostsToGenerate:
|
|
# (filled in with phase-specific host-generation-catalogue)
|
|
# commonNetworking:
|
|
# (filled in with the type-specific common-networking)
|
|
|
|
# Additional hardwareProfiles can be defined within their own functions,
|
|
# and then substituted into the stanza below.
|
|
# See function/hardwareprofile-example for an example of how to do this.
|
|
hardwareProfiles:
|
|
default:
|
|
raid:
|
|
hardwareRAIDVolumes: []
|
|
softwareRAIDVolumes: []
|
|
# Reference: https://github.com/metal3-io/metal3-docs/blob/master/design/baremetal-operator/bios-config.md
|
|
#firmware:
|
|
# sriovEnabled: false
|
|
# virtualizationEnabled: false
|
|
# simultaneousMultithreadingEnabled: false
|
|
|
|
template: |
|
|
{{- $envAll := . }}
|
|
{{- range .hostsToGenerate }}
|
|
{{- $hostName := . }}
|
|
{{- $host := index $envAll.hosts $hostName }}
|
|
{{- /* If no hardwareProfile is defined for a host, use the default */ -}}
|
|
{{- if not $host.hardwareProfile }}
|
|
{{- $_ := set $host "hardwareProfile" "default" }}
|
|
{{- end }}
|
|
{{- $hardwareProfile := index $envAll.hardwareProfiles $host.hardwareProfile }}
|
|
{{- if not $hardwareProfile -}}
|
|
{{- fail (printf "can't find hardwareProfile %s" $host.hardwareProfile) -}}
|
|
{{- end -}}
|
|
---
|
|
apiVersion: metal3.io/v1alpha1
|
|
kind: BareMetalHost
|
|
metadata:
|
|
annotations:
|
|
{{- if $host.labels }}
|
|
labels:
|
|
{{ toYaml $host.labels | indent 4 }}
|
|
{{- end }}
|
|
name: {{ $hostName }}
|
|
spec:
|
|
online: false
|
|
bootMACAddress: {{ $host.macAddress }}
|
|
bootMode: {{ $host.bootMode }}
|
|
networkData:
|
|
name: {{ $hostName }}-network-data
|
|
namespace: target-infra
|
|
bmc:
|
|
address: {{ $host.bmcAddress }}
|
|
credentialsName: {{ $hostName }}-bmc-secret
|
|
disableCertificateVerification: {{ default false $host.disableCertificateVerification }}
|
|
{{- if $hardwareProfile.firmware }}
|
|
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 */ -}}
|
|
{{- end }}
|
|
{{- if $hardwareProfile.raid }}
|
|
raid:
|
|
{{ toYaml $hardwareProfile.raid | indent 4 }}
|
|
{{- end }}
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: {{ $hostName }}-bmc-secret
|
|
data:
|
|
username: {{ $host.bmcUsername | b64enc }}
|
|
password: {{ $host.bmcPassword | b64enc }}
|
|
type: Opaque
|
|
---
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: {{ $hostName }}-network-data
|
|
stringData:
|
|
networkData: |
|
|
links:
|
|
{{- range $envAll.commonNetworking.links }}
|
|
-
|
|
{{ toYaml . | indent 6 }}
|
|
{{- if $host.macAddresses }}
|
|
{{- if index $host.macAddresses .id }}
|
|
ethernet_mac_address: {{ index $host.macAddresses .id }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
networks:
|
|
{{- range $envAll.commonNetworking.networks }}
|
|
-
|
|
{{ toYaml . | indent 6 }}
|
|
ip_address: {{ index $host.ipAddresses .id }}
|
|
{{- end }}
|
|
services:
|
|
{{ toYaml $envAll.commonNetworking.services | indent 6 }}
|
|
type: Opaque
|
|
|
|
{{ end -}}
|