Merge ~cgrabowski/maas:fix_counting_ha_vlans_backport_to_3.2 into maas:3.2

Proposed by Christian Grabowski
Status: Merged
Approved by: Christian Grabowski
Approved revision: a8ad07fd216926185c55d1e89db3a355b856c8b7
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~cgrabowski/maas:fix_counting_ha_vlans_backport_to_3.2
Merge into: maas:3.2
Diff against target: 36 lines (+17/-0)
2 files modified
src/maasserver/websockets/handlers/controller.py (+1/-0)
src/maasserver/websockets/handlers/tests/test_controller.py (+16/-0)
Reviewer Review Type Date Requested Status
Alexsander de Souza Approve
MAAS Lander Approve
Review via email: mp+427990@code.launchpad.net

Commit message

handle unlinked interfaces when counting HA VLANs
(cherry picked from commit ea45233cce0dc3e9b988d7eead509057ec67ddd7)

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

UNIT TESTS
-b fix_counting_ha_vlans_backport_to_3.2 lp:~cgrabowski/maas/+git/maas into -b 3.2 lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/277/consoleText
COMMIT: 3bd75e4cdf0fceb599c755cf9c71eadacef29695

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

UNIT TESTS
-b fix_counting_ha_vlans_backport_to_3.2 lp:~cgrabowski/maas/+git/maas into -b 3.2 lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/279/consoleText
COMMIT: 203dc591eeeb1bae523f6e23af43953e78365fd7

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

UNIT TESTS
-b fix_counting_ha_vlans_backport_to_3.2 lp:~cgrabowski/maas/+git/maas into -b 3.2 lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: a8ad07fd216926185c55d1e89db3a355b856c8b7

review: Approve
Revision history for this message
Alexsander de Souza (alexsander-souza) wrote :

+1

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

LANDING
-b fix_counting_ha_vlans_backport_to_3.2 lp:~cgrabowski/maas/+git/maas into -b 3.2 lp:~maas-committers/maas

STATUS: FAILED BUILD
LOG: http://maas-ci.internal:8080/job/maas-tester/282/consoleText

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/websockets/handlers/controller.py b/src/maasserver/websockets/handlers/controller.py
2index 7365b5b..89e5116 100644
3--- a/src/maasserver/websockets/handlers/controller.py
4+++ b/src/maasserver/websockets/handlers/controller.py
5@@ -175,6 +175,7 @@ class ControllerHandler(NodeHandler):
6 vlan_ids = [
7 interface.vlan_id
8 for interface in obj.current_config.interface_set.all()
9+ if interface.vlan_id is not None
10 ]
11 for vlan_id in vlan_ids:
12 vlan_counts[self._vlans_ha[vlan_id]] += 1
13diff --git a/src/maasserver/websockets/handlers/tests/test_controller.py b/src/maasserver/websockets/handlers/tests/test_controller.py
14index eda0b66..ec1ccd9 100644
15--- a/src/maasserver/websockets/handlers/tests/test_controller.py
16+++ b/src/maasserver/websockets/handlers/tests/test_controller.py
17@@ -496,3 +496,19 @@ class TestControllerHandler(MAASServerTestCase):
18 handler.update_interface(request)
19 controller.refresh_from_db()
20 self.assertEqual(controller.boot_interface.vlan, vlan)
21+
22+ def test_count_HA_vlans_with_unlinked_interfaces(self):
23+ admin = factory.make_admin()
24+ handler = ControllerHandler(admin, {}, None)
25+ primary = factory.make_RegionRackController()
26+ primary.current_config.interface_set.add(
27+ factory.make_Interface(link_connected=False)
28+ )
29+ secondary = factory.make_RackController()
30+ factory.make_VLAN(primary_rack=primary, secondary_rack=secondary)
31+ factory.make_VLAN(primary_rack=primary)
32+ output = handler.get({"system_id": primary.system_id})
33+ self.assertEqual(output["vlans_ha"]["true"], 1)
34+ self.assertEqual(
35+ output["vlans_ha"]["false"], 2
36+ ) # default interface and the one linked to vlan2

Subscribers

People subscribed via source and target branches