inconsistent DNS zone entries when using multiple subnets

Bug #1512109 reported by Darryl Weaver on 2015-11-01
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Critical
Blake Rouse

Bug Description

Using MAAS 1.9.0~beta1+bzr4417 specifying multiple subnets on multiple NICs without using VLANs.

In a multiple node deployment when using MAAS 1.9 to configure the networking on each NIC using a simple untagged subnet.
Some nodes are deployed with only 1 NIC (the management network).
Some nodes are deployed with multiple NICs, such as a compute node which needs both the management network and the data network.

When MAAS adds the entries to the forward DNS zone it adds the last NIC's IP address for the A record and not the first NIC so we end up with the DNS lookup resolving to different subnets depending on which subnets are connected to which node.

If there is no routing between these nodes on those subnets then internal routing between nodes will fail.

This was initially tested with only 1 space and 1 fabric and all subnets included.
It was then tested with each subnet in it's own space and fabric.

So, in the case of different spaces where there is no routing between subnets, then using the DNS hostname internal routing between nodes would fail even if there is a route on a different space and fabric that can reach other hosts.

e.g. the DNS zone file for a test deployment included:
bootstrap IN A 192.168.92.103
desiato IN A 192.168.160.150
hactar IN A 192.168.160.151
neutron IN A 192.168.140.151

even though each of these nodes had eth0 on the network 192.168.92.0/24.

To Re-create:

Configure a space and fabric for each subnet in MAAS using the API.

Configure a node with 2 NICs with different subnets/fabrics/spaces (no VLAN) in the UI or API.

Deploy the node.

Check the forward lookup for the hostname, i.e. dig hostname.domain.name
or look in /etc/bind/maas/zone.domain.name

Related branches

Andres Rodriguez (andreserl) wrote :

Hi Darryl,

Can you please attach logs ? (/var/log/Maas/*.log)

Also, can you confirm that the DNS records where not always created against the IP address of the PXE interface?

Thanks!

Changed in maas:
importance: Undecided → Critical
milestone: none → 1.9.0
status: New → Triaged
status: Triaged → New
Darryl Weaver (dweaver) wrote :

Yes, I can confirm that the DNS records were not created against the IP address of the PXE interface, which was always eth0, the first interface.
I ended up with what seemed to be the last interface address, if I had 3 interfaces, then the address on eth2 was used for the DNS entry.

I'm not sure the logs will be very useful as the actual DNS entries are not logged, but they are easily checked in the bind zonefile.

Darryl Weaver (dweaver) wrote :
Blake Rouse (blake-rouse) wrote :

The StaticIPAddress.objects.get_hostname_ip_mapping is not taking into account the PXE interface.

Changed in maas:
status: New → In Progress
assignee: nobody → Blake Rouse (blake-rouse)
Changed in maas:
status: In Progress → Fix Committed
Changed in maas:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments