]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/vol: don't define progress bar ID repeatedly 60027/head
authorRishabh Dave <ridave@redhat.com>
Fri, 27 Sep 2024 08:20:29 +0000 (13:50 +0530)
committerRishabh Dave <ridave@redhat.com>
Fri, 27 Sep 2024 08:31:40 +0000 (14:01 +0530)
Orignally, when the feature was in development, IDs for clone progress
bars were set to randomly generated UUID strings. But, eventually, it
was decided to assign fixed strings to them. Unlike UUIDs, these strings
stay the same even when progress bars are destroyed and re-created.
Therefore, instead of re-assigning the same strings every time
initiate_reporting() is called, move them to __init__() so that both the
IDs are defined only once.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
src/pybind/mgr/volumes/fs/stats_util.py

index cec33eaa8873dc96ea3a8c07603c24c4dbd7871b..3334dc5a3d7656a0c90bd299878fb30546e50cda 100644 (file)
@@ -106,6 +106,11 @@ class CloneProgressReporter:
         # reporting has already been initiated by calling RTimer.is_alive().
         self.update_task = RTimer(1, self._update_progress_bars)
 
+        # progress event ID for ongoing clone jobs
+        self.on_pev_id: Optional[str] = 'mgr-vol-ongoing-clones'
+        # progress event ID for ongoing+pending clone jobs
+        self.onpen_pev_id: Optional[str] = 'mgr-vol-total-clones'
+
     def initiate_reporting(self):
         if self.update_task.is_alive():
             log.info('progress reporting thread is already alive, not '
@@ -113,11 +118,6 @@ class CloneProgressReporter:
             return
 
         log.info('initiating progress reporting for clones...')
-        # progress event ID for ongoing clone jobs
-        self.on_pev_id: Optional[str] = 'mgr-vol-ongoing-clones'
-        # progress event ID for ongoing+pending clone jobs
-        self.onpen_pev_id: Optional[str] = 'mgr-vol-total-clones'
-
         self.update_task = RTimer(1, self._update_progress_bars)
         self.update_task.start()
         log.info('progress reporting for clones has been initiated')
@@ -294,10 +294,7 @@ class CloneProgressReporter:
         assert self.onpen_pev_id is not None
 
         self.volclient.mgr.remote('progress', 'complete', self.on_pev_id)
-        self.on_pev_id = None
-
         self.volclient.mgr.remote('progress', 'complete', self.onpen_pev_id)
-        self.onpen_pev_id = None
 
         log.info('finished removing progress bars from "ceph status" output')