So I looked into the code and into the get_interfaces_with_ip_on_vlan and I see that this is wrong. I put a logger function to show what interfaces were being returned for that particular VLAN, and I found this:
Mar 2 21:06:45 unleashed maas.dhcp: [WARNING] ##### Interfaces with ip on VLAN: fabric-3.untagged Interfaces: name=virbr1, type=physical, mac=52:54:00:c2:29:bb
Mar 2 21:06:45 unleashed maas.dhcp: [WARNING] ##### Interfaces with ip on VLAN: fabric-3.untagged Interfaces: name=virbr0, type=physical, mac=52:54:00:d3:1a:ac
Mar 2 21:06:45 unleashed maas.dhcp: [WARNING] ##### Interfaces with ip on VLAN: fabric-3.untagged Interfaces: name=virbr2, type=physical, mac=52:54:00:df:e7:1c
Mar 2 21:06:45 unleashed maas.dhcp: [WARNING] ##### Interfaces with ip on VLAN: fabric-3.untagged Interfaces: name=lxcbr0, type=physical, mac=92:35:cf:fd:2e:8b
Mar 2 21:06:45 unleashed maas.dhcp: [WARNING] ##### Interfaces with ip on VLAN: fabric-3.untagged Interfaces: name=wlan0, type=physical, mac=7c:7a:91:40:48:4f
Mar 2 21:06:45 unleashed maas.dhcp: [WARNING] ##### Interfaces with ip on VLAN: fabric-3.untagged Interfaces: name=eth0, type=physical, mac=28:d2:44:65:25:55
In reality, it is returning all interfaces on all VLAN's, even though it should only be returning interfaces on fabric-3.untagged VLAN, which in reality is only 1. virbr0. In this case, it seems to be incorrectly "finding" multiple interfaces on fabric-3.untagged. That being said, however, it seems to later on have just picked virbr1 as it was the first one.
So I looked into the code and into the get_interfaces_ with_ip_ on_vlan and I see that this is wrong. I put a logger function to show what interfaces were being returned for that particular VLAN, and I found this:
Mar 2 21:06:45 unleashed maas.dhcp: [WARNING] ##### Interfaces with ip on VLAN: fabric-3.untagged Interfaces: name=virbr1, type=physical, mac=52: 54:00:c2: 29:bb 54:00:d3: 1a:ac 54:00:df: e7:1c 35:cf:fd: 2e:8b 7a:91:40: 48:4f d2:44:65: 25:55
Mar 2 21:06:45 unleashed maas.dhcp: [WARNING] ##### Interfaces with ip on VLAN: fabric-3.untagged Interfaces: name=virbr0, type=physical, mac=52:
Mar 2 21:06:45 unleashed maas.dhcp: [WARNING] ##### Interfaces with ip on VLAN: fabric-3.untagged Interfaces: name=virbr2, type=physical, mac=52:
Mar 2 21:06:45 unleashed maas.dhcp: [WARNING] ##### Interfaces with ip on VLAN: fabric-3.untagged Interfaces: name=lxcbr0, type=physical, mac=92:
Mar 2 21:06:45 unleashed maas.dhcp: [WARNING] ##### Interfaces with ip on VLAN: fabric-3.untagged Interfaces: name=wlan0, type=physical, mac=7c:
Mar 2 21:06:45 unleashed maas.dhcp: [WARNING] ##### Interfaces with ip on VLAN: fabric-3.untagged Interfaces: name=eth0, type=physical, mac=28:
In reality, it is returning all interfaces on all VLAN's, even though it should only be returning interfaces on fabric-3.untagged VLAN, which in reality is only 1. virbr0. In this case, it seems to be incorrectly "finding" multiple interfaces on fabric-3.untagged. That being said, however, it seems to later on have just picked virbr1 as it was the first one.