Merge ~ltrager/maas:lp1881821_2.7 into maas:2.7

Proposed by Lee Trager
Status: Merged
Approved by: Lee Trager
Approved revision: 355c2cda53cbf8b3306cc3f8a16f0dd7bfa27c50
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~ltrager/maas:lp1881821_2.7
Merge into: maas:2.7
Diff against target: 38 lines (+6/-7)
2 files modified
src/maasserver/models/interface.py (+0/-5)
src/maasserver/models/tests/test_interface.py (+6/-2)
Reviewer Review Type Date Requested Status
Lee Trager (community) Approve
Review via email: mp+385546@code.launchpad.net

Commit message

Backport of b7b7167 LP: #1881821 - Allow link speed to exceed interface speed.

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
1diff --git a/src/maasserver/models/interface.py b/src/maasserver/models/interface.py
2index ceb3a8b..312e939 100644
3--- a/src/maasserver/models/interface.py
4+++ b/src/maasserver/models/interface.py
5@@ -1632,11 +1632,6 @@ class Interface(CleanSave, TimestampedModel):
6 }
7
8 def save(self, *args, **kwargs):
9- if (
10- self.link_speed > self.interface_speed
11- and self.interface_speed != 0
12- ):
13- raise ValidationError("link_speed may not exceed interface_speed")
14 if not self.link_connected:
15 self.link_speed = 0
16 return super().save(*args, **kwargs)
17diff --git a/src/maasserver/models/tests/test_interface.py b/src/maasserver/models/tests/test_interface.py
18index 62d70ab..6b215ae 100644
19--- a/src/maasserver/models/tests/test_interface.py
20+++ b/src/maasserver/models/tests/test_interface.py
21@@ -1338,11 +1338,15 @@ class InterfaceTest(MAASServerTestCase):
22 #: Test is this doesn't raise an exception
23 interface.remove_tag(tag)
24
25- def test_save_link_speed_may_not_exceed_interface_speed(self):
26+ def test_save_link_speed_may_exceed_interface_speed(self):
27+ # LP:1877158 - Interfaces which use aggregate physical links do
28+ # not report the full max interface speed.
29 interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL)
30 interface.interface_speed = 100
31 interface.link_speed = 1000
32- self.assertRaises(ValidationError, interface.save)
33+ interface.save()
34+ self.assertEquals(100, interface.interface_speed)
35+ self.assertEquals(1000, interface.link_speed)
36
37 def test_save_link_speed_may_exceed_unknown_interface_speed(self):
38 interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL)

Subscribers

People subscribed via source and target branches