01c67cdf def merge_containers(target, source)
44209a1a def merge_in_subnet and merge_in_network_subnet
- Makes it easier to modify a subnet in config when there are lots of them.
588eda56 make radius.add_leading_subnet work with v6
658e6112 introduce SRV4_ADDR_2
server_idis checked in a few places and the secondary server sometimes responds to clients when load-balancing is configured, but there was no forge variable that we could use to get the value
44d196de enable test_HA_and_RADIUS
- Remove all the parameters except for dhcp_version and ha_mode to reduce the number of tests. There should be a total of 9 parameterizations now instead of hundreds.
- Check the right
send_discover_and_check_offer->... when the secondary server responds in load-balancing.
reselect-subnet-poolin RADIUS config. This is the only viable way of having RADIUS work with multiple subnets. Otherwise, the first subnet is always selected. Reselection happens by default with regular reservations. I would advocate to make this default or even non-configurable in Kea. I have a suspicion that this might fix the intermittent failures related to RADIUS in Jenkins.
- Configure RADIUS with SRV4_ADDR_2 on the standby/secondary/passive server. I thought for a long time that my FreeRADIUS installation was broken, but it turned out that it was just misconfigured. Other misconfigurations on the standby/secondary/passive server were also addressed.
delete_hookswhich was used in this test. In the meantime, the call to
delete_hookswas removed, because we use RADIUS on both servers which is important for the load-balancing case. But let's keep the export for when it's used in other places.
- Rename parameter
radius_reservation_in_poolwhich should be more clear.
radius.send_and_receive. It does not have anything to do with RADIUS, but we need a way to tell the test to check for the other server ID when load-balancing is enabled.
- Remove the step that was commented as
# Get the lease that is configured explicitly in RADIUS with Framed-IP-Address.. This tried to get an address outside of a pool, and it worked when
reselect-subnet-addressdefaulted to false, but in that case you always get the lease assigned to the first subnet which has a high chance of not being correct. So this behavior is not worth checking for in my opinion.
- Added error messages to some asserts
- Pedantic rename of
iana? Not sure about this one. Maybe the original author wanted to put there the number of IAIDs which is alright, but IA_PDs also get an IAID.
range(leases_count + 1, 2 * leases_count)->
range(leases_count, 2 * leases_count). A lease was skipped there.
_add_ha_poolswork with arbitrary number of leases. This also fixed v6. The point is to have the same number of addresses in a pool. And previously there were
192.168.50.11 - 192.168.50.110and
2001:db8:50::10 - 2001:db8:50::110. This does not equate to 100 addresses in both cases.