Failure to commission when interfaces has a /32 IP
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
Critical
|
Alberto Donato | ||
3.0 |
Fix Released
|
Critical
|
Alberto Donato |
Bug Description
If a controller has an interface that has one IP on a subnet, and another IP that is within the same subnet, but with a /32 mask, the proxy may deny requests from that bigger subnet.
For example:
1: broam: <BROADCAST,
link/ether 1c:98:ec:21:98:54 brd ff:ff:ff:ff:ff:ff
inet 10.244.40.30/21 brd 10.244.47.255 scope global broam
valid_lft forever preferred_lft forever
inet 10.244.40.34/32 brd 10.244.47.255 scope global broam
valid_lft forever preferred_lft forever
In 2.9 MAAS would special-case this and detect only the 10.244.40.0/21 subnet. 3.0 on the other hand creates both the 10.244.40.0/21 subnet, and 10.244.34/32.
Now, if the /32 subnet is before the /21 subnet in the proxy config, requests from the whole /21 subnet will be denied.
2.9 has logic for in fix_link_
Related branches
- Alberto Donato (community): Approve
-
Diff: 221 lines (+105/-31)4 files modifiedsrc/metadataserver/builtin_scripts/network.py (+11/-6)
src/metadataserver/builtin_scripts/tests/test_network.py (+26/-0)
src/provisioningserver/utils/network.py (+28/-21)
src/provisioningserver/utils/tests/test_network.py (+40/-4)
- Björn Tillenius: Approve
- MAAS Lander: Approve
-
Diff: 221 lines (+105/-31)4 files modifiedsrc/metadataserver/builtin_scripts/network.py (+11/-6)
src/metadataserver/builtin_scripts/tests/test_network.py (+26/-0)
src/provisioningserver/utils/network.py (+28/-21)
src/provisioningserver/utils/tests/test_network.py (+40/-4)
Changed in maas: | |
importance: | Undecided → Critical |
status: | New → In Progress |
assignee: | nobody → Alberto Donato (ack) |
tags: | added: cdo-qa cdo-release-blocker foundations-engine |
Changed in maas: | |
milestone: | none → next |
status: | In Progress → Fix Committed |
Changed in maas: | |
status: | Fix Committed → Fix Released |
milestone: | next → none |