generates duplicate zone records if overlapping subnets are used which leads to bind9 failures: '36.232.10.in-addr.arpa': already exists previous definition
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
High
|
Christian Grabowski |
Bug Description
The setup is attached as a picture.
Situation:
2 overlapping subnets (which are observed on different L2s though):
- one is 10.232.36.0/24 (IS-managed, used for BMC access via iLo interfaces)
- 10.232.32.0/21 (a subnet used by me in one of the VLANs - overlaps with 10.232.36.0/24 but who cares as long as I reserve that /24 range in a /21 range and they are on different L2s)
- two different fabrics (IS-managed VLAN and subnet are not on the same thunk as my VLAN and subnet)
- no ip ranges configured in both of the subnets (just for simplicity's sake)
- static addresses used for OOB (by iLo interfaces) are observed in 10.232.36.0/24 by MAAS
On the MAAS VM (interfaces correspond to physical host's interfaces below):
ubuntu@
1: lo inet 127.0.0.1/8 scope host lo\ valid_lft forever preferred_lft forever
2: eth0 inet 10.232.36.101/24 brd 10.232.36.255 scope global eth0\ valid_lft forever preferred_lft forever
3: eth1 inet 10.232.0.2/21 brd 10.232.7.255 scope global eth1\ valid_lft forever preferred_lft forever
4: eth2 inet 10.232.8.2/21 brd 10.232.15.255 scope global eth2\ valid_lft forever preferred_lft forever
5: virbr0 inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0\ valid_lft forever preferred_lft forever
ubuntu@skrzak:~$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.e4115bbffc88 no eth0
vnet0
vnet3
br1 8000.e4115bbffc8a no eth1
vnet1
vnet4
br2 8000.e4115bbffc8c no eth2
vnet2
vnet5
ubuntu@maas-host:~$ ip -o -4 a s
1: lo inet 127.0.0.1/8 scope host lo\ valid_lft forever preferred_lft forever
6: br0 inet 10.232.36.100/24 brd 10.232.36.255 scope global br0\ valid_lft forever preferred_lft forever
7: br1 inet 10.232.0.1/21 brd 10.232.7.255 scope global br1\ valid_lft forever preferred_lft forever
8: br2 inet 10.232.8.1/21 brd 10.232.15.255 scope global br2\ valid_lft forever preferred_lft forever
Switch-wise it looks like this (VLAN 15 being IS-managed):
interface Ethernet122/1/12
description maas-host:eth0
switchport access vlan 15
interface Ethernet122/1/13
description maas-host:eth1
switchport mode trunk
switchport trunk native vlan 2727
switchport trunk allowed vlan 2727-2731
interface Ethernet122/1/14
description maas-host:eth2
switchport mode trunk
switchport trunk native vlan 2727
switchport trunk allowed vlan 2727-2731
----------------
As soon as I configure the subnet 10.232.32.0/21, MAAS regiond generates a new named.conf.maas which contains duplicate records for "36.232.
See get_details_
Apr 15 12:38:22 maas named[6121]: loading configuration from '/etc/bind/
Apr 15 12:38:22 maas named[6121]: /etc/bind/
Apr 15 12:38:22 maas named[6121]: reloading configuration failed: failure
/etc/bind/
zone "36.232.
type master;
file "/etc/bind/
};
...
zone "36.232.
type master;
file "/etc/bind/
};
As soon as I change the subnet in MAAS from 10.232.32.0/21 to, say, 10.232.48.0/21 regiond reloads the bind9 config again and there is no duplicate zone entry.
This is somewhat crazy to debug due to the fact that adding an overlapping subnet with a differently looking prefix leads to a duplicate zone record with "36" in it but I can reproduce this 100% of times with this setup.
From my point of view, having overlapping subnet setups should be acceptable - who knows how people are going to use their IP ranges.
I can provide more info but this setup should be easy to replicate with a VM and a couple of virtual interfaces.
----------------
MAAS package versions:
https:/
Related branches
- Alberto Donato (community): Approve
- MAAS Lander: Approve
-
Diff: 222 lines (+154/-2)4 files modifiedsrc/maasserver/dns/tests/test_zonegenerator.py (+51/-0)
src/maasserver/dns/zonegenerator.py (+6/-0)
src/provisioningserver/dns/tests/test_zoneconfig.py (+76/-0)
src/provisioningserver/dns/zoneconfig.py (+21/-2)
Changed in maas: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → 2.2.0rc3 |
summary: |
- MAAS 2.2 generates duplicate zone records if overlapping subnets are - used which leads to bind9 failures: '36.232.10.in-addr.arpa': already - exists previous definition + [2.2] generates duplicate zone records if overlapping subnets are used + which leads to bind9 failures: '36.232.10.in-addr.arpa': already exists + previous definition |
Changed in maas: | |
milestone: | 2.2.0rc3 → 2.2.0rc4 |
Changed in maas: | |
milestone: | 2.3.0 → 2.3.x |
summary: |
- [2.2] generates duplicate zone records if overlapping subnets are used - which leads to bind9 failures: '36.232.10.in-addr.arpa': already exists + generates duplicate zone records if overlapping subnets are used which + leads to bind9 failures: '36.232.10.in-addr.arpa': already exists previous definition |
Changed in maas: | |
milestone: | 2.3.x → next |
Changed in maas: | |
status: | Expired → New |
Changed in maas: | |
status: | New → Triaged |
importance: | Medium → High |
Changed in maas: | |
assignee: | nobody → Christian Grabowski (cgrabowski) |
milestone: | none → 3.0.0 |
status: | Triaged → In Progress |
Changed in maas: | |
status: | In Progress → Fix Committed |
Changed in maas: | |
milestone: | 3.0.0 → 3.0.0-beta4 |
Changed in maas: | |
status: | Fix Committed → Fix Released |
MAAS doesn't support overlapping subnets. In order for us to fix this we would need to explore what is possible but at the moment is not supported.