)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"176c058a03eb3d93d7c1c5a1632a8c3b649dc6f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8367a33e_d12183b9","updated":"2026-03-11 21:44:58.000000000","message":"recheck pep8 looks like a git timeout","commit_id":"85d3b550f62bca2a9dd4919a4dc5a667ef0eafa3"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"172cd249225981fdaa813fbdb4924792482f9eee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f3c18104_c27f0be1","updated":"2026-03-12 01:58:37.000000000","message":"recheck tempest timed out","commit_id":"85d3b550f62bca2a9dd4919a4dc5a667ef0eafa3"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"87489564a2ec5759b5bff6f3166e16a0e593eb6e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"4f7e24f5_570266a7","updated":"2026-03-25 12:29:33.000000000","message":"Debugging improvement restricted to the driver. It should be fine to get it in.","commit_id":"4c92ca90b6b82a06fc852711911e6a1f742a1563"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"8d52a0c29412ba68d8ccfadac8ec6ce9b9c16c33","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"49b73b4d_6d2f9626","updated":"2026-04-24 18:25:57.000000000","message":"recheck tempest","commit_id":"96a781b4c47cfdcc3d1a0d110089c5fb8c93cbcc"}],"cinder/volume/drivers/hitachi/hbsd_rest_api.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"1041e7e8f29d1d58132d4a66d4dd59bcf37a6b5c","unresolved":true,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"from cinder import exception"},{"line_number":32,"context_line":"from cinder.i18n import _"},{"line_number":33,"context_line":"from cinder.volume.drivers.hitachi import hbsd_utils as debug"},{"line_number":34,"context_line":"from cinder.volume.drivers.hitachi import hbsd_utils as utils"},{"line_number":35,"context_line":"from cinder.volume import volume_utils"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"f391e78e_f34fe944","line":33,"updated":"2026-03-17 10:56:18.000000000","message":"double import can you optimize.","commit_id":"85d3b550f62bca2a9dd4919a4dc5a667ef0eafa3"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"a843008bebae56aaa6b1548bc3b107355b44b25e","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"from cinder import exception"},{"line_number":32,"context_line":"from cinder.i18n import _"},{"line_number":33,"context_line":"from cinder.volume.drivers.hitachi import hbsd_utils as debug"},{"line_number":34,"context_line":"from cinder.volume.drivers.hitachi import hbsd_utils as utils"},{"line_number":35,"context_line":"from cinder.volume import volume_utils"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"c2726442_0616e321","line":33,"in_reply_to":"f391e78e_f34fe944","updated":"2026-03-24 07:35:38.000000000","message":"Hi @jayaanand.borra@netapp.com!  Thank you for the review.\n\nSo, the goal here is to very easily add the ability to add auditing instrumentation into the code in a driver during developer testing / debugging. It\u0027s not meant for customer usage.\n\nWe have a separate file that has alternate definitions for the request auditor / default request auditor.  The default one does nothing as you have noted in your other comments.  So, in order to use the auditor, one must place a separate file (in our case, it is named ```hbsd_debug.py```) alongside the driver.\n\nThe reason for the double import is so that we can very easily switch the auditor during testing.  So, during testing, the only thing we have to do is change ```hbsd_utils``` to ```hbsd_debug``` in the first import to enable the auditing.\n\nIf this is against the cinder rules, I will take it up with Core.  Otherwise, if you have a better suggestion for this than what I\u0027ve done here, let me know!","commit_id":"85d3b550f62bca2a9dd4919a4dc5a667ef0eafa3"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"1041e7e8f29d1d58132d4a66d4dd59bcf37a6b5c","unresolved":true,"context_lines":[{"line_number":287,"context_line":"            return req"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        def __str__(self):"},{"line_number":290,"context_line":"            return str((self.id, self.token))"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    def _request(self, method, url, params\u003dNone, body\u003dNone,"},{"line_number":293,"context_line":"                 async_\u003dFalse, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"0cb14202_bb4a3733","line":290,"updated":"2026-03-17 10:56:18.000000000","message":"token will be logged into logs. is this fine?","commit_id":"85d3b550f62bca2a9dd4919a4dc5a667ef0eafa3"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"a843008bebae56aaa6b1548bc3b107355b44b25e","unresolved":false,"context_lines":[{"line_number":287,"context_line":"            return req"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        def __str__(self):"},{"line_number":290,"context_line":"            return str((self.id, self.token))"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    def _request(self, method, url, params\u003dNone, body\u003dNone,"},{"line_number":293,"context_line":"                 async_\u003dFalse, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"e1886ddd_b3ef9419","line":290,"in_reply_to":"0cb14202_bb4a3733","updated":"2026-03-24 07:35:38.000000000","message":"Yeah, it\u0027s a non-issue as it will only ever happen in a debug scenario in a development environment.  By default the auditing does nothing.","commit_id":"85d3b550f62bca2a9dd4919a4dc5a667ef0eafa3"}],"cinder/volume/drivers/hitachi/hbsd_utils.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"1041e7e8f29d1d58132d4a66d4dd59bcf37a6b5c","unresolved":true,"context_lines":[{"line_number":1506,"context_line":"        pass"},{"line_number":1507,"context_line":""},{"line_number":1508,"context_line":""},{"line_number":1509,"context_line":"def CreateDefaultRequestAuditor(conf):"},{"line_number":1510,"context_line":"    return RequestAuditor()"}],"source_content_type":"text/x-python","patch_set":5,"id":"31de8a4a_a32df233","line":1509,"updated":"2026-03-17 10:56:18.000000000","message":"conf is ignored.","commit_id":"85d3b550f62bca2a9dd4919a4dc5a667ef0eafa3"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"1041e7e8f29d1d58132d4a66d4dd59bcf37a6b5c","unresolved":true,"context_lines":[{"line_number":1506,"context_line":"        pass"},{"line_number":1507,"context_line":""},{"line_number":1508,"context_line":""},{"line_number":1509,"context_line":"def CreateDefaultRequestAuditor(conf):"},{"line_number":1510,"context_line":"    return RequestAuditor()"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f0e28aa_8ad123db","line":1509,"updated":"2026-03-17 10:56:18.000000000","message":"function named like class","commit_id":"85d3b550f62bca2a9dd4919a4dc5a667ef0eafa3"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"a843008bebae56aaa6b1548bc3b107355b44b25e","unresolved":false,"context_lines":[{"line_number":1506,"context_line":"        pass"},{"line_number":1507,"context_line":""},{"line_number":1508,"context_line":""},{"line_number":1509,"context_line":"def CreateDefaultRequestAuditor(conf):"},{"line_number":1510,"context_line":"    return RequestAuditor()"}],"source_content_type":"text/x-python","patch_set":5,"id":"f751abb0_85d8cca5","line":1509,"in_reply_to":"31de8a4a_a32df233","updated":"2026-03-24 07:35:38.000000000","message":"Yah, the default implementation does nothing.  There\u0027s an exact same method in our debug file that gets invoked instead during an audit debug situation.\n\nFor an example, the create default auditor in ```hbsd_debug.py``` that is not merged into the community looks like this (with the new name):\n```\ndef create_default_request_auditor(conf):\n    return FileRequestAuditor(\n        \u0027/tmp/hitachi_audit.log\u0027,\n        conf.safe_get(\u0027volume_backend_name\u0027) or \"UNKNOWN\",\n        verbose\u003dTrue)\n```\n\n```FileRequestAuditor``` inherits from ```RequestAuditor``` and is also in ```hbsd_debug.py```.","commit_id":"85d3b550f62bca2a9dd4919a4dc5a667ef0eafa3"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"a843008bebae56aaa6b1548bc3b107355b44b25e","unresolved":false,"context_lines":[{"line_number":1506,"context_line":"        pass"},{"line_number":1507,"context_line":""},{"line_number":1508,"context_line":""},{"line_number":1509,"context_line":"def CreateDefaultRequestAuditor(conf):"},{"line_number":1510,"context_line":"    return RequestAuditor()"}],"source_content_type":"text/x-python","patch_set":5,"id":"aceed125_422215d1","line":1509,"in_reply_to":"9f0e28aa_8ad123db","updated":"2026-03-24 07:35:38.000000000","message":"Will fix this.","commit_id":"85d3b550f62bca2a9dd4919a4dc5a667ef0eafa3"}]}
