[SRU] Designate DNS – Secondary zone is failed to be created and gets into the ERROR status
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Designate |
Fix Released
|
High
|
Unassigned | ||
OpenStack Designate Charm |
Invalid
|
Undecided
|
Unassigned | ||
dnspython (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Medium
|
Brett Milford | ||
dnspython3 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Invalid
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* Designate logs stack traces as per the original description:
dns.query.xfr() w/ timeout=not None and lifetime=None (default):
`TypeError: '>' not supported between instances of 'float' and 'NoneType'`
* Backport will improve the robustness of Designate on Ubuntu.
[Test Case]
* Synthetic reproducer for dnspython alone in comment #11.
* See below for OpenStack Designate included:
### Scenario ###
1) Start remote BIND
Use some external host as a DNS server to tor AXFR the Zone from.
Note: BIND9 on RHEL is provided in attached doc.
2) From your setup check that AXFR is possible
dig @10.9.95.132 debuntu.foo axfr
3) Create a Secondary zone with:
openstack zone create debuntu.foo. --type SECONDARY --master 10.9.95.132
### Expected result ###
Secondary zone is created and ACTIVE
### Actual Result ###
Secondary zone gets into the ERROR statuses + Error in log
journalctl -f -u devstack@
Aug 25 12:56:43 seal08 designate-
Aug 25 12:56:43 seal08 designate-
Aug 25 12:56:43 seal08 designate-
Aug 25 12:56:43 seal08 designate-
Aug 25 12:56:43 seal08 designate-
Aug 25 12:56:43 seal08 designate-
Aug 25 12:56:43 seal08 designate-
Aug 25 12:56:43 seal08 designate-
Aug 25 12:56:43 seal08 designate-
Aug 25 12:56:43 seal08 designate-
Aug 25 12:56:43 seal08 designate-
Aug 25 12:56:43 seal08 designate-
Aug 25 12:56:43 seal08 designate-
Aug 25 12:56:44 seal08 designate-
Aug 25 12:56:44 seal08 designate-
Aug 25 12:56:44 seal08 designate-
### Note ###
Michael has already found the reason.
From:Michael Johnson
Aug 26, 2021, 8:13 PM (3 days ago)
to me
Ok, so this is a bug in the "dnspython" library designate uses.
Version 1.16 which you had installed has:
if mexpiration is None or mexpiration > expiration:
Which is broken.
Version 2.0.0rc1 has: (https:/
if mexpiration is None or \
Which works.
[Where problems could occur]
* This small patch improves the robustness of python library code.
Issues should be self evident in errors logged.
[Other Info]
* Jammy+ have the fix. Focal/Bionic don't have it.
Changed in designate: | |
status: | New → Confirmed |
importance: | Undecided → High |
affects: | designate → dnspython3 (Ubuntu) |
affects: | dnspython3 (Ubuntu) → designate |
affects: | ubuntu → dnspython3 (Ubuntu) |
Changed in dnspython3 (Ubuntu): | |
status: | New → Confirmed |
summary: |
- Designate DNS – Secondary zone is failed to be created and gets into the - ERROR status + [SRU] Designate DNS – Secondary zone is failed to be created and gets + into the ERROR status |
Changed in dnspython (Ubuntu Focal): | |
assignee: | nobody → Brett Milford (brettmilford) |
Changed in dnspython3 (Ubuntu Focal): | |
assignee: | nobody → Brett Milford (brettmilford) |
tags: | added: sts-sponsor-mfo |
Status changed to 'Confirmed' because the bug affects multiple users.