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)
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()):