Merge ~alexsander-souza/maas:lp1998615_to_3_3 into maas:3.3

Proposed by Alexsander de Souza
Status: Merged
Approved by: Alexsander de Souza
Approved revision: 84683ea9bdb20adf66e6533bc94c4519a1648c39
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~alexsander-souza/maas:lp1998615_to_3_3
Merge into: maas:3.3
Diff against target: 52 lines (+22/-1)
2 files modified
src/maasserver/rpc/regionservice.py (+5/-1)
src/maasserver/rpc/tests/test_regionservice.py (+17/-0)
Reviewer Review Type Date Requested Status
MAAS Lander Approve
Alexsander de Souza Approve
Review via email: mp+444130@code.launchpad.net

Commit message

only log that a Rack Controller has disconnected when all connections are gone

(cherry picked from commit 459972b5ca45f0f0534c8a58a603e2300163728f)

To post a comment you must log in.
Revision history for this message
Alexsander de Souza (alexsander-souza) wrote :

self-approve backport

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

UNIT TESTS
-b lp1998615_to_3_3 lp:~alexsander-souza/maas/+git/maas into -b 3.3 lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/2663/console
COMMIT: 84683ea9bdb20adf66e6533bc94c4519a1648c39

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

jenkins: !test

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

UNIT TESTS
-b lp1998615_to_3_3 lp:~alexsander-souza/maas/+git/maas into -b 3.3 lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 84683ea9bdb20adf66e6533bc94c4519a1648c39

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/rpc/regionservice.py b/src/maasserver/rpc/regionservice.py
2index 16afafa..459c5b9 100644
3--- a/src/maasserver/rpc/regionservice.py
4+++ b/src/maasserver/rpc/regionservice.py
5@@ -833,7 +833,8 @@ class RegionServer(Region):
6 log.err, "Failed to unregister the connection with the master."
7 )
8 self.factory.service._removeConnectionFor(self.ident, self)
9- log.msg("Rack controller '%s' disconnected." % self.ident)
10+ if self.factory.service.rack_controller_is_disconnected(self.ident):
11+ log.msg("Rack controller '%s' disconnected." % self.ident)
12 super().connectionLost(reason)
13
14
15@@ -985,6 +986,9 @@ class RegionService(service.Service):
16 self.waiters[ident].add(d)
17 return d
18
19+ def rack_controller_is_disconnected(self, ident):
20+ return len(self.connections[ident]) == 0
21+
22 def _addConnectionFor(self, ident, connection):
23 """Adds `connection` to the set of connections for `ident`.
24
25diff --git a/src/maasserver/rpc/tests/test_regionservice.py b/src/maasserver/rpc/tests/test_regionservice.py
26index f681620..48d44d3 100644
27--- a/src/maasserver/rpc/tests/test_regionservice.py
28+++ b/src/maasserver/rpc/tests/test_regionservice.py
29@@ -971,6 +971,23 @@ class TestRegionService(MAASTestCase):
30 ),
31 )
32
33+ def test_rack_controller_is_disconnected_returns_True_with_no_connections(
34+ self,
35+ ):
36+ service = RegionService(sentinel.ipcWorker)
37+ rack_ident = factory.make_UUID()
38+ self.assertTrue(service.rack_controller_is_disconnected(rack_ident))
39+
40+ def test_rack_controller_is_disconnected_returns_False_with_connections(
41+ self,
42+ ):
43+ service = RegionService(sentinel.ipcWorker)
44+ rack_ident = factory.make_UUID()
45+ c1 = DummyConnection()
46+ c2 = DummyConnection()
47+ service.connections[rack_ident].update({c1, c2})
48+ self.assertFalse(service.rack_controller_is_disconnected(rack_ident))
49+
50 def test_addConnectionFor_adds_connection(self):
51 service = RegionService(sentinel.ipcWorker)
52 uuid = factory.make_UUID()

Subscribers

People subscribed via source and target branches