File dnsmasq.conf.j2 of Package ironic

interface={{ env.PROVISIONING_INTERFACE }}
bind-dynamic
enable-tftp
tftp-root=/shared/tftpboot

# Disable listening for DNS
port=0

{%- if env.DHCP_RANGE | length %}
log-dhcp
dhcp-range={{ env.DHCP_RANGE }}

# Disable default router(s) and DNS over provisioning network
dhcp-option=3,{{ env.DNSMASQ_DEFAULT_ROUTER }}
dhcp-option=6,{{ env.DNSMASQ_DNS_SERVER_ADDRESS }}

{%- if env.ENABLE_PXE_BOOT == "true" %}
{%- 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
dhcp-boot=tag:ipxe,http://{{ env.DNSMASQ_BOOT_SERVER_ADDRESS }}/boot.ipxe

# 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
dhcp-boot=tag:efi,tag:!ipxe,ipxe.efi

# Client is running PXE over BIOS; send BIOS version of iPXE chainloader
dhcp-boot=/undionly.kpxe,{{ env.IRONIC_IP }}
{% endif %}
{% endif %}

{%- if env.DHCP_HOSTS | length %}
{% for mac in (env.DHCP_HOSTS | replace('-', ':') | replace('\\,', ',')).split(',') -%}
{%- if mac | length %}
dhcp-host={{ mac }}
{% endif %}
{% endfor %}
dhcp-ignore=tag:!known
{% endif %}

{%- if env.ENABLE_PXE_BOOT == "true" %}
{% 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,tftp://{{ env.DNSMASQ_BOOT_SERVER_ADDRESS }}/ipxe.efi
dhcp-option=tag:ipxe6,option6:bootfile-url,http://{{ env.DNSMASQ_BOOT_SERVER_ADDRESS }}/boot.ipxe

# Disable default router(s) and DNS over provisioning network
dhcp-option=3,{{ env.DNSMASQ_DEFAULT_ROUTER }}
dhcp-option=6,{{ env.DNSMASQ_DNS_SERVER_ADDRESS }}
{% endif %}
{% endif %}
{% endif %}

server={{ env.DNSMASQ_DNS_SERVER_ADDRESS }}
openSUSE Build Service is sponsored by