)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"414c9a4994b36e969e3f982825f1c8aaaa1bb775","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bf3a5225_1a16f542","updated":"2025-03-26 14:45:28.000000000","message":"+1 Code looks good, well documented and tested.","commit_id":"ddfde7c27e2117a52b0eedd3164784047957ca66"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"d41be699db51137afbeb61ef282cb992243bd03d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4e4ff926_43892f6a","updated":"2025-03-26 15:12:43.000000000","message":"I didn\u0027t notice Eric\u0027s follow-up patch, so my objection is withdrawn","commit_id":"ddfde7c27e2117a52b0eedd3164784047957ca66"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"31caec46f5dbe29cc4d651544547a4fcc95b436d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4e0f33bf_ea02c825","updated":"2025-03-20 15:22:03.000000000","message":"Looks good.","commit_id":"ddfde7c27e2117a52b0eedd3164784047957ca66"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"e192b2563956d0414eb9ab980c61b16a2c84b678","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"55b9df36_950d5dbe","updated":"2025-03-26 14:54:19.000000000","message":"Ok","commit_id":"ddfde7c27e2117a52b0eedd3164784047957ca66"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"9dd51fe616b1828772902ee1c35e9e7226011108","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"625e0f94_5b7d92ba","updated":"2025-03-26 15:07:18.000000000","message":"See comment inline.","commit_id":"ddfde7c27e2117a52b0eedd3164784047957ca66"},{"author":{"_account_id":35316,"name":"Keerthivasan S","email":"ksuresh@purestorage.com","username":"keerthivasan"},"change_message_id":"3542da8f9e0781e2de3ab154f6f4f701eaee8123","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a0ee15b3_bd9848dc","updated":"2025-03-21 10:59:44.000000000","message":"run Pure Storage CI","commit_id":"ddfde7c27e2117a52b0eedd3164784047957ca66"},{"author":{"_account_id":35316,"name":"Keerthivasan S","email":"ksuresh@purestorage.com","username":"keerthivasan"},"change_message_id":"0ab0793d49efd1de83ba30ea48d74cacee4bd2c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f749dc32_fda2ff44","updated":"2025-03-20 13:36:01.000000000","message":"run Pure Storage CI","commit_id":"ddfde7c27e2117a52b0eedd3164784047957ca66"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"28538254a6a734d84f34298b7d24a4b8598b7ff8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"79fa746f_f7b00cdc","updated":"2025-04-07 13:19:44.000000000","message":"Only change from PS1 is improved mocking in a unit test, so this patch still LGTM.","commit_id":"bc2c4cc9c80a5ed19354b2c8a903dfb2b5abad4d"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"57dc4d17a5e2378409493f0c91f8a2ea9d900982","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"38cc9b02_aa135b82","updated":"2025-03-26 18:42:03.000000000","message":"recheck","commit_id":"bc2c4cc9c80a5ed19354b2c8a903dfb2b5abad4d"}],"cinder/tests/unit/volume/drivers/test_pure.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"9dd51fe616b1828772902ee1c35e9e7226011108","unresolved":true,"context_lines":[{"line_number":2114,"context_line":"                                                     qos\u003dqos_data)"},{"line_number":2115,"context_line":"        mock_fa.return_value \u003d mock_data"},{"line_number":2116,"context_line":"        mock_qos_specs.return_value \u003d qos"},{"line_number":2117,"context_line":"        self.driver._get_volume_type_extra_spec \u003d mock.Mock("},{"line_number":2118,"context_line":"            return_value\u003d{})"},{"line_number":2119,"context_line":"        self.driver.create_cloned_volume(vol, src_vol)"},{"line_number":2120,"context_line":"        self.driver.set_qos.assert_called_with(self.array, vol_name, qos)"},{"line_number":2121,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"a2c30908_8efcc33e","line":2118,"range":{"start_line":2117,"start_character":0,"end_line":2118,"end_character":28},"updated":"2025-03-26 15:07:18.000000000","message":"The tests are passing now, but this is a dangerous way to patch this.  The problem is that I don\u0027t think that this gets reset anywhere, and so the next test that runs after this one won\u0027t have the real function available, but instead will just get and empty dict when the function is called.\n\nI realize that these tests use this pattern all over the place, which is why i suggested it on the revert patch.  But I think what you need to do is one of:\n(1) if you really never want to call the \"real\" _get_volume_type_extra_spec(), then it should be mocked out in the test class setup function\n(2) use the patch decorator on those functions that need to mock the function\n\nEither one is going to touch a bunch of lines of test code.  Eric has some opinions on this, maybe he could weigh in.","commit_id":"ddfde7c27e2117a52b0eedd3164784047957ca66"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"4169e0d0bf02ddd48bbcbe58ac00a8728b6e8e63","unresolved":false,"context_lines":[{"line_number":2114,"context_line":"                                                     qos\u003dqos_data)"},{"line_number":2115,"context_line":"        mock_fa.return_value \u003d mock_data"},{"line_number":2116,"context_line":"        mock_qos_specs.return_value \u003d qos"},{"line_number":2117,"context_line":"        self.driver._get_volume_type_extra_spec \u003d mock.Mock("},{"line_number":2118,"context_line":"            return_value\u003d{})"},{"line_number":2119,"context_line":"        self.driver.create_cloned_volume(vol, src_vol)"},{"line_number":2120,"context_line":"        self.driver.set_qos.assert_called_with(self.array, vol_name, qos)"},{"line_number":2121,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"406422a8_0da3effe","line":2118,"range":{"start_line":2117,"start_character":0,"end_line":2118,"end_character":28},"in_reply_to":"6219c53a_4f67e5c0","updated":"2025-03-26 16:04:49.000000000","message":"I don\u0027t think Eric\u0027s patch fixes the this one here. We will fix this one and Eric\u0027s patch will cover the rest.","commit_id":"ddfde7c27e2117a52b0eedd3164784047957ca66"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"a7090912c42753320b296c10a8af79366293b481","unresolved":true,"context_lines":[{"line_number":2114,"context_line":"                                                     qos\u003dqos_data)"},{"line_number":2115,"context_line":"        mock_fa.return_value \u003d mock_data"},{"line_number":2116,"context_line":"        mock_qos_specs.return_value \u003d qos"},{"line_number":2117,"context_line":"        self.driver._get_volume_type_extra_spec \u003d mock.Mock("},{"line_number":2118,"context_line":"            return_value\u003d{})"},{"line_number":2119,"context_line":"        self.driver.create_cloned_volume(vol, src_vol)"},{"line_number":2120,"context_line":"        self.driver.set_qos.assert_called_with(self.array, vol_name, qos)"},{"line_number":2121,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"6219c53a_4f67e5c0","line":2118,"range":{"start_line":2117,"start_character":0,"end_line":2118,"end_character":28},"in_reply_to":"a2c30908_8efcc33e","updated":"2025-03-26 15:09:22.000000000","message":"https://review.opendev.org/c/openstack/cinder/+/945110 fixes all of these","commit_id":"ddfde7c27e2117a52b0eedd3164784047957ca66"}]}
