Преглед изворни кода

Add and use utility function to filter out chunk info from logs.

Nashwan Azhari пре 7 година
родитељ
комит
b9fdde27e6
2 измењених фајлова са 22 додато и 2 уклоњено
  1. 16 0
      coriolis/utils.py
  2. 6 2
      coriolis/worker/rpc/server.py

+ 16 - 0
coriolis/utils.py

@@ -3,6 +3,7 @@
 
 import base64
 import binascii
+import copy
 import functools
 import hashlib
 import io
@@ -481,3 +482,18 @@ def bad_request_on_error(error_message):
             return (is_valid, message)
         return wrapper
     return _bad_request_on_error
+
+
+def filter_chunking_info_for_task(task_info):
+    """ Returns a copy of the given task info with any chunking
+    info on volumes removed.
+    """
+    cpy = copy.deepcopy(task_info)
+    if not cpy.get("volumes_info"):
+        return cpy
+
+    for vol in cpy['volumes_info']:
+        if vol.get("replica_state", {}).get("chunks"):
+            vol["replica_state"]["chunks"] = "<redacted>"
+
+    return cpy

+ 6 - 2
coriolis/worker/rpc/server.py

@@ -193,7 +193,9 @@ class WorkerServerEndpoint(object):
                 instance, task_info)
 
             if new_task_info:
-                LOG.info("Task info: %s", new_task_info)
+                LOG.info(
+                    "Task info: %s",
+                    utils.filter_chunking_info_for_task(new_task_info))
 
             # TODO(alexpilotti): replace the temp storage with a host
             # independent option
@@ -410,7 +412,9 @@ def _task_process(ctxt, task_id, task_type, origin, destination, instance,
                   "instance: %(instance)s, task_info: %(task_info)s",
                   {"task_id": task_id, "task_type": task_type,
                    "origin": origin, "destination": destination,
-                   "instance": instance, "task_info": task_info})
+                   "instance": instance,
+                   "task_info": utils.filter_chunking_info_for_task(
+                       task_info)})
 
         new_task_info = task_runner.run(
             ctxt, instance, origin, destination, task_info, event_handler)