Lease update is broken
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Committed
|
Critical
|
Jacopo Rota | ||
3.6 |
Fix Committed
|
Critical
|
Jacopo Rota |
Bug Description
Describe the bug:
There are multiple issues:
1) The agent can't parse dhcp notifications sent by the maas-dhcp-helper
2) The agent is using /v3internal/
3) The agent is sending a list of notifications and the handler expects a single notification instead
4) The LeaseService has a syntax error as it's passing a Subnet object to a function instead of the subnet_id
5) there is an unknown problem when storing the static address because the primary keys already exist - to be triaged
Steps to reproduce:
Just install MAAS, configure dhcp on a vlan and boot a machine
Expected behavior (what should have happened?):
The leases are properly processed
Actual behavior (what actually happened?):
Crash
MAAS version and installation type (deb, snap):
All
MAAS setup (HA, single node, multiple regions/racks):
All
Host OS distro and version:
Additional context:
Related branches
- MAAS Lander: Needs Fixing
- Jacopo Rota: Approve
-
Diff: 1584 lines (+616/-225)22 files modifiedsrc/maasagent/internal/dhcp/service.go (+1/-1)
src/maasagent/internal/dhcp/service_test.go (+4/-4)
src/maasagent/internal/dhcpd/listener.go (+7/-7)
src/maasagent/internal/dhcpd/listener_test.go (+39/-39)
src/maasagent/internal/dhcpd/queue_test.go (+16/-17)
src/maasapiserver/common/middlewares/db.py (+1/-0)
src/maasapiserver/v3/api/internal/handlers/leases.py (+20/-12)
src/maasapiserver/v3/api/internal/models/requests/leases.py (+8/-2)
src/maasservicelayer/db/repositories/interfaces.py (+55/-10)
src/maasservicelayer/db/repositories/staticipaddress.py (+57/-46)
src/maasservicelayer/db/tables.py (+1/-1)
src/maasservicelayer/models/dnspublications.py (+14/-2)
src/maasservicelayer/services/dnspublications.py (+0/-1)
src/maasservicelayer/services/interfaces.py (+15/-6)
src/maasservicelayer/services/leases.py (+91/-36)
src/maasservicelayer/services/staticipaddress.py (+9/-13)
src/tests/fixtures/factories/dnspublication.py (+1/-3)
src/tests/maasservicelayer/db/repositories/test_interfaces.py (+95/-0)
src/tests/maasservicelayer/db/repositories/test_staticipaddress.py (+88/-6)
src/tests/maasservicelayer/services/test_dnspublications.py (+0/-2)
src/tests/maasservicelayer/services/test_leases.py (+91/-17)
src/tests/maasservicelayer/services/test_staticipaddress.py (+3/-0)
- MAAS Lander: Needs Fixing
- Javier Fuentes: Approve
- Alessandro Marcolini: Approve
-
Diff: 1578 lines (+600/-228)23 files modifiedsrc/maasagent/internal/dhcp/service.go (+1/-1)
src/maasagent/internal/dhcp/service_test.go (+4/-4)
src/maasagent/internal/dhcpd/listener.go (+7/-7)
src/maasagent/internal/dhcpd/listener_test.go (+39/-39)
src/maasagent/internal/dhcpd/queue_test.go (+16/-17)
src/maasapiserver/common/middlewares/db.py (+1/-0)
src/maasapiserver/v3/api/internal/handlers/leases.py (+20/-12)
src/maasapiserver/v3/api/internal/models/requests/leases.py (+8/-2)
src/maasservicelayer/builders/dnspublications.py (+0/-1)
src/maasservicelayer/db/repositories/interfaces.py (+54/-9)
src/maasservicelayer/db/repositories/staticipaddress.py (+43/-46)
src/maasservicelayer/db/tables.py (+1/-1)
src/maasservicelayer/models/dnspublications.py (+13/-5)
src/maasservicelayer/services/dnspublications.py (+0/-1)
src/maasservicelayer/services/interfaces.py (+15/-6)
src/maasservicelayer/services/leases.py (+91/-36)
src/maasservicelayer/services/staticipaddress.py (+9/-13)
src/tests/fixtures/factories/dnspublication.py (+1/-3)
src/tests/maasservicelayer/db/repositories/test_interfaces.py (+95/-0)
src/tests/maasservicelayer/db/repositories/test_staticipaddress.py (+88/-6)
src/tests/maasservicelayer/services/test_dnspublications.py (+0/-2)
src/tests/maasservicelayer/services/test_leases.py (+91/-17)
src/tests/maasservicelayer/services/test_staticipaddress.py (+3/-0)
Changed in maas: | |
assignee: | jaku (jacopo) → Jacopo Rota (r00ta) |
Changed in maas: | |
milestone: | 3.6.0 → 3.7.0 |
Changed in maas: | |
status: | In Progress → Fix Committed |