Updating DNS records yields unexpected results
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Triaged
|
Medium
|
Unassigned | ||
3.3 |
Triaged
|
Medium
|
Unassigned | ||
maas-ui |
Triaged
|
Medium
|
Peter Makowski | ||
3.3 |
Triaged
|
Medium
|
Unassigned |
Bug Description
When editing records on the Domain details page unexpected results can happen.
See the following cases:
1) create a record as "foo A 1.1.1.1"
2) remove the record.
3) a new special record appears as "1-1-1-1 A 1.1.1.1" which can't be edited/deleted from the UI (the staticipaddress can be removed via API)
4) create an A record with the same IP
5) the special record disappears
similar case:
1) create a record as "foo A 1.1.1.1"
2) update the record with the IP "2.2.2.2"
3) a special record appears as "1-1-1-1 A 1.1.1.1"
4) edit the record again with the original IP "1.1.1.1"
5) now there's a special record as "2-2-2-2 A 2.2.2.2"
it seems in both cases we should delete the original IP (or update the value in the latter case)
Another (possibly more broken) case is this:
1) create a record as "foo A 1.1.1.1"
2) create a record as "foo A 2.2.2.2"
3) change the name for the first record to "bar"
4) a special record appears as "2-2-2-2 A 2.2.2.2"
I this case we should either rename all "foo" records, or leave the second one intact.
Changed in maas: | |
milestone: | none → next |
tags: | added: ui |
Changed in maas: | |
milestone: | next → none |
status: | Triaged → New |
Changed in maas-ui: | |
importance: | Undecided → Unknown |
tags: | removed: ui |
Changed in maas: | |
status: | New → Triaged |
milestone: | none → next |
Changed in maas: | |
milestone: | next → 3.3.0 |
Changed in maas: | |
milestone: | 3.3.0 → 3.4.0 |
Changed in maas-ui: | |
status: | New → Triaged |
importance: | Unknown → Medium |
milestone: | none → 3.4.0 |
Changed in maas: | |
milestone: | 3.4.0 → 3.4.x |
Changed in maas-ui: | |
milestone: | 3.4.0 → 3.4.x |
I think this might be an issue with the websocket api, specifically the "domain. update_ address_ record" and "domain. delete_ address_ record" methods.
I'm in the process of rebuilding the DNS section in React and I'm coming across the same issue whenever I delete or update an address record. Other record types seem to be fine which I believe is because they use the "domain. update_ dnsdata" and "domain. delete_ dnsdata" methods instead.
Not sure if you are able to confirm it's an api issue, or maybe explain how the existing methods are supposed to be used?