)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"172fa450760dcee01f9070811b328cc541db19b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0895812d_316d5a03","updated":"2025-05-20 16:24:09.000000000","message":"@jjasek@redhat.com hello, please close this MR.","commit_id":"79f53a044e73cd392c3674f290527926efc3241f"}],"horizon/middleware/operation_log.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"78a2a383d3f48ff756ab8bdc1e26d5aa87d27bd1","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                referer_url \u003d referer_url.decode(\u0027utf-8\u0027)"},{"line_number":149,"context_line":"        except Exception:"},{"line_number":150,"context_line":"            self.OPERATION_LOG.info("},{"line_number":151,"context_line":"                \u0027Can not parse HTTP_REFERER request header.\u0027)"},{"line_number":152,"context_line":"        request_url \u003d urlparse.unquote(request.path)"},{"line_number":153,"context_line":"        if request.META[\u0027QUERY_STRING\u0027]:"},{"line_number":154,"context_line":"            request_url +\u003d \u0027?\u0027 + request.META[\u0027QUERY_STRING\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_b79fc201","line":151,"updated":"2019-06-07 15:36:51.000000000","message":"What should operators do when they see this info? If HTTP_REfERER is not a valid format, it means every http request would generate this log message. I don\u0027t think it is useful.","commit_id":"79f53a044e73cd392c3674f290527926efc3241f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"78a2a383d3f48ff756ab8bdc1e26d5aa87d27bd1","unresolved":false,"context_lines":[{"line_number":175,"context_line":"            if not params:"},{"line_number":176,"context_line":"                params \u003d json.loads(request.body)"},{"line_number":177,"context_line":"        except Exception:"},{"line_number":178,"context_line":"            self.OPERATION_LOG.error(\u0027Can not load request body.\u0027)"},{"line_number":179,"context_line":"        for key in params:"},{"line_number":180,"context_line":"            # replace a value to a masked characters"},{"line_number":181,"context_line":"            if key in self.mask_fields:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_17f48e5a","line":178,"updated":"2019-06-07 15:36:51.000000000","message":"There is a valid case where a body is not JSON format, so this error message would be noisy for such case. This is the reason that \u0027pass\u0027 is used.\n\nIn addition, just a message without detail is meaningless from POV of operators.","commit_id":"79f53a044e73cd392c3674f290527926efc3241f"}],"horizon/templatetags/parse_date.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"78a2a383d3f48ff756ab8bdc1e26d5aa87d27bd1","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                        parsed \u003d timezone.make_aware(parsed, timezone.utc)"},{"line_number":45,"context_line":"                    return parsed"},{"line_number":46,"context_line":"                except Exception:"},{"line_number":47,"context_line":"                    LOG.info(\u0027Can not parse datestring: %s\u0027, datestring)"},{"line_number":48,"context_line":"        return None"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_d7d4b6bf","line":47,"updated":"2019-06-07 15:36:51.000000000","message":"I cannot believe this change. The code tries various formats, and most of them are expected to fail. Logging each failure does not make sense to me at all. This would be super noisy.","commit_id":"79f53a044e73cd392c3674f290527926efc3241f"}],"openstack_dashboard/api/rest/nova.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"78a2a383d3f48ff756ab8bdc1e26d5aa87d27bd1","unresolved":false,"context_lines":[{"line_number":279,"context_line":"            # If not supported, don\u0027t log it to avoid lot of errors in case"},{"line_number":280,"context_line":"            # of AUTO."},{"line_number":281,"context_line":"            except (Exception, httpnotimplemented) as exc:"},{"line_number":282,"context_line":"                LOG.debug("},{"line_number":283,"context_line":"                    \u0027Failed checking %s console with %s\u0027, con_type, exc"},{"line_number":284,"context_line":"                )"},{"line_number":285,"context_line":"                continue"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"            if con_type \u003d\u003d \u0027SERIAL\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_37f43286","line":284,"range":{"start_line":282,"start_character":16,"end_line":284,"end_character":17},"updated":"2019-06-07 15:36:51.000000000","message":"We don\u0027t log it intentionally as described at L.279-280. Please check inline comments.","commit_id":"79f53a044e73cd392c3674f290527926efc3241f"}],"openstack_dashboard/api/swift.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"78a2a383d3f48ff756ab8bdc1e26d5aa87d27bd1","unresolved":false,"context_lines":[{"line_number":185,"context_line":"    except Exception:"},{"line_number":186,"context_line":"        timestamp \u003d None"},{"line_number":187,"context_line":"        is_public \u003d False"},{"line_number":188,"context_line":"        public_url \u003d None"},{"line_number":189,"context_line":"    container_info \u003d {"},{"line_number":190,"context_line":"        \u0027name\u0027: container_name,"},{"line_number":191,"context_line":"        \u0027container_object_count\u0027: headers.get(\u0027x-container-object-count\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_17bc8eb9","line":188,"updated":"2019-06-07 15:36:51.000000000","message":"Why is the original code not good?  Could you provide more specific reason? Just bandit message is not enough because we usually/sometimes use this pattern.","commit_id":"79f53a044e73cd392c3674f290527926efc3241f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"78a2a383d3f48ff756ab8bdc1e26d5aa87d27bd1","unresolved":false,"context_lines":[{"line_number":390,"context_line":"        ts_float \u003d float(headers.get(\u0027x-timestamp\u0027))"},{"line_number":391,"context_line":"        timestamp \u003d datetime.utcfromtimestamp(ts_float).isoformat()"},{"line_number":392,"context_line":"    except Exception:"},{"line_number":393,"context_line":"        timestamp \u003d None"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"    obj_info \u003d {"},{"line_number":396,"context_line":"        \u0027name\u0027: object_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_57c1a62d","line":393,"updated":"2019-06-07 15:36:51.000000000","message":"same question. I cannot understand why the original pattern is BAD...","commit_id":"79f53a044e73cd392c3674f290527926efc3241f"}],"openstack_dashboard/dashboards/project/api_access/tables.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"78a2a383d3f48ff756ab8bdc1e26d5aa87d27bd1","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                return True"},{"line_number":101,"context_line":"        except Exception as e:"},{"line_number":102,"context_line":"            LOG.info("},{"line_number":103,"context_line":"                \u0027An exception occured during \"is_service_enabled\" call: %s\u0027, e)"},{"line_number":104,"context_line":"            return False"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_777e2a1a","line":103,"updated":"2019-06-07 15:36:51.000000000","message":"Are you confident if an exception occurs ONLY from is_service_enabled? Otherwise, the message can be misleading. It should be avoided.","commit_id":"79f53a044e73cd392c3674f290527926efc3241f"}],"openstack_dashboard/dashboards/project/backups/tables.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"78a2a383d3f48ff756ab8bdc1e26d5aa87d27bd1","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            backup.volume \u003d cinder.volume_get(request,"},{"line_number":106,"context_line":"                                              backup.volume_id)"},{"line_number":107,"context_line":"        except Exception:"},{"line_number":108,"context_line":"            LOG.info(\u0027Can not get volume %s details.\u0027, backup.volume_id)"},{"line_number":109,"context_line":"        return backup"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_178ece2d","line":108,"updated":"2019-06-07 15:36:51.000000000","message":"For logging, the exception detail should be included. Otherwise, it is meaningless from operator perspective.","commit_id":"79f53a044e73cd392c3674f290527926efc3241f"}],"openstack_dashboard/dashboards/project/networks/ports/views.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"78a2a383d3f48ff756ab8bdc1e26d5aa87d27bd1","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        try:"},{"line_number":184,"context_line":"            initial[\u0027mac_state\u0027] \u003d port[\u0027mac_learning_enabled\u0027]"},{"line_number":185,"context_line":"        except Exception:"},{"line_number":186,"context_line":"            LOG.info(\u0027MAC Learning is not set.\u0027)"},{"line_number":187,"context_line":"        if \u0027port_security_enabled\u0027 in port:"},{"line_number":188,"context_line":"            initial[\u0027port_security_enabled\u0027] \u003d port[\u0027port_security_enabled\u0027]"},{"line_number":189,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_97907e50","line":186,"updated":"2019-06-07 15:36:51.000000000","message":"Instead, it is better to check mac_learning_enabled field exists or not rather than logging KeyError.","commit_id":"79f53a044e73cd392c3674f290527926efc3241f"}]}
