]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
dashboard: use metadata = event.get('refs', {}) instead of dict(event.get('refs'... 67901/head
authorAarti <Aarti.s.Dhikale@ibm.com>
Thu, 19 Mar 2026 18:03:32 +0000 (23:33 +0530)
committerAarti <Aarti.s.Dhikale@ibm.com>
Tue, 12 May 2026 13:39:56 +0000 (19:09 +0530)
Fixes: https://tracker.ceph.com/issues/75619
Signed-off-by: Aarti Dhikale <aarti.s.dhikale@ibm.com>
src/pybind/mgr/dashboard/services/progress.py

index baf1f92695f6797037e1c9b6407c07b5968bd754..355d6fa827b8f5794e17ba33737d999603fcf3b3 100644 (file)
@@ -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(),
     })