skip generating etherenet_mac_address when null

* Host-generator template is generating a null value like below when host
  catalogue is not having any mac value for the interface.
  ethernet_mac_address: <no value>

* added another condition to ethernet_mac_address generation logic
  so generate only if macAddresses is provided and if it has
  value for the respective interface ( oam, pxe ...)

Closes: #404
Change-Id: I2fafe5ceaa4c58855a17929c1c41d60045d1675a
This commit is contained in:
Sirajudeen 2021-08-26 20:58:35 +00:00
parent 4750ab169c
commit 8971bc4882
2 changed files with 12 additions and 4 deletions

View File

@ -18,10 +18,16 @@ metadata:
image: localhost/templater image: localhost/templater
values: values:
hosts: hosts:
- macAddress: 00:aa:bb:cc:dd - macAddresses:
oam: 00:aa:bb:cc:dd
pxe: 00:aa:bb:cc:ee
name: node-1 name: node-1
- macAddress: 00:aa:bb:cc:ee - macAddresses:
oam: 00:aa:bb:cc:ff
name: node-2 name: node-2
- macAddresses:
pxe: 00:aa:bb:cc:22
name: node-3
template: | template: |
{{ range .hosts -}} {{ range .hosts -}}
--- ---
@ -30,5 +36,7 @@ template: |
metadata: metadata:
name: {{ .name }} name: {{ .name }}
spec: spec:
bootMACAddress: {{ .macAddress }} {{- if and (.macAddresses) (.macAddresses.oam) }}
bootMACAddress: {{ .macAddresses.oam }}
{{- end }}
{{ end -}} {{ end -}}

View File

@ -92,7 +92,7 @@ template: |
{{- range $envAll.commonNetworking.links }} {{- range $envAll.commonNetworking.links }}
- -
{{ toYaml . | indent 6 }} {{ toYaml . | indent 6 }}
{{- if $host.macAddresses }} {{- if and ($host.macAddresses) (index $host.macAddresses .id) }}
ethernet_mac_address: {{ index $host.macAddresses .id }} ethernet_mac_address: {{ index $host.macAddresses .id }}
{{- end }} {{- end }}
{{- end }} {{- end }}