Commit 1a22739
Fix deletion of floating IPs with managed DNS records
Neutron's Designate external DNS driver does not pass
edit_managed=True when constructing the admin designateclient.
When a floating IP has associated managed DNS records in
Designate, deleting the floating IP fails with HTTP 500 because
Designate rejects the deletion with "Managed records may not be
deleted".
Pass edit_managed=True only to the admin_client, which has admin
credentials and passes Designate's edit_managed_records policy
check. The regular user client must not set this flag because
Designate requires SYSTEM_ADMIN role for it. For forward DNS
deletion of managed records, fall back to admin_client when the
user client gets a BadRequest from Designate.
Closes-Bug: #2149807
Assisted-By: Claude Code 4.6 Opus
Change-Id: Iedf0f26708560fe063a71925d5d39542ca181154
Signed-off-by: Omer <oschwart@redhat.com>
(cherry picked from commit 44d061a)1 parent d57e150 commit 1a22739
3 files changed
Lines changed: 62 additions & 2 deletions
File tree
- neutron
- services/externaldns/drivers/designate
- tests/unit/services/externaldns/drivers/designate
- releasenotes/notes
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
| 50 | + | |
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
| |||
149 | 150 | | |
150 | 151 | | |
151 | 152 | | |
152 | | - | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
153 | 159 | | |
154 | 160 | | |
155 | 161 | | |
| |||
Lines changed: 45 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
314 | 314 | | |
315 | 315 | | |
316 | 316 | | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
317 | 362 | | |
318 | 363 | | |
319 | 364 | | |
| |||
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
0 commit comments