sts-sponsors team mailing list archive
-
sts-sponsors team
-
Mailing list archive
-
Message #04172
[Merge] ~igor-brovtsin/maas:lp-1994945-3.2 into maas:3.2
Igor Brovtsin has proposed merging ~igor-brovtsin/maas:lp-1994945-3.2 into maas:3.2.
Commit message:
fix(LP#1994945): don't try to set default value when no values are present
Requested reviews:
MAAS Lander (maas-lander): unittests
MAAS Maintainers (maas-maintainers)
For more details, see:
https://code.launchpad.net/~igor-brovtsin/maas/+git/maas/+merge/434784
This MP backports a fix for an issue preventing users from allocating machines when at least one virsh host is uninitialized
--
Your team MAAS Committers is subscribed to branch maas:3.2.
diff --git a/src/maasserver/forms/pods.py b/src/maasserver/forms/pods.py
index f89f763..0bbb932 100644
--- a/src/maasserver/forms/pods.py
+++ b/src/maasserver/forms/pods.py
@@ -421,7 +421,9 @@ class ComposeMachineForm(forms.Form):
choices=[(arch, arch) for arch in self.pod.architectures],
required=False,
)
- self.initial["architecture"] = self.pod.architectures[0]
+ if self.pod.architectures:
+ self.initial["architecture"] = self.pod.architectures[0]
+
if self.pod.hints.cpu_speed > 0:
self.fields["cpu_speed"] = IntegerField(
min_value=300,
diff --git a/src/maasserver/forms/tests/test_pods.py b/src/maasserver/forms/tests/test_pods.py
index 7da9452..430e9a3 100644
--- a/src/maasserver/forms/tests/test_pods.py
+++ b/src/maasserver/forms/tests/test_pods.py
@@ -620,6 +620,17 @@ class TestComposeMachineForm(MAASTransactionServerTestCase):
),
)
+ def test_sets_up_fields_based_on_pod_no_architectures(self):
+ request = MagicMock()
+ pod = make_pod_with_hints()
+ pod.architectures = []
+ form = ComposeMachineForm(request=request, pod=pod)
+ self.assertFalse(form.fields["architecture"].required)
+ self.assertEqual(
+ pod.architectures, form.fields["architecture"].choices
+ )
+ self.assertNotIn("architecture", form.initial)
+
def test_sets_up_fields_based_on_pod_no_max_cpu_speed(self):
request = MagicMock()
pod = make_pod_with_hints()