dnspython is outdated, causes other packages fail in tests

Bug #1907228 reported by Matthias Klose
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
dnspython (Ubuntu)
Fix Released
Undecided
Corey Bryant
Hirsute
Won't Fix
Undecided
Unassigned
python-certbot-dns-rfc2136 (Ubuntu)
Confirmed
Undecided
Unassigned
Hirsute
Won't Fix
Undecided
Unassigned
rally-openstack (Ubuntu)
Fix Released
Undecided
Unassigned
Hirsute
Won't Fix
Undecided
Unassigned

Bug Description

these are fixed in dnspython 2.0 ... however OpenStack wants to keep 1.6.

________________ RFC2136ClientTest.test_query_soa_wraps_errors _________________

self = <dns_rfc2136_test.RFC2136ClientTest testMethod=test_query_soa_wraps_errors>

    def setUp(self):
        from certbot_dns_rfc2136._internal.dns_rfc2136 import _RFC2136Client

> self.rfc2136_client = _RFC2136Client(SERVER, PORT, NAME, SECRET, dns.tsig.HMAC_MD5,
        TIMEOUT)

tests/dns_rfc2136_test.py:81:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
certbot_dns_rfc2136/_internal/dns_rfc2136.py:109: in __init__
    self.keyring = dns.tsigkeyring.from_text({
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

textring = {'a-tsig-key.': 'SSB3b25kZXIgd2hvIHdpbGwgYm90aGVyIHRvIGRlY29kZSB0aGlzIHRleHQK'}

    def from_text(textring):
        """Convert a dictionary containing (textual DNS name, base64 secret) pairs
        into a binary keyring which has (dns.name.Name, binary secret) pairs.
        @rtype: dict"""

        keyring = {}
        for keytext in textring:
            keyname = dns.name.from_text(keytext)
> secret = base64.decodestring(maybe_encode(textring[keytext]))
E AttributeError: module 'base64' has no attribute 'decodestring'

/usr/lib/python3/dist-packages/dns/tsigkeyring.py:35: AttributeError
===================== 12 failed, 7 passed in 0.50 seconds ======================
E: pybuild pybuild:353: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_certbot-dns-rfc2136/build; python3.9 -m pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.9 returned exit code 13

Matthias Klose (doko)
tags: added: ftbfs
tags: added: rls-hh-incoming
tags: added: fr-1016
tags: removed: rls-hh-incoming
Revision history for this message
Steve Langasek (vorlon) wrote :

This incompatibility is also causing rally-openstack in -proposed to fail all of its tests:

/usr/lib/python3/dist-packages/eventlet/patcher.py:109: in inject
    module = __import__(module_name, {}, {}, module_name.split('.')[:-1])
/usr/lib/python3/dist-packages/dns/hash.py:23: in <module>
    warnings.warn(
E DeprecationWarning: dns.hash module will be removed in future versions. Please use hashlib instead.

NB fixing this incompatibility does NOT let rally-openstack build (it still fails to build, with different test failures in both Debian and Ubuntu), but appears to be a prerequisite.

Corey, since you were responsible for the dnspython downgrade in LP: #18955449, I'm assigning this bug to you. Can you please check whether this is still what we want wrt eventlet (and openstack generally), or should we now move forward to 2.0.0?

tags: added: update-excuse
Changed in dnspython (Ubuntu):
assignee: nobody → Corey Bryant (corey.bryant)
Revision history for this message
Corey Bryant (corey.bryant) wrote :

Upstream OpenStack is still at 1.6.0 [1]

But it looks like there has been some progress with eventlet supporting dnspython 2.0.0: https://github.com/eventlet/eventlet/commit/aeb0390094a1c3f29bb4f25a8dab96587a86b3e8

I've sent an email to the openstack-discuss mailing list to see if there are any plans in the next release to (attempt to) move to dnspython 2.0.0

[1] https://github.com/openstack/requirements/blob/master/upper-constraints.txt#L555

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in dnspython (Ubuntu Hirsute):
status: New → Confirmed
Changed in dnspython (Ubuntu):
status: New → Confirmed
Changed in python-certbot-dns-rfc2136 (Ubuntu Hirsute):
status: New → Confirmed
Changed in python-certbot-dns-rfc2136 (Ubuntu):
status: New → Confirmed
Changed in rally-openstack (Ubuntu Hirsute):
status: New → Confirmed
Changed in rally-openstack (Ubuntu):
status: New → Confirmed
Revision history for this message
Chris MacNaughton (chris.macnaughton) wrote :
Revision history for this message
Corey Bryant (corey.bryant) wrote :

dnspython 2.1.0-1 has been synced into jammy

Changed in dnspython (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote :

The Hirsute Hippo has reached End of Life, so this bug will not be fixed for that release.

Changed in rally-openstack (Ubuntu Hirsute):
status: Confirmed → Won't Fix
Steve Langasek (vorlon)
Changed in rally-openstack (Ubuntu):
status: Confirmed → Fix Released
Steve Langasek (vorlon)
Changed in dnspython (Ubuntu Hirsute):
status: Confirmed → Won't Fix
Changed in python-certbot-dns-rfc2136 (Ubuntu Hirsute):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.