Merge ~ltrager/maas:grub_ppc64 into maas:master

Proposed by Lee Trager
Status: Merged
Approved by: Lee Trager
Approved revision: 9743631874d906ff99f824d6ac111cc316e7ef8d
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~ltrager/maas:grub_ppc64
Merge into: maas:master
Diff against target: 57 lines (+29/-3)
2 files modified
src/provisioningserver/boot/grub.py (+5/-3)
src/provisioningserver/boot/tests/test_grub.py (+24/-0)
Reviewer Review Type Date Requested Status
Lee Trager (community) Approve
MAAS Lander unittests Pending
Review via email: mp+402378@code.launchpad.net

Commit message

Add GRUB mapping for PPC64EL

To post a comment you must log in.
Revision history for this message
Lee Trager (ltrager) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/src/provisioningserver/boot/grub.py b/src/provisioningserver/boot/grub.py
index 6143e88..72f50bf 100644
--- a/src/provisioningserver/boot/grub.py
+++ b/src/provisioningserver/boot/grub.py
@@ -94,12 +94,14 @@ class UEFIAMD64BootMethod(BootMethod):
94 mac = params.get("mac")94 mac = params.get("mac")
95 if mac is not None:95 if mac is not None:
96 params["mac"] = mac.replace(":", "-")96 params["mac"] = mac.replace(":", "-")
97
98 # MAAS uses Debian architectures while GRUB uses standard Linux
99 # architectures.
97 arch = params.get("arch")100 arch = params.get("arch")
98 if arch == "x86_64":101 if arch == "x86_64":
99 # MAAS uses Debian architectures while GRUB uses standard Linux
100 # architectures. Convert x86_64 to amd64 as they mean the same
101 # thing.
102 params["arch"] = "amd64"102 params["arch"] = "amd64"
103 elif arch in {"powerpc", "ppc64", "ppc64le"}:
104 params["arch"] = "ppc64el"
103105
104 return params106 return params
105107
diff --git a/src/provisioningserver/boot/tests/test_grub.py b/src/provisioningserver/boot/tests/test_grub.py
index 449d7b2..064d992 100644
--- a/src/provisioningserver/boot/tests/test_grub.py
+++ b/src/provisioningserver/boot/tests/test_grub.py
@@ -408,6 +408,30 @@ class TestUEFIAMD64BootMethod(MAASTestCase):
408 method.match_path(backend, b"/grub/grub.cfg-default-x86_64"),408 method.match_path(backend, b"/grub/grub.cfg-default-x86_64"),
409 )409 )
410410
411 def test_match_path_arch_powerpc(self):
412 method = UEFIAMD64BootMethod()
413 backend = random.choice(["http", "tftp"])
414 self.assertEqual(
415 {"arch": "ppc64el"},
416 method.match_path(backend, b"/grub/grub.cfg-default-powerpc"),
417 )
418
419 def test_match_path_arch_ppc64(self):
420 method = UEFIAMD64BootMethod()
421 backend = random.choice(["http", "tftp"])
422 self.assertEqual(
423 {"arch": "ppc64el"},
424 method.match_path(backend, b"/grub/grub.cfg-default-ppc64"),
425 )
426
427 def test_match_path_arch_ppc64le(self):
428 method = UEFIAMD64BootMethod()
429 backend = random.choice(["http", "tftp"])
430 self.assertEqual(
431 {"arch": "ppc64el"},
432 method.match_path(backend, b"/grub/grub.cfg-default-ppc64le"),
433 )
434
411 def test_match_path_arch_subarch(self):435 def test_match_path_arch_subarch(self):
412 method = UEFIAMD64BootMethod()436 method = UEFIAMD64BootMethod()
413 backend = random.choice(["http", "tftp"])437 backend = random.choice(["http", "tftp"])

Subscribers

People subscribed via source and target branches