9ce47b2fff
With this option enabled, dnsmasq can offer the same IP address to multiple hosts when their requests are close to each other. Remove this option in order to use the built-in hashing mechanism which will allocate random IP addresses, which should be less likely to conflict. Closes-Bug: #1991390 Change-Id: I09a9fa2d0c54635b899ad7906cc2e2e4580ef5ad
46 lines
1.6 KiB
Django/Jinja
46 lines
1.6 KiB
Django/Jinja
# NOTE(yoctozepto): ironic-dnsmasq is used to deliver DHCP(v6) service
|
|
# DNS service is disabled:
|
|
port=0
|
|
|
|
interface={{ ironic_dnsmasq_interface }}
|
|
bind-interfaces
|
|
|
|
{% for item in ironic_dnsmasq_dhcp_ranges %}
|
|
{% set tag = item.tag | default('range_' ~ loop.index) %}
|
|
{% set lease_time = item.lease_time | default(ironic_dnsmasq_dhcp_default_lease_time) %}
|
|
dhcp-range=set:{{ tag }},{{ item.range }},{{ lease_time }}
|
|
{% if item.routers is defined %}
|
|
dhcp-option=tag:{{ tag }},option:router,{{ item.routers }}
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% if api_address_family == 'ipv6' %}
|
|
{# TODO(yoctozepto): IPv6-only support - DHCPv6 PXE support #}
|
|
{# different options must be used here #}
|
|
{% else %}{# ipv4 #}
|
|
dhcp-option=option:tftp-server,{{ api_interface_address }}
|
|
dhcp-option=option:server-ip-address,{{ api_interface_address }}
|
|
dhcp-option=210,/var/lib/ironic/tftpboot/
|
|
{% if ironic_dnsmasq_serve_ipxe | bool %}
|
|
dhcp-match=ipxe,175
|
|
dhcp-match=set:efi,option:client-arch,7
|
|
dhcp-match=set:efi,option:client-arch,9
|
|
# Client is already running iPXE; move to next stage of chainloading
|
|
dhcp-option=tag:ipxe,option:bootfile-name,{{ ironic_http_url }}/inspector.ipxe
|
|
# Client is PXE booting over EFI without iPXE ROM,
|
|
# send EFI version of iPXE chainloader
|
|
dhcp-option=tag:efi,tag:!ipxe,option:bootfile-name,{{ ironic_dnsmasq_uefi_ipxe_boot_file }}
|
|
{% endif %}
|
|
dhcp-option=option:bootfile-name,{{ ironic_dnsmasq_boot_file }}
|
|
{% endif %}{# ipv6/ipv4 #}
|
|
|
|
log-async
|
|
log-facility=/var/log/kolla/ironic/dnsmasq.log
|
|
{% if ironic_logging_debug | bool %}
|
|
log-dhcp
|
|
{% endif %}
|
|
|
|
{% if ironic_inspector_pxe_filter == 'dnsmasq' %}
|
|
dhcp-hostsdir=/etc/dnsmasq/dhcp-hostsdir
|
|
{% endif %}
|