From: Aarti Date: Thu, 19 Mar 2026 18:03:32 +0000 (+0530) Subject: dashboard: use metadata = event.get('refs', {}) instead of dict(event.get('refs'... X-Git-Tag: v21.0.1~50^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e99e6e7ff9c681af3bfcfffd1c99d53bb04dff3f;p=ceph.git dashboard: use metadata = event.get('refs', {}) instead of dict(event.get('refs', {})) Fixes: https://tracker.ceph.com/issues/75619 Signed-off-by: Aarti Dhikale --- diff --git a/src/pybind/mgr/dashboard/services/progress.py b/src/pybind/mgr/dashboard/services/progress.py index baf1f92695f..355d6fa827b 100644 --- a/src/pybind/mgr/dashboard/services/progress.py +++ b/src/pybind/mgr/dashboard/services/progress.py @@ -45,11 +45,27 @@ def _progress_event_to_dashboard_task_common(event, task): }) return + refs = event.get('refs', {}) + + if isinstance(refs, dict): + metadata = refs + elif isinstance(refs, (list, tuple)): + if all(isinstance(i, (list, tuple)) and len(i) == 2 for i in refs): + metadata = dict(refs) + else: + metadata = {"raw_refs": refs} + elif isinstance(refs, str): + metadata = {"raw_refs": refs} + elif refs is None: + metadata = {} + else: + metadata = {"raw_refs": refs} + task.update({ # we're prepending the "progress/" prefix to tag tasks that come # from the progress module 'name': "progress/{}".format(event['message']), - 'metadata': dict(event.get('refs', {})), + 'metadata': metadata, 'begin_time': datetime.fromtimestamp( event["started_at"], tz=timezone.utc).isoformat(), })