Merge ~cgrabowski/maas:fix_counting_ha_vlans into maas:master

Proposed by Christian Grabowski
Status: Merged
Approved by: Christian Grabowski
Approved revision: 41d390ea77d6c956961e54d77d593f6131c013fe
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~cgrabowski/maas:fix_counting_ha_vlans
Merge into: maas:master
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+427989@code.launchpad.net

Commit message

handle unlinked interfaces when counting HA VLANs

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 lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/278/consoleText
COMMIT: ea45233cce0dc3e9b988d7eead509057ec67ddd7

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

UNIT TESTS
-b fix_counting_ha_vlans lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 41d390ea77d6c956961e54d77d593f6131c013fe

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

+1

review: Approve

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 609526a..193cf2f 100644
3--- a/src/maasserver/websockets/handlers/controller.py
4+++ b/src/maasserver/websockets/handlers/controller.py
5@@ -172,6 +172,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 692f01d..433953b 100644
15--- a/src/maasserver/websockets/handlers/tests/test_controller.py
16+++ b/src/maasserver/websockets/handlers/tests/test_controller.py
17@@ -507,3 +507,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