Merge ~vtapia/maas:lp1894116-27 into maas:2.7

Proposed by Victor Tapia
Status: Merged
Approved by: Adam Collard
Approved revision: ef5128aed105ff857c52d63cd9e899b6b441a5d0
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~vtapia/maas:lp1894116-27
Merge into: maas:2.7
Diff against target: 47 lines (+22/-2)
2 files modified
src/maasserver/forms/packagerepository.py (+6/-2)
src/maasserver/forms/tests/test_packagerepository.py (+16/-0)
Reviewer Review Type Date Requested Status
Adam Collard (community) Approve
MAAS Lander Approve
Review via email: mp+397000@code.launchpad.net

Commit message

Set PORTS_ARCHES instead of MAIN_ARCHES as default for the ports archive (LP:#1894116)

Description of the change

The default arches for all package repositories are i386 and amd64 (MAIN_ARCHES). This commit changes the default arches for the ports package repository, so when the form is cleared, it pulls the correct arches (PORTS_ARCHES).

Backport of f75199f7e in master

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

UNIT TESTS
-b lp1894116-27 lp:~vtapia/maas/+git/maas into -b 2.7 lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: ef5128aed105ff857c52d63cd9e899b6b441a5d0

review: Approve
Revision history for this message
Adam Collard (adam-collard) :
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/packagerepository.py b/src/maasserver/forms/packagerepository.py
2index 795726f..4f3606f 100644
3--- a/src/maasserver/forms/packagerepository.py
4+++ b/src/maasserver/forms/packagerepository.py
5@@ -104,9 +104,13 @@ class PackageRepositoryForm(MAASModelForm):
6 "'%s' is not a valid architecture. Known architectures: "
7 "%s" % (value, ", ".join(sorted(known_arches)))
8 )
9- # If no arches provided, use MAIN_ARCHES.
10+ # If no arches provided, use PORTS_ARCHES for the ports archive,
11+ # MAIN_ARCHES as default fallback.
12 if len(arches) == 0:
13- arches = PackageRepository.MAIN_ARCHES
14+ if self.cleaned_data.get("name") == "ports_archive":
15+ arches = PackageRepository.PORTS_ARCHES
16+ else:
17+ arches = PackageRepository.MAIN_ARCHES
18 return arches
19
20 def clean_distributions(self):
21diff --git a/src/maasserver/forms/tests/test_packagerepository.py b/src/maasserver/forms/tests/test_packagerepository.py
22index 8b3b22f..1de0cdf 100644
23--- a/src/maasserver/forms/tests/test_packagerepository.py
24+++ b/src/maasserver/forms/tests/test_packagerepository.py
25@@ -191,6 +191,22 @@ class TestPackageRepositoryForm(MAASServerTestCase):
26 package_repository.arches, PackageRepository.MAIN_ARCHES
27 )
28
29+ def test__default_ports_package_repository_arches(self):
30+ package_repository = PackageRepository.objects.get(
31+ name="ports_archive"
32+ )
33+ form = PackageRepositoryForm(
34+ instance=package_repository, data={"arches": []}
35+ )
36+ self.assertTrue(form.is_valid(), form.errors)
37+ request = HttpRequest()
38+ request.user = factory.make_User()
39+ endpoint = factory.pick_choice(ENDPOINT_CHOICES)
40+ package_repository = form.save(endpoint, request)
41+ self.assertItemsEqual(
42+ package_repository.arches, PackageRepository.PORTS_ARCHES
43+ )
44+
45 def test__arches_validation(self):
46 package_repository = factory.make_PackageRepository()
47 form = PackageRepositoryForm(

Subscribers

People subscribed via source and target branches