Ironic Inspector's dnsmasq does not start on IPv6 undercloud

Bug #1844573 reported by Harald Jensås
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
puppet-ironic
Fix Released
Undecided
Harald Jensås
tripleo
Fix Released
High
Harald Jensås

Bug Description

When deploying the undercloud with IPv6 provisioning network Ironic Instector's dnsmasq service fail to start with error:

  Sep 18 13:17:31 undercloud.rdocloud dnsmasq[42201]: bad IP address at line 5 of /etc/ironic-inspector/dnsmasq.conf
Sep 18 13:17:31 undercloud.rdocloud dnsmasq[42201]: FAILED to start up

undercloud.conf:

[DEFAULT]

templates = /home/centos/tripleo-heat-templates
# container_images_file = /home/centos/containers-prepare-parameter.yaml

enable_routed_networks = true
enable_ui = false
overcloud_domain_name = localdomain
scheduler_max_attempts = 2
undercloud_ntp_servers = pool.ntp.org
undercloud_hostname = undercloud.rdocloud
local_interface = eth1
local_mtu = 1450
local_ip = fd12:3456:789a:1::1/64
undercloud_public_host = fd12:3456:789a:1::2
undercloud_admin_host = fd12:3456:789a:1::3
undercloud_nameservers = 8.8.8.8,8.8.4.4
local_subnet = ctlplane-subnet
subnets = ctlplane-subnet,ctlplane-leaf1,ctlplane-leaf2

[ctlplane-subnet]
cidr = fd12:3456:789a:1::/64
gateway = fd12:3456:789a:1::fffe
dns_nameservers = fd12:3456:789a:1::1
inspection_iprange = fd12:3456:789a:1::aaaa,fd12:3456:789a:1::afff
masquerade = false

[ctlplane-leaf1]
cidr = fd12:3456:789a:2::/64
gateway = fd12:3456:789a:2::fffe
dns_nameservers = fd12:3456:789a:1::1
inspection_iprange = fd12:3456:789a:2::aaaa,fd12:3456:789a:2::afff
masquerade = false

[ctlplane-leaf2]
cidr = fd12:3456:789a:3::/64
gateway = fd12:3456:789a:3::fffe
dns_nameservers = fd12:3456:789a:1::1
inspection_iprange = fd12:3456:789a:3::aaaa,fd12:3456:789a:3::afff
masquerade = false

Revision history for this message
Harald Jensås (harald-jensas) wrote :

# cat /var/lib/config-data/puppet-generated/ironic_inspector/etc/ironic-inspector/dnsmasq.conf
port=0
interface=br-ctlplane

dhcp-range=set:ctlplane-subnet,fd12:3456:789a:1::aaaa,fd12:3456:789a:1::afff,64,10m
dhcp-option=tag:ctlplane-subnet,option:router,fd12:3456:789a:1::fffe
dhcp-range=set:ctlplane-leaf1,fd12:3456:789a:2::aaaa,fd12:3456:789a:2::afff,64,10m
dhcp-option=tag:ctlplane-leaf1,option:router,fd12:3456:789a:2::fffe
dhcp-range=set:ctlplane-leaf2,fd12:3456:789a:3::aaaa,fd12:3456:789a:3::afff,64,10m
dhcp-option=tag:ctlplane-leaf2,option:router,fd12:3456:789a:3::fffe
dhcp-sequential-ip
dhcp-match=ipxe,175
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 already running iPXE; move to next stage of chainloading
dhcp-boot=tag:ipxe,http://fd12:3456:789a:1::1:8088/inspector.ipxe
# 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,localhost.localdomain,fd12:3456:789a:1::1

dhcp-hostsdir=/var/lib/ironic-inspector/dhcp-hostsdir

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-ironic (master)

Fix proposed to branch: master
Review: https://review.opendev.org/683414

Changed in puppet-ironic:
assignee: nobody → Harald Jensås (harald-jensas)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-ironic (master)

Reviewed: https://review.opendev.org/683414
Committed: https://git.openstack.org/cgit/openstack/puppet-ironic/commit/?id=15eedd0c4c04a322c16e66aa8e75c8c93c017036
Submitter: Zuul
Branch: master

commit 15eedd0c4c04a322c16e66aa8e75c8c93c017036
Author: Harald Jensås <email address hidden>
Date: Thu Sep 19 09:02:16 2019 +0200

    Fix Inspector dnsmasq config for IPv6

    Extend and re-name the function ipv6_netmask_to_prefix() to
    ipv6_normalize_dnsmasq_ip_subnets(). It now changes the netmask
    to prefix and removes the 'gateway' if it is an IPv6 subnet.

    On IPv6 router info should be provided in router advertisements.
    There was a draft to add support in DHCPv6, but it was never
    completed.
    https://datatracker.ietf.org/doc/draft-ietf-mif-dhcpv6-route-option/

    Also:
      Add match for userclass iPXE and set option6:bootfile-url

    Closes-Bug: #1844573
    Change-Id: I47d88519acd18630e0d5682d93f1088771ec03a1

Changed in puppet-ironic:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-ironic 15.4.0

This issue was fixed in the openstack/puppet-ironic 15.4.0 release.

Changed in tripleo:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.