Skip to content

Commit a1937f2

Browse files
committed
Replace print with logger output for the GROUP MONITOR and own GM logger
Change-Id: I62c93dacad11d07ce1b910620c4470f8ef3e334e
1 parent fa4ca86 commit a1937f2

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

mysqloperator/controller/group_monitor.py

+16-13
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
from mysqloperator.controller.shellutils import RetryLoop
1212
from . import shellutils
13+
from logging import Logger, getLogger
1314
import threading
1415
import time
1516
import select
@@ -36,6 +37,7 @@ def __init__(self, cluster: InnoDBCluster,
3637
self.last_view_id = None
3738

3839
self.handler = handler
40+
self.logger: Logger = getLogger(f"CM_{self.cluster.name}")
3941

4042
@property
4143
def name(self) -> str:
@@ -48,18 +50,18 @@ def namespace(self) -> str:
4850
def ensure_connected(self) -> Optional['mysqlx.Session']:
4951
# TODO run a ping every X seconds
5052
if not self.session and (not self.last_connect_attempt or time.time() - self.last_connect_attempt > k_connect_retry_interval):
51-
print(f"GroupMonitor: Trying to connect to a member of cluster {self.cluster.namespace}/{self.cluster.name}")
53+
self.logger.info(f"Trying to connect to a member of cluster {self.cluster.namespace}/{self.cluster.name}")
5254
self.last_connect_attempt = time.time()
5355
self.session = None
5456
self.connect_to_primary()
5557

5658
# force a refresh after we connect so we don't miss anything
5759
# that happened while we were out
5860
if self.session:
59-
print(f"GroupMonitor: Connect member of {self.cluster.namespace}/{self.cluster.name} OK {self.session}")
61+
self.logger.info(f"Connection to member of {self.cluster.namespace}/{self.cluster.name} OK {self.session}")
6062
self.on_view_change(None)
6163
else:
62-
print(f"GroupMonitor: Connect to member of {self.cluster.namespace}/{self.cluster.name} failed")
64+
self.logger.error(f"Connection to member of {self.cluster.namespace}/{self.cluster.name} FAILED")
6365

6466
return self.session
6567

@@ -68,9 +70,9 @@ def connect_to_primary(self) -> None:
6870
session, is_primary = self.find_primary()
6971
if not is_primary:
7072
if session:
71-
print(f"GroupMonitor: Could not connect to PRIMARY of cluster {self.cluster.namespace}/{self.cluster.name}")
73+
self.logger.error(f"Could not connect to PRIMARY of cluster {self.cluster.namespace}/{self.cluster.name}")
7274
else:
73-
print(f"GroupMonitor: Could not connect to PRIMARY nor SECONDARY of cluster {self.cluster.namespace}/{self.cluster.name}")
75+
self.logger.error(f"Could not connect to neither PRIMARY nor SECONDARY of cluster {self.cluster.namespace}/{self.cluster.name}")
7476

7577
if session:
7678
try:
@@ -127,7 +129,7 @@ def try_connect(self, pod) -> Optional['mysqlx.Session']:
127129
try:
128130
session = mysqlx.get_session(pod.xendpoint_co)
129131
except mysqlsh.Error as e:
130-
print(f"GroupMonitor: Error connecting to {pod.xendpoint}: {e}")
132+
self.logger.error(f"ERROR CONNECTING TO {pod.xendpoint}: {e}")
131133
return None
132134

133135
return session
@@ -140,14 +142,13 @@ def handle_notice(self) -> None:
140142
notice = self.session._fetch_notice()
141143
if not notice:
142144
break
143-
print(f"GOT NOTICE {notice}")
145+
self.logger.info(f"GOT NOTICE {notice}")
144146
self.on_view_change(notice.get("view_id"))
145147
if not self.session:
146148
break
147149

148150
except mysqlsh.Error as e:
149-
print(
150-
f"GroupMonitor: Error fetching notice: dest={self.target} error={e}")
151+
self.logger.error(f"ERROR FETCHING NOTICE: dest={self.target} error={e}")
151152
self.session.close()
152153
self.session = None
153154
break
@@ -170,8 +171,7 @@ def on_view_change(self, view_id: Optional[str]) -> None:
170171

171172
# force reconnection if the PRIMARY changed or we're not connected to the PRIMARY
172173
if self.target_not_primary or force_reconnect:
173-
print(
174-
f"GroupMonitor: PRIMARY changed for {self.cluster.namespace}/{self.cluster.name}")
174+
self.logger.info(f"PRIMARY changed for {self.cluster.namespace}/{self.cluster.name}")
175175
if self.session:
176176
self.session.close()
177177
self.session = None
@@ -185,6 +185,8 @@ def __init__(self):
185185
self.clusters : List[MonitoredCluster] = []
186186
self.stopped = False
187187

188+
self.logger: Logger = getLogger("GROUP_MONITOR")
189+
188190
def monitor_cluster(self, cluster: InnoDBCluster,
189191
handler: Callable[[InnoDBCluster, list[tuple], bool], None],
190192
logger: Logger) -> None:
@@ -193,16 +195,17 @@ def monitor_cluster(self, cluster: InnoDBCluster,
193195
return
194196

195197
# We could get called here before the Secret is ready
196-
account = RetryLoop(logger).call(cluster.get_admin_account)
198+
account = RetryLoop(self.logger).call(cluster.get_admin_account)
197199

198200
target = MonitoredCluster(cluster, account, handler)
199201
self.clusters.append(target)
200-
print(f"Added monitor for {cluster.namespace}/{cluster.name}")
202+
self.logger.info(f"ADDED A MONITOR FOR {cluster.namespace}/{cluster.name}")
201203

202204
def remove_cluster(self, cluster: InnoDBCluster) -> None:
203205
for c in self.clusters:
204206
if c.name == cluster.name and c.namespace == cluster.namespace:
205207
self.clusters.remove(c)
208+
self.logger.info(f"REMOVED THE MONITOR OF CLUSTER {cluster.namespace}/{cluster.name}")
206209
break
207210

208211
def run(self) -> None:

0 commit comments

Comments
 (0)