)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5fc823558f0cb1f0674d1d6a389d7511aa8b6514","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b64a3158_abdca3d7","updated":"2024-07-24 14:51:28.000000000","message":"Heads up to melwitt since we discussed stuff around this issue.","commit_id":"b4d03c2bc09c794e5ea07bcfed25e6df72dadf34"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"691832f30cb859dbad1c316542bba82778758196","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6eee8264_52bc19f9","updated":"2024-08-07 12:11:33.000000000","message":"recheck `eventlet.timeout.Timeout: 0.3 seconds` indicates a random failure","commit_id":"1290708dbb4f56375c7563db9ffc7ff58f81d6ba"}],"oslo_utils/imageutils/format_inspector.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f6e5209f37cdce7f51b34f5bf1babf32d045696f","unresolved":true,"context_lines":[{"line_number":511,"context_line":"            return"},{"line_number":512,"context_line":"        elif ver !\u003d 3:"},{"line_number":513,"context_line":"            raise SafetyViolation(\u0027Unsupported qcow2 version\u0027)"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"        i_features \u003d self.region(\u0027header\u0027).data["},{"line_number":516,"context_line":"            self.I_FEATURES:self.I_FEATURES + self.I_FEATURES_LEN]"},{"line_number":517,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"07ad0800_84ae6d54","line":514,"updated":"2024-07-25 09:49:47.000000000","message":"took me a second to determine why you are using an elif here \nbut yes the logic is correct.","commit_id":"ada637481ff56e922d202cadfcd77580a1ca80c4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5fc823558f0cb1f0674d1d6a389d7511aa8b6514","unresolved":false,"context_lines":[{"line_number":457,"context_line":"#"},{"line_number":458,"context_line":"# https://gitlab.com/qemu-project/qemu/-/blob/master/docs/interop/qcow2.txt"},{"line_number":459,"context_line":"class QcowInspector(FileInspector):"},{"line_number":460,"context_line":"    \"\"\"QEMU QCOW Format"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"    This should only require about 32 bytes of the beginning of the file"},{"line_number":463,"context_line":"    to determine the virtual size, and 104 bytes to perform the safety check."}],"source_content_type":"text/x-python","patch_set":2,"id":"c8dc9aa1_e14c68ae","line":460,"updated":"2024-07-24 14:51:28.000000000","message":"We previously discussed renaming this to `Qcow2Inspector` so we could have a `Qcow1Inspector` that always failed. However, while researching the version 2 vs 3 differences, I see that version 1 uses the same exact header. So the proper thing to do here is just make sure this rejects version\u003d1 and thus no need to change the name.\n\nThe `NAME` field needs to match what `qemu-img` calls it, which is `qcow2` for both v2 and v3.","commit_id":"b4d03c2bc09c794e5ea07bcfed25e6df72dadf34"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f6e5209f37cdce7f51b34f5bf1babf32d045696f","unresolved":false,"context_lines":[{"line_number":457,"context_line":"#"},{"line_number":458,"context_line":"# https://gitlab.com/qemu-project/qemu/-/blob/master/docs/interop/qcow2.txt"},{"line_number":459,"context_line":"class QcowInspector(FileInspector):"},{"line_number":460,"context_line":"    \"\"\"QEMU QCOW Format"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"    This should only require about 32 bytes of the beginning of the file"},{"line_number":463,"context_line":"    to determine the virtual size, and 104 bytes to perform the safety check."}],"source_content_type":"text/x-python","patch_set":2,"id":"7515105c_9e8171e2","line":460,"in_reply_to":"c8dc9aa1_e14c68ae","updated":"2024-07-25 09:49:47.000000000","message":"ack\n\ntechincally i think v3 is refering to an internal reverison of the qcow2 format\n\nin other words is qcow2 version 3   there is no qcow3 format.\n\nwe dont suppot the orgianl qcow format or v1 or qcow2 so i agree with what your proposing and having only one inspector for this.","commit_id":"b4d03c2bc09c794e5ea07bcfed25e6df72dadf34"}],"oslo_utils/tests/imageutils/test_format_inspector.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f6e5209f37cdce7f51b34f5bf1babf32d045696f","unresolved":true,"context_lines":[{"line_number":455,"context_line":"        inspector.region(\u0027header\u0027).data \u003d data"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"        def set_version(ver):"},{"line_number":458,"context_line":"            data[0x07] \u003d ver"},{"line_number":459,"context_line":"            inspector.region_complete(\u0027header\u0027)"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"        # All zeros, known version, no feature flags - all good"}],"source_content_type":"text/x-python","patch_set":2,"id":"546c07c0_ae1bd864","line":458,"updated":"2024-07-25 09:49:47.000000000","message":"nit: for future use i might consider defieing named constants for these in the future so that we  can easily correlate them without looking at the format spec.\n\nthat out os scope of this patch but i considered doing this with the iso inspector and didnt mainly to follow the exisitng style but i think it would be nice to do this as part of the general refactors. its a low priority just tought i would mention it while i was reviewing","commit_id":"b4d03c2bc09c794e5ea07bcfed25e6df72dadf34"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"da9348b50e2fcecb3b5632c64a24afd8f68c6344","unresolved":true,"context_lines":[{"line_number":455,"context_line":"        inspector.region(\u0027header\u0027).data \u003d data"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"        def set_version(ver):"},{"line_number":458,"context_line":"            data[0x07] \u003d ver"},{"line_number":459,"context_line":"            inspector.region_complete(\u0027header\u0027)"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"        # All zeros, known version, no feature flags - all good"}],"source_content_type":"text/x-python","patch_set":2,"id":"54323f8f_c2a12007","line":458,"in_reply_to":"546c07c0_ae1bd864","updated":"2024-07-25 13:39:33.000000000","message":"Yeah it just makes the indexing bigger and I\u0027m more interested in the readability of the scenario I\u0027m testing here, but fair point.","commit_id":"b4d03c2bc09c794e5ea07bcfed25e6df72dadf34"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f6e5209f37cdce7f51b34f5bf1babf32d045696f","unresolved":true,"context_lines":[{"line_number":524,"context_line":"        data[0x4E] \u003d 0x81"},{"line_number":525,"context_line":"        self.assertRaisesRegex(format_inspector.SafetyViolation,"},{"line_number":526,"context_line":"                               \u0027Unknown QCOW2 features found\u0027,"},{"line_number":527,"context_line":"                               inspector.check_unknown_features)"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"    def test_vdi(self):"},{"line_number":530,"context_line":"        self._test_format(\u0027vdi\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"e7bc57b9_e1ed0e5d","line":527,"updated":"2024-07-25 09:49:47.000000000","message":"+1","commit_id":"b4d03c2bc09c794e5ea07bcfed25e6df72dadf34"}]}
