)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a9c669af9f02da39159e7569f31a2c1fc02813a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"76902985_4e3706d9","updated":"2022-08-23 20:55:28.000000000","message":"Code and tests look good.  Not approving in case you want to address the log message typo noted inline.  Since log messages aren\u0027t translated, it can be fixed later without requiring a re-translation, so I\u0027m also OK with a later fix. ","commit_id":"199bf20e6721f6d57824431737f9302edb7e3d62"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"3cf9bab41f5548c6a358d3b07a5ff313743f8b70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f7badc0a_f8505fd4","updated":"2022-08-23 15:00:07.000000000","message":"Moving a method from nvmeof connector to nvmeof privileged commands and we have additional tests! LGTM.","commit_id":"199bf20e6721f6d57824431737f9302edb7e3d62"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f507fad8fab2ef1611d01254ab2f994c4d5458cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"760e209f_76d1ce9a","updated":"2022-08-24 12:36:51.000000000","message":"Revision LGTM.","commit_id":"da4561165dab021684fd2c51b0851f098a163318"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"11e50d997f68ce42545b59bebe22e6a357004e24","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b810b2b3_e526a53a","updated":"2022-08-24 09:01:54.000000000","message":"still LGTM after the revision","commit_id":"da4561165dab021684fd2c51b0851f098a163318"}],"os_brick/privileged/nvmeof.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a9c669af9f02da39159e7569f31a2c1fc02813a1","unresolved":true,"context_lines":[{"line_number":81,"context_line":"        with open(\u0027/sys/class/dmi/id/product_uuid\u0027, \u0027r\u0027) as f:"},{"line_number":82,"context_line":"            return f.read().strip()"},{"line_number":83,"context_line":"    except Exception:"},{"line_number":84,"context_line":"        LOG.debug(\"Could no read dmi\u0027s product_id on sysfs\")"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    try:"},{"line_number":87,"context_line":"        out, err \u003d rootwrap.custom_execute(\u0027dmidecode\u0027, \u0027-ssystem-uuid\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"60a925fa_586c53dd","line":84,"range":{"start_line":84,"start_character":25,"end_line":84,"end_character":27},"updated":"2022-08-23 20:55:28.000000000","message":"s/no/not/  ...  also, would it be better to say \u0027product_uuid\u0027 in the log message so it\u0027s absolutely clear what you\u0027re looking for?","commit_id":"199bf20e6721f6d57824431737f9302edb7e3d62"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"08c485b0cc0e1d21478cf09e22aa7e0248f99ad4","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        with open(\u0027/sys/class/dmi/id/product_uuid\u0027, \u0027r\u0027) as f:"},{"line_number":82,"context_line":"            return f.read().strip()"},{"line_number":83,"context_line":"    except Exception:"},{"line_number":84,"context_line":"        LOG.debug(\"Could no read dmi\u0027s product_id on sysfs\")"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    try:"},{"line_number":87,"context_line":"        out, err \u003d rootwrap.custom_execute(\u0027dmidecode\u0027, \u0027-ssystem-uuid\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"80d99b4e_dd14be4e","line":84,"range":{"start_line":84,"start_character":25,"end_line":84,"end_character":27},"in_reply_to":"60a925fa_586c53dd","updated":"2022-08-24 08:50:43.000000000","message":"Done","commit_id":"199bf20e6721f6d57824431737f9302edb7e3d62"}],"os_brick/tests/privileged/test_nvmeof.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"efdd8ce0963812f45bababefa69afe948d302752","unresolved":true,"context_lines":[{"line_number":126,"context_line":"        mock_exec.assert_called_once_with(\u0027nvme\u0027, \u0027show-hostnqn\u0027)"},{"line_number":127,"context_line":"        self.assertEqual(\u0027\u0027, res)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    @mock.patch.object(builtins, \u0027open\u0027)"},{"line_number":130,"context_line":"    def test_get_system_uuid_product_uuid(self, mock_open):"},{"line_number":131,"context_line":"        uuid \u003d \u0027dbc6ba60-36ae-4b96-9310-628832bdfc3d\u0027"},{"line_number":132,"context_line":"        mock_fd \u003d mock_open.return_value.__enter__.return_value"}],"source_content_type":"text/x-python","patch_set":4,"id":"8771a88b_88fb9d18","line":129,"range":{"start_line":129,"start_character":33,"end_line":129,"end_character":39},"updated":"2022-08-19 14:38:03.000000000","message":"I think we\u0027ve found it to work better to use new\u003dmock.mock_open for mocking open() calls.  (See test_image_utils and some other places.)\n\nMocking open like this directly can have some problematic side effects.\n\nhttps://docs.python.org/3/library/unittest.mock.html#unittest.mock.mock_open","commit_id":"f47509044cc44f270a334035cc2a5372e824920a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"b70457b7ab20ff4542459d76ad82dc46b8968601","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        mock_exec.assert_called_once_with(\u0027nvme\u0027, \u0027show-hostnqn\u0027)"},{"line_number":127,"context_line":"        self.assertEqual(\u0027\u0027, res)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    @mock.patch.object(builtins, \u0027open\u0027)"},{"line_number":130,"context_line":"    def test_get_system_uuid_product_uuid(self, mock_open):"},{"line_number":131,"context_line":"        uuid \u003d \u0027dbc6ba60-36ae-4b96-9310-628832bdfc3d\u0027"},{"line_number":132,"context_line":"        mock_fd \u003d mock_open.return_value.__enter__.return_value"}],"source_content_type":"text/x-python","patch_set":4,"id":"8254ac39_3465b54f","line":129,"range":{"start_line":129,"start_character":33,"end_line":129,"end_character":39},"in_reply_to":"8771a88b_88fb9d18","updated":"2022-08-23 09:47:49.000000000","message":"This was a slip, thanks for catching it, I\u0027ll do it like I did in this same file on other tests:\n\n    @mock.patch.object(builtins, \u0027open\u0027, new_callable\u003dmock.mock_open)","commit_id":"f47509044cc44f270a334035cc2a5372e824920a"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"3cf9bab41f5548c6a358d3b07a5ff313743f8b70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"321eb00f_3ee4ef86","line":169,"range":{"start_line":129,"start_character":4,"end_line":169,"end_character":0},"updated":"2022-08-23 15:00:07.000000000","message":"good to know we now have tests for this method","commit_id":"199bf20e6721f6d57824431737f9302edb7e3d62"}]}
