Merge ~mfo/maas:lp2007297-3.2 into maas:3.2

Proposed by Mauricio Faria de Oliveira
Status: Needs review
Proposed branch: ~mfo/maas:lp2007297-3.2
Merge into: maas:3.2
Diff against target: 71 lines (+17/-0)
3 files modified
src/provisioningserver/drivers/pod/lxd.py (+2/-0)
src/provisioningserver/drivers/pod/tests/test_lxd.py (+14/-0)
utilities/check-imports (+1/-0)
Reviewer Review Type Date Requested Status
MAAS Lander Needs Fixing
Mauricio Faria de Oliveira Pending
Review via email: mp+466143@code.launchpad.net

Commit message

[3.2] LP:2007297 Set pylxd session to not trust the environment

(cherry picked from commit 58e3a2328dd308056170b3af3921ed1842a08a8f)
Signed-off-by: Mauricio Faria de Oliveira <email address hidden>

To post a comment you must log in.
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b lp2007297-3.2 lp:~mfo/maas/+git/maas into -b 3.2 lp:~maas-committers/maas

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

review: Needs Fixing
Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

jenkins: !test

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

UNIT TESTS
-b lp2007297-3.2 lp:~mfo/maas/+git/maas into -b 3.2 lp:~maas-committers/maas

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

review: Needs Fixing
Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

jenkins: !test

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

UNIT TESTS
-b lp2007297-3.2 lp:~mfo/maas/+git/maas into -b 3.2 lp:~maas-committers/maas

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

review: Needs Fixing
Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

jenkins: !test

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

UNIT TESTS
-b lp2007297-3.2 lp:~mfo/maas/+git/maas into -b 3.2 lp:~maas-committers/maas

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

review: Needs Fixing
Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

Some unit tests seem to be consistently failing.

Testing a revert in MR [1].

[1] https://code.launchpad.net/~mfo/maas/+git/maas/+merge/466174

Revision history for this message
Seyeong Kim (seyeongkim) wrote :

I guess somehow maas region or rack daemon stopped. and timed out. maybe not enough memory? i'm not sure about CI though...

I had a discussion with solutionsQA and they also faced the issue. so I checked this briefly.

Revision history for this message
Seyeong Kim (seyeongkim) wrote :

jenkins: !test

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

UNIT TESTS
-b lp2007297-3.2 lp:~mfo/maas/+git/maas into -b 3.2 lp:~maas-committers/maas

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

review: Needs Fixing
Revision history for this message
Seyeong Kim (seyeongkim) wrote :

when I try to test maas 3.2 in my local I face this issue

TypeError: can only concatenate list (not "tuple") to list

and fix

https://github.com/canonical/maas/commit/215bff0f8d3136db61208f2de5856364c9cea0e4

Unmerged commits

cee1a30... by Adam Collard

[3.2] LP:2007297 Set pylxd session to not trust the environment

(cherry picked from commit 58e3a2328dd308056170b3af3921ed1842a08a8f)
Signed-off-by: Mauricio Faria de Oliveira <email address hidden>

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/provisioningserver/drivers/pod/lxd.py b/src/provisioningserver/drivers/pod/lxd.py
2index f5ca215..af51304 100644
3--- a/src/provisioningserver/drivers/pod/lxd.py
4+++ b/src/provisioningserver/drivers/pod/lxd.py
5@@ -872,6 +872,8 @@ class LXDPodDriver(PodDriver):
6 cert=cert,
7 verify=False,
8 )
9+ # Don't inherit proxy environment variables
10+ client.api.session.trust_env = False
11 if not client.trusted and password:
12 try:
13 client.authenticate(password)
14diff --git a/src/provisioningserver/drivers/pod/tests/test_lxd.py b/src/provisioningserver/drivers/pod/tests/test_lxd.py
15index 1140f26..e5b5b13 100644
16--- a/src/provisioningserver/drivers/pod/tests/test_lxd.py
17+++ b/src/provisioningserver/drivers/pod/tests/test_lxd.py
18@@ -12,6 +12,7 @@ from unittest.mock import ANY, MagicMock, Mock, PropertyMock, sentinel
19
20 from fixtures import EnvironmentVariable, TempDir
21 from pylxd.exceptions import ClientConnectionFailed, LXDAPIException, NotFound
22+from requests import Session
23 from testtools.testcase import ExpectedException
24 from twisted.internet.defer import inlineCallbacks
25
26@@ -142,6 +143,7 @@ class FakeClient:
27 self.trusted = False
28 self._fail_auth = False
29 self.host_info = self.fake_lxd.host_info
30+ self.api = FakeAPINode()
31
32 def authenticate(self, password):
33 if self._fail_auth:
34@@ -155,6 +157,13 @@ class FakeClient:
35 raise AttributeError(name)
36
37
38+class FakeAPINode:
39+ """A fake pylxd.client._APINode"""
40+
41+ def __init__(self):
42+ self.session = Session()
43+
44+
45 class FakeLXD:
46 """A fake LXD server."""
47
48@@ -463,6 +472,11 @@ class TestLXDPodDriver(MAASTestCase):
49 self.assertIsInstance(client.cert, tuple)
50 self.assertFalse(client.verify)
51
52+ def test_get_client_should_not_trust_environment(self):
53+ context = self.make_context()
54+ with self.driver._get_client(None, context) as client:
55+ self.assertFalse(client.api.session.trust_env)
56+
57 def test_get_client_no_certificates_no_password(self):
58 context = self.make_context(with_cert=False, with_password=False)
59 pod_id = factory.make_name("pod_id")
60diff --git a/utilities/check-imports b/utilities/check-imports
61index 153edb3..e56942c 100755
62--- a/utilities/check-imports
63+++ b/utilities/check-imports
64@@ -436,6 +436,7 @@ checks = [
65 RackControllerRule
66 | Rule(
67 Allow("apiclient.testing.credentials.make_api_credentials"),
68+ Allow("requests|requests.**"),
69 Allow(StandardLibraries),
70 Allow(TestingLibraries),
71 ),

Subscribers

People subscribed via source and target branches