forked from suse-edge/Factory
Drop all the config and script files into their respective directory from the upstream release v30.0.0. Any required customization will follow in subsequent commits, which could potentially be reused for future realignments. Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
91 lines
2.6 KiB
Django/Jinja
91 lines
2.6 KiB
Django/Jinja
interface={{ env.PROVISIONING_INTERFACE }}
|
|
bind-dynamic
|
|
enable-tftp
|
|
tftp-root=/shared/tftpboot
|
|
log-queries
|
|
dhcp-leasefile=/data/dnsmasq/dnsmasq.leases
|
|
|
|
# Configure listening for DNS (0 disables DNS)
|
|
port={{ env.DNS_PORT }}
|
|
|
|
{%- if env.DHCP_RANGE | length %}
|
|
log-dhcp
|
|
dhcp-range={{ env.DHCP_RANGE }}
|
|
|
|
# It can be used when setting DNS or GW variables.
|
|
{%- if env["GATEWAY_IP"] is undefined %}
|
|
# Disable default router(s)
|
|
dhcp-option=3
|
|
{% else %}
|
|
dhcp-option=option{% if ":" in env["GATEWAY_IP"] %}6{% endif %}:router,{{ env["GATEWAY_IP"] }}
|
|
{% endif %}
|
|
{%- if env["DNS_IP"] is undefined %}
|
|
# Disable DNS over provisioning network
|
|
dhcp-option=6
|
|
{% else %}
|
|
dhcp-option=option{% if ":" in env["DNS_IP"] %}6{% endif %}:dns-server,{{ env["DNS_IP"] }}
|
|
{% endif %}
|
|
|
|
{%- if env.IPV == "4" or env.IPV is undefined %}
|
|
# IPv4 Configuration:
|
|
dhcp-match=ipxe,175
|
|
# Client is already running iPXE; move to next stage of chainloading
|
|
{%- if env.IPXE_TLS_SETUP == "true" %}
|
|
# iPXE with (U)EFI
|
|
dhcp-boot=tag:efi,tag:ipxe,{{ env.IRONIC_HTTP_URL }}/custom-ipxe/snponly.efi
|
|
# iPXE with BIOS
|
|
dhcp-boot=tag:ipxe,{{ env.IRONIC_HTTP_URL }}/custom-ipxe/undionly.kpxe
|
|
{% else %}
|
|
dhcp-boot=tag:ipxe,{{ env.IRONIC_HTTP_URL }}/boot.ipxe
|
|
{% endif %}
|
|
|
|
# Note: Need to test EFI booting
|
|
dhcp-match=set:efi,option:client-arch,7
|
|
dhcp-match=set:efi,option:client-arch,9
|
|
dhcp-match=set:efi,option:client-arch,11
|
|
# Client is PXE booting over EFI without iPXE ROM; send EFI version of iPXE chainloader do the same also if iPXE ROM boots but TLS is enabled
|
|
{%- if env.IPXE_TLS_SETUP == "true" %}
|
|
dhcp-boot=tag:efi,tag:ipxe,snponly.efi
|
|
{% endif %}
|
|
dhcp-boot=tag:efi,tag:!ipxe,snponly.efi
|
|
|
|
# Client is running PXE over BIOS; send BIOS version of iPXE chainloader
|
|
dhcp-boot=/undionly.kpxe,{{ env.IRONIC_IP }}
|
|
{% endif %}
|
|
|
|
{% if env.IPV == "6" %}
|
|
# IPv6 Configuration:
|
|
enable-ra
|
|
ra-param={{ env.PROVISIONING_INTERFACE }},0,0
|
|
|
|
dhcp-vendorclass=set:pxe6,enterprise:343,PXEClient
|
|
dhcp-userclass=set:ipxe6,iPXE
|
|
dhcp-option=tag:pxe6,option6:bootfile-url,{{ env.IRONIC_TFTP_URL }}/snponly.efi
|
|
dhcp-option=tag:ipxe6,option6:bootfile-url,{{ env.IRONIC_HTTP_URL }}/boot.ipxe
|
|
|
|
# It can be used when setting DNS or GW variables.
|
|
{%- if env["GATEWAY_IP"] is undefined %}
|
|
# Disable default router(s)
|
|
dhcp-option=3
|
|
{% else %}
|
|
dhcp-option=3,{{ env["GATEWAY_IP"] }}
|
|
{% endif %}
|
|
{%- if env["DNS_IP"] is undefined %}
|
|
# Disable DNS over provisioning network
|
|
dhcp-option=6
|
|
{% else %}
|
|
dhcp-option=6,{{ env["DNS_IP"] }}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
{%- if env.DHCP_IGNORE | length %}
|
|
dhcp-ignore={{ env.DHCP_IGNORE }}
|
|
{% endif %}
|
|
|
|
{%- if env.DHCP_HOSTS | length %}
|
|
{%- for item in env.DHCP_HOSTS.split(";") %}
|
|
dhcp-host={{ item }}
|
|
{%- endfor %}
|
|
{% endif %}
|