Merge ~alexsander-souza/maas:fix_v6_lookup into maas:master

Proposed by Alexsander de Souza
Status: Merged
Approved by: Alexsander de Souza
Approved revision: 6979d07826a00750f9e1c7dd722696afa81438a5
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~alexsander-souza/maas:fix_v6_lookup
Merge into: maas:master
Diff against target: 70 lines (+22/-4)
2 files modified
src/provisioningserver/utils/network.py (+9/-1)
src/provisioningserver/utils/tests/test_network.py (+13/-3)
Reviewer Review Type Date Requested Status
MAAS Lander Approve
Christian Grabowski Approve
Review via email: mp+465880@code.launchpad.net

Commit message

fix: parse DNS results correctly

To post a comment you must log in.
Revision history for this message
Christian Grabowski (cgrabowski) wrote :

+1

review: Approve
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b fix_v6_lookup lp:~alexsander-souza/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/5487/console
COMMIT: c7a32e30ce8349cdfc91dd2b9f1c39d364c5330f

review: Needs Fixing
~alexsander-souza/maas:fix_v6_lookup updated
6979d07... by Alexsander de Souza

fix mock

Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b fix_v6_lookup lp:~alexsander-souza/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 6979d07826a00750f9e1c7dd722696afa81438a5

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/provisioningserver/utils/network.py b/src/provisioningserver/utils/network.py
2index 1ea4ec0..6124f68 100644
3--- a/src/provisioningserver/utils/network.py
4+++ b/src/provisioningserver/utils/network.py
5@@ -29,6 +29,7 @@ import netifaces
6 from twisted.internet.defer import Deferred, inlineCallbacks
7 from twisted.internet.interfaces import IResolver
8 from twisted.names.client import getResolver
9+from twisted.names.dns import AAAA
10 from twisted.names.error import (
11 AuthoritativeDomainError,
12 DNSQueryTimeoutError,
13@@ -772,8 +773,15 @@ def safe_getaddrinfo(
14 resolver = getResolver()
15 answers = yield resolver.lookupIPV6Address(hostname)
16 return [
17- (AF_INET6, sock_type, proto, "", (ans._address, port, 0, 0))
18+ (
19+ AF_INET6,
20+ sock_type,
21+ proto,
22+ "",
23+ (ans.payload._address, port, 0, 0),
24+ )
25 for ans in answers[0]
26+ if ans.type == AAAA
27 ]
28
29 try:
30diff --git a/src/provisioningserver/utils/tests/test_network.py b/src/provisioningserver/utils/tests/test_network.py
31index 5f62643..a01a4c8 100644
32--- a/src/provisioningserver/utils/tests/test_network.py
33+++ b/src/provisioningserver/utils/tests/test_network.py
34@@ -13,7 +13,7 @@ from netaddr import EUI, IPAddress, IPNetwork, IPRange
35 import netifaces
36 from netifaces import AF_INET, AF_INET6, AF_LINK
37 from twisted.internet.defer import inlineCallbacks, succeed
38-from twisted.names.dns import Record_AAAA
39+from twisted.names.dns import AAAA, Record_AAAA, RRHeader
40 from twisted.names.error import (
41 AuthoritativeDomainError,
42 DNSQueryTimeoutError,
43@@ -2431,7 +2431,11 @@ class TestSafeGetaddrinfo(MAASTestCase):
44 mock_resolver = Mock()
45 mock_resolver.lookupIPV6Address = lambda _: succeed(
46 (
47- [Record_AAAA(address="::")],
48+ [
49+ RRHeader(
50+ name="::", type=AAAA, payload=Record_AAAA(address="::")
51+ )
52+ ],
53 [],
54 [],
55 )
56@@ -2448,7 +2452,13 @@ class TestSafeGetaddrinfo(MAASTestCase):
57 mock_resolver = Mock()
58 mock_resolver.lookupIPV6Address = lambda _: succeed(
59 (
60- [Record_AAAA(address="::1")],
61+ [
62+ RRHeader(
63+ name="example.com",
64+ type=AAAA,
65+ payload=Record_AAAA(address="::1"),
66+ )
67+ ],
68 [],
69 [],
70 )

Subscribers

People subscribed via source and target branches