]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: Fix unfound progress events 58758/head
authorPrashant D <pdhange@redhat.com>
Fri, 3 May 2024 23:32:32 +0000 (19:32 -0400)
committerAdam King <adking@redhat.com>
Tue, 23 Jul 2024 16:25:00 +0000 (12:25 -0400)
While applying service specs, cephadm creates a progress event for
the daemons to be added or deleted from the hosts. The progress
event is initialized if progress_total is greater than 0
but at the end cephadm tries to mark the progress event as
complete/fail even though progress event has not been initialized.

Mark progress events as complete/fail only if they are initialized.

Fixes: https://tracker.ceph.com/issues/65799
Signed-off-by: Prashant D <pdhange@redhat.com>
(cherry picked from commit cfcdfd6ae2e0580450cc857123ca35e0d4d2ebea)

src/pybind/mgr/cephadm/serve.py

index 0014e5421239a7a4bb69262f0c6cb6727fd7de43..3cf64f756475af5abaff4667a818fb5beedf60b4 100644 (file)
@@ -926,9 +926,11 @@ class CephadmServe:
                 hosts_altered.add(d.hostname)
                 self.mgr.spec_store.mark_needs_configuration(spec.service_name())
 
-            self.mgr.remote('progress', 'complete', progress_id)
+            if progress_total:
+                self.mgr.remote('progress', 'complete', progress_id)
         except Exception as e:
-            self.mgr.remote('progress', 'fail', progress_id, str(e))
+            if progress_total:
+                self.mgr.remote('progress', 'fail', progress_id, str(e))
             raise
         finally:
             if self.mgr.spec_store.needs_configuration(spec.service_name()):