)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"88ee107bc4ea9c3ad2727bcaecbcfaa5cd5e6235","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d01262bf_c76b59c9","updated":"2024-07-02 14:58:38.000000000","message":"The cinder-for-glance-optimized job fails because in the volume rekey path, the new format_inspector is trying to open a block device as the unprivileged cinder user, but would need root access to do so.\n\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager Traceback (most recent call last):\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager   File \"/opt/stack/data/venv/lib/python3.10/site-packages/taskflow/engines/action_engine/executor.py\", line 52, in _execute_task\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager     result \u003d task.execute(**arguments)\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager   File \"/opt/stack/cinder/cinder/volume/flows/manager/create_volume.py\", line 1238, in execute\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager     model_update \u003d self._create_from_source_volume(\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager   File \"/opt/stack/cinder/cinder/volume/flows/manager/create_volume.py\", line 664, in _create_from_source_volume\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager     rekey_model_update \u003d self._rekey_volume(context, volume)\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager   File \"/opt/stack/cinder/cinder/volume/flows/manager/create_volume.py\", line 629, in _rekey_volume\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager     with excutils.save_and_reraise_exception():\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 227, in __exit__\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager     self.force_reraise()\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 200, in force_reraise\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager     raise self.value\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager   File \"/opt/stack/cinder/cinder/volume/flows/manager/create_volume.py\", line 559, in _rekey_volume\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager     image_info \u003d image_utils.qemu_img_info(\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager   File \"/opt/stack/cinder/cinder/image/image_utils.py\", line 169, in qemu_img_info\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager     inspector \u003d format_inspector.detect_file_format(path)\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager   File \"/opt/stack/cinder/cinder/image/format_inspector.py\", line 921, in detect_file_format\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager     with open(filename, \u0027rb\u0027) as f:\n    Jul 02 14:29:04.427847 np0037858534 cinder-volume[86352]: ERROR cinder.volume.manager PermissionError: [Errno 13] Permission denied: \u0027/dev/disk/by-id/os-brick+dev+sdb\u0027","commit_id":"4f26e7ddb20c9734386fbd99ee7d600c6ed3e7a2"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c3ed4868327690ea806ab7dff33de0a4f7ec5a3e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f7a05e12_4c8449ad","updated":"2024-07-03 02:18:07.000000000","message":"Failures in cinder-for-glance-optimized and tempest-slow-py3 are unrelated to this change.\n\nHere\u0027s what the regression was.  It showed up in any jobs running cinder-tempest-plugin encryption tests, for example:\n\ncinder-tempest-plugin-lvm-lio-barbican\n\njob results from Patchset 1 on this review:\nhttps://zuul.opendev.org/t/openstack/build/98a90ed135ff42fa80c8dead5b06ade7\n\nTwo failures:\n1. cinder_tempest_plugin.scenario.test_volume_encrypted.TestEncryptedCinderVolumes.test_attach_cloned_encrypted_volume\n2. cinder_tempest_plugin.scenario.test_volume_encrypted.TestEncryptedCinderVolumes.test_boot_cloned_encrypted_volume\n\nBoth produced this error in the console log:\ntempest.exceptions.VolumeResourceBuildErrorException: volume \u003cuuid\u003e failed to build and is in ERROR status\n\nBoth showed a PermissionError in the screen-c-vol log:\nhttps://zuul.opendev.org/t/openstack/build/98a90ed135ff42fa80c8dead5b06ade7/log/controller/logs/screen-c-vol.txt#31151\n\nResults on Patchset 3:\nhttps://zuul.opendev.org/t/openstack/build/4dfc5636f3c943c9819d82afdcc1748a\n(no failures)","commit_id":"d6a186945e03649343af55b46ed8dfe0dd326e40"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65e4e73eeb7a61a9a4b9ba02c8506e59d53877eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a3e55d3b_76d64048","updated":"2024-07-03 12:22:57.000000000","message":"Thanks for the reviews!","commit_id":"d6a186945e03649343af55b46ed8dfe0dd326e40"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"00d4049c845cda88ca83d22bf71bac790cc15cb2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d3459e67_8e20ccb0","updated":"2024-07-03 02:37:23.000000000","message":"The approach here looks good -- will give the code another look tomorrow.","commit_id":"d6a186945e03649343af55b46ed8dfe0dd326e40"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"9bb2de9bd96d18070054e21ee0769f48502e09d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f101f181_1d98d3f0","updated":"2024-07-03 05:40:55.000000000","message":"changes LGTM, we are rejecting use of external data files in qcow2 images which is not used by Cinder and should not impact users. LGTM.","commit_id":"d6a186945e03649343af55b46ed8dfe0dd326e40"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"170ef9026380c296767b113bffd6f2e1131fec65","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"02b9b9ea_a28f1285","updated":"2024-07-03 02:18:47.000000000","message":"recheck tempest-slow-py3 - failure is tempest.scenario.test_instances_with_cinder_volumes.TestInstancesWithCinderVolumes.test_instances_with_cinder_volumes_on_all_compute_nodes : \ntest timed out making request \u0027set -eu -o pipefail; PATH\u003d$PATH:/sbin:/usr/sbin; sudo mkfs -t vfat /dev/vdb\u0027 on the instance","commit_id":"d6a186945e03649343af55b46ed8dfe0dd326e40"}],"cinder/image/image_utils.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c8ac1796f2f9c315365f781049771e6138ac7141","unresolved":true,"context_lines":[{"line_number":52,"context_line":"from cinder.i18n import _"},{"line_number":53,"context_line":"from cinder.image import accelerator"},{"line_number":54,"context_line":"from cinder.image import glance"},{"line_number":55,"context_line":"import cinder.privsep.format_inspector"},{"line_number":56,"context_line":"from cinder import utils"},{"line_number":57,"context_line":"from cinder.volume import throttling"},{"line_number":58,"context_line":"from cinder.volume import volume_utils"}],"source_content_type":"text/x-python","patch_set":3,"id":"6222fb03_51cd99ce","line":55,"range":{"start_line":55,"start_character":0,"end_line":55,"end_character":38},"updated":"2024-07-03 06:07:38.000000000","message":"nit: from cinder.privsep import format_inspector","commit_id":"d6a186945e03649343af55b46ed8dfe0dd326e40"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65e4e73eeb7a61a9a4b9ba02c8506e59d53877eb","unresolved":true,"context_lines":[{"line_number":52,"context_line":"from cinder.i18n import _"},{"line_number":53,"context_line":"from cinder.image import accelerator"},{"line_number":54,"context_line":"from cinder.image import glance"},{"line_number":55,"context_line":"import cinder.privsep.format_inspector"},{"line_number":56,"context_line":"from cinder import utils"},{"line_number":57,"context_line":"from cinder.volume import throttling"},{"line_number":58,"context_line":"from cinder.volume import volume_utils"}],"source_content_type":"text/x-python","patch_set":3,"id":"88ace9c3_8e2a8e59","line":55,"range":{"start_line":55,"start_character":0,"end_line":55,"end_character":38},"in_reply_to":"6222fb03_51cd99ce","updated":"2024-07-03 12:22:57.000000000","message":"This is an openstack pattern; we import like this so that we have to use the entire qualified name when a function in the module is called (as you noticed on line 169) so that it\u0027s clear that this is a \"special\" function.\n\nhttps://docs.openstack.org/oslo.privsep/latest/user/index.html#using-a-privileged-function","commit_id":"d6a186945e03649343af55b46ed8dfe0dd326e40"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c8ac1796f2f9c315365f781049771e6138ac7141","unresolved":true,"context_lines":[{"line_number":166,"context_line":"        allow_qcow2_backing_file: bool \u003d False) -\u003e imageutils.QemuImgInfo:"},{"line_number":167,"context_line":"    \"\"\"Return an object containing the parsed output from qemu-img info.\"\"\""},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    format_name \u003d cinder.privsep.format_inspector.get_format_if_safe("},{"line_number":170,"context_line":"        path\u003dpath,"},{"line_number":171,"context_line":"        allow_qcow2_backing_file\u003dallow_qcow2_backing_file)"},{"line_number":172,"context_line":"    if format_name is None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"0d81a549_85aae7f1","line":169,"range":{"start_line":169,"start_character":18,"end_line":169,"end_character":49},"updated":"2024-07-03 06:07:38.000000000","message":"nit: format_inspector.get_format_if_safe(","commit_id":"d6a186945e03649343af55b46ed8dfe0dd326e40"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65e4e73eeb7a61a9a4b9ba02c8506e59d53877eb","unresolved":true,"context_lines":[{"line_number":166,"context_line":"        allow_qcow2_backing_file: bool \u003d False) -\u003e imageutils.QemuImgInfo:"},{"line_number":167,"context_line":"    \"\"\"Return an object containing the parsed output from qemu-img info.\"\"\""},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    format_name \u003d cinder.privsep.format_inspector.get_format_if_safe("},{"line_number":170,"context_line":"        path\u003dpath,"},{"line_number":171,"context_line":"        allow_qcow2_backing_file\u003dallow_qcow2_backing_file)"},{"line_number":172,"context_line":"    if format_name is None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a78dcc2_15b3e66d","line":169,"range":{"start_line":169,"start_character":18,"end_line":169,"end_character":49},"in_reply_to":"0d81a549_85aae7f1","updated":"2024-07-03 12:22:57.000000000","message":"See reply at line 55.","commit_id":"d6a186945e03649343af55b46ed8dfe0dd326e40"}],"cinder/tests/unit/image/test_format_inspector.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"00d4049c845cda88ca83d22bf71bac790cc15cb2","unresolved":true,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def get_size_from_qemu_img(filename):"},{"line_number":31,"context_line":"    output \u003d subprocess.check_output(\u0027qemu-img info \"%s\"\u0027 % filename,"},{"line_number":32,"context_line":"                                     shell\u003dTrue)"},{"line_number":33,"context_line":"    for line in output.split(b\u0027\\n\u0027):"},{"line_number":34,"context_line":"        m \u003d re.search(b\u0027^virtual size: .* .([0-9]+) bytes\u0027, line.strip())"}],"source_content_type":"text/x-python","patch_set":3,"id":"7c2cb8ee_c83701fe","line":31,"updated":"2024-07-03 02:37:23.000000000","message":"We previously removed parsing of qemu-img info text output and switched to only using json, should probably use the json output mode here too.  (But not required in this current patch.)","commit_id":"d6a186945e03649343af55b46ed8dfe0dd326e40"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65e4e73eeb7a61a9a4b9ba02c8506e59d53877eb","unresolved":true,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def get_size_from_qemu_img(filename):"},{"line_number":31,"context_line":"    output \u003d subprocess.check_output(\u0027qemu-img info \"%s\"\u0027 % filename,"},{"line_number":32,"context_line":"                                     shell\u003dTrue)"},{"line_number":33,"context_line":"    for line in output.split(b\u0027\\n\u0027):"},{"line_number":34,"context_line":"        m \u003d re.search(b\u0027^virtual size: .* .([0-9]+) bytes\u0027, line.strip())"}],"source_content_type":"text/x-python","patch_set":3,"id":"bb432cbf_b534b058","line":31,"in_reply_to":"7c2cb8ee_c83701fe","updated":"2024-07-03 12:22:57.000000000","message":"Good point, this can be addressed when the format_inspector gets moved to oslo.","commit_id":"d6a186945e03649343af55b46ed8dfe0dd326e40"}]}
