Merge ~adam-collard/maas:plug-memory-leak-attempt into maas:master

Proposed by Adam Collard
Status: Merged
Approved by: Adam Collard
Approved revision: 0b02b4c1018030971c6bad37c19f576714c4498d
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~adam-collard/maas:plug-memory-leak-attempt
Merge into: maas:master
Diff against target: 62 lines (+8/-10)
3 files modified
src/maasserver/forms/tests/test_pods.py (+2/-2)
src/provisioningserver/testing/certificates.py (+5/-7)
src/provisioningserver/tests/test_certificates.py (+1/-1)
Reviewer Review Type Date Requested Status
MAAS Lander Approve
Jack Lloyd-Walters Approve
Review via email: mp+431207@code.launchpad.net

Commit message

Limit size of certificate cache, align calls for better hits.

To post a comment you must log in.
Revision history for this message
Jack Lloyd-Walters (lloydwaltersj) wrote :

+1

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

UNIT TESTS
-b plug-memory-leak-attempt lp:~adam-collard/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 0b02b4c1018030971c6bad37c19f576714c4498d

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/forms/tests/test_pods.py b/src/maasserver/forms/tests/test_pods.py
2index ae695b8..9255884 100644
3--- a/src/maasserver/forms/tests/test_pods.py
4+++ b/src/maasserver/forms/tests/test_pods.py
5@@ -466,13 +466,13 @@ class TestPodForm(MAASTransactionServerTestCase):
6
7 def test_creates_lxd_pod_with_cert_expiration_supplied(self):
8 pod_info = self.make_pod_info("lxd")
9- maas_cert = get_sample_cert("mypod", validity=timedelta(days=10))
10+ maas_cert = get_sample_cert(validity=timedelta(days=5))
11 pod_info["certificate"] = maas_cert.certificate_pem()
12 pod_info["key"] = maas_cert.private_key_pem()
13 form = PodForm(data=pod_info, request=self.request)
14 self.assertTrue(form.is_valid(), form._errors)
15 pod = form.save()
16- self.assertEqual(9, pod.created_with_cert_expiration_days)
17+ self.assertEqual(4, pod.created_with_cert_expiration_days)
18
19 def test_creates_lxd_pod_with_maas_generated_cert_supplied(self):
20 pod_info = self.make_pod_info("lxd")
21diff --git a/src/provisioningserver/testing/certificates.py b/src/provisioningserver/testing/certificates.py
22index 374e132..fe71fd3 100644
23--- a/src/provisioningserver/testing/certificates.py
24+++ b/src/provisioningserver/testing/certificates.py
25@@ -5,19 +5,17 @@ from fixtures import Fixture
26 from provisioningserver.certificates import Certificate
27
28
29-@lru_cache()
30+@lru_cache(maxsize=5)
31 def get_sample_cert(name: str = "maas", *args, **kwargs) -> Certificate:
32 """Return a sample Certificate for tests."""
33 return Certificate.generate(name, *args, **kwargs)
34
35
36-@lru_cache()
37-def get_sample_cert_with_cacerts(
38- name: str = "maas", ca_name: str = "CA", *args, **kwargs
39-) -> Certificate:
40+@lru_cache(maxsize=1)
41+def get_sample_cert_with_cacerts() -> Certificate:
42 """Return a sample Certificate with CA material for tests."""
43- cert = get_sample_cert(name, *args, **kwargs)
44- ca_cert = get_sample_cert(name=ca_name)
45+ cert = get_sample_cert()
46+ ca_cert = get_sample_cert(name="CA")
47 return Certificate.from_pem(
48 cert.private_key_pem(),
49 cert.certificate_pem(),
50diff --git a/src/provisioningserver/tests/test_certificates.py b/src/provisioningserver/tests/test_certificates.py
51index e0335e0..444f0b0 100644
52--- a/src/provisioningserver/tests/test_certificates.py
53+++ b/src/provisioningserver/tests/test_certificates.py
54@@ -20,7 +20,7 @@ from provisioningserver.testing.certificates import get_sample_cert
55 class TestCertificate(MAASTestCase):
56 def setUp(self):
57 super().setUp()
58- self.sample_cert = get_sample_cert("maas")
59+ self.sample_cert = get_sample_cert()
60
61 def test_certificate(self):
62 self.assertEqual(self.sample_cert.cn(), "maas")

Subscribers

People subscribed via source and target branches