)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e494e5e9f98690c0aeaa368229721e8284538c74","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7fbd14c2_4e5d11c9","updated":"2022-07-14 12:19:00.000000000","message":"This is a very complete patch. Nice work. Couple of nits but nothing a quick respin won\u0027t be able to address. I\u0027m obliged to ask the same question I always ask when I see things like this though: does this really need to be configurable? Is there any reason someone would *opt out* of image compression and another user would *opt in*? If not, couldn\u0027t we set opinionated defaults.\n\nAs an aside, RHEL 9 dropped support for the SPICE display protocol [1]. While it\u0027s still supported in upstream libvirt and (presumably) other distros like Ubuntu or SLES, I\u0027m not sure this is the best horse to back long-term.\n\n[1] https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/considerations_in_adopting_rhel_9/assembly_virtualization_considerations-in-adopting-rhel-9#ref_changes-to-spice_assembly_virtualization","commit_id":"785818c7235359fa567481a374e35519de7bfad6"},{"author":{"_account_id":34534,"name":"Manuel Bentele","email":"development@manuel-bentele.de","username":"bahnwaerter"},"change_message_id":"474376942e9e523ea53ddca26e292853e30b88b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"012f5af7_edf31813","in_reply_to":"7fbd14c2_4e5d11c9","updated":"2022-07-18 14:05:45.000000000","message":"Thanks for your review. I corrected all the marked nits and rebased the patch.\n\nI answered your question regarding the need for those configuration knobs in the corresponding spec to this implementation, which will be discussed in the team meeting tomorrow.\n\n\n\u003e As an aside, RHEL 9 dropped support for the SPICE display protocol [1]. While it\u0027s still supported in upstream libvirt and (presumably) other distros like Ubuntu or SLES, I\u0027m not sure this is the best horse to back long-term.\n\nI know that RedHat abandoned SPICE and dropped it in the latest RHEL release. I also talked to Radosław as part of a private conversation where we speculated about the reasons regarding this decision. I only found a short statement from a RedHat employee [2]. Personally, I do not understand RedHat\u0027s decision. SPICE provides convenient interaction features that cannot be replaced by any other open-source solution yet, as described in your cited changelog [1]. Why should the community take a technical step backwards?\n\nOther reasons and problems mentioned in [2] can be easily solved by some minor changes, for example replace the codec for video encoding to an free-licensed codec (e.g. VP8, VP9), ...\n\n[2] https://bugzilla.redhat.com/show_bug.cgi?id\u003d2030592#c4","commit_id":"785818c7235359fa567481a374e35519de7bfad6"},{"author":{"_account_id":34534,"name":"Manuel Bentele","email":"development@manuel-bentele.de","username":"bahnwaerter"},"change_message_id":"d5018a9f744a12dee7c4cf01d94243f93f4a52f3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5161144f_48dfb8f4","updated":"2022-07-18 14:18:32.000000000","message":"I\u0027ve added Sean and Sylvain as reviewers so that they will be informed about my prototype of the highly-discussed SPICE compression support. You can take a peek behind the scenes if that might be needed tomorrow when we discuss the spec in the weekly team meeting.\n\nA (hopefully last) question regarding the workflow: Is there any keyword (or need) to reference a spec in the commit message as part of a patch?","commit_id":"dd40d70a6a162093fbb3f0df1f491aef5d45d7fd"},{"author":{"_account_id":34534,"name":"Manuel Bentele","email":"development@manuel-bentele.de","username":"bahnwaerter"},"change_message_id":"3b57ccb90f8d093a0ad2cf61b9a095ea30f249f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"c697b130_1407141d","updated":"2023-01-10 01:22:21.000000000","message":"recheck","commit_id":"b0ef0b7fc5ae0f7b727bed71cb547028f01c34b3"},{"author":{"_account_id":34534,"name":"Manuel Bentele","email":"development@manuel-bentele.de","username":"bahnwaerter"},"change_message_id":"c2553d5b6de34638e9df8c890a519cc08c49515a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"f452ca70_24160988","updated":"2023-01-10 20:51:48.000000000","message":"recheck","commit_id":"b0ef0b7fc5ae0f7b727bed71cb547028f01c34b3"},{"author":{"_account_id":34534,"name":"Manuel Bentele","email":"development@manuel-bentele.de","username":"bahnwaerter"},"change_message_id":"39d58753a71eacedfb0da29815947d282e5ec171","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"81cff569_51737426","updated":"2023-01-11 13:51:57.000000000","message":"After the tox issue in the check pipeline has been resolved, the check for this code change succeeds.\n\nNow, this patch is rebased and ready for a final review.","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d6bf17659981d42299670e19ecfc7ada64e23ed4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"58da95d9_b2b787d5","updated":"2023-02-10 15:06:29.000000000","message":"Indeed, was very well self-contained and correctly written.\n\nI enjoyed reviewing it. Many thanks for the hard work.","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5a85419023583c168e581c587ae0a5051b6242c9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"48ce8c32_93b06547","updated":"2023-02-10 14:18:33.000000000","message":"Nice! ","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"fa2b4e5f49f86b44aff0ae6d8e853fcd44cc8beb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"9561b475_e0b1c188","updated":"2023-02-20 22:25:20.000000000","message":"can we make backports till xena/wallaby?","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"b44a229f13444362c8c53b8ba47947f08d75a2db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"aa16ccfb_dca4bd75","updated":"2023-02-10 22:06:57.000000000","message":"recheck","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"999362711a736b4b312c1fb27967ea1410906a94","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"9eb4ecae_f54630ba","updated":"2023-02-15 15:52:07.000000000","message":"recheck can\u0027t explain why the UT failed but seems unrelated with very few hits\n\n(build) [sbauza@sbauza zuul-log-search]$ logsearch log --project \u0027openstack/nova\u0027 --job-group nova-unit-test --result FAILURE \"AssertionError: Expected \u0027waitall\u0027 to be called once. Called 2 times.\" --days 20\nFound builds:\n[...]\nBuilds with matching logs 2/105:\n+----------------------------------+---------------------+----------+-----------------------------------+--------+---------------------+\n| uuid                             | finished            | pipeline | review                            | branch | job                 |\n+----------------------------------+---------------------+----------+-----------------------------------+--------+---------------------+\n| 718646b649d64e03948573ed879467fa | 2023-02-15T08:29:39 | gate     | https://review.opendev.org/828675 | master | openstack-tox-py310 |\n| d4fb485b6256464087aef0ac46b6c8c1 | 2023-02-14T10:04:38 | check    | https://review.opendev.org/868236 | master | openstack-tox-py38  |\n+----------------------------------+---------------------+----------+-----------------------------------+--------+---------------------+\n","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"},{"author":{"_account_id":34534,"name":"Manuel Bentele","email":"development@manuel-bentele.de","username":"bahnwaerter"},"change_message_id":"41e4233677116b78535b110f8b3ce2da61a917ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"4653b873_03b5177a","updated":"2023-02-14 08:37:30.000000000","message":"recheck due to connectivity issues while lookup/installing dependencies (see https://zuul.opendev.org/t/openstack/build/fd43b65075be42fc814e1e6a467ccde9/log/controller/logs/grenade.sh_log.txt#12861)","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f7c01941d52df735e41ad36b7c8ff8223a92002f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"06cec790_de00f0c0","updated":"2023-02-16 15:32:25.000000000","message":"recheck ovs seems to have timed out","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"},{"author":{"_account_id":34534,"name":"Manuel Bentele","email":"development@manuel-bentele.de","username":"bahnwaerter"},"change_message_id":"c48931a496bfa67817e1ed3962608a6dc54ed3e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"aabc96a7_367bc0e6","updated":"2023-02-13 23:53:16.000000000","message":"recheck since a bug fix (see https://review.opendev.org/c/openstack/tempest/+/873300) for the failed tempest image location tests due to a type error in the function \u0027retry_bad_request()\u0027 (see https://zuul.opendev.org/t/openstack/build/e93dd81dd024497383124b7d8e86d979/log/job-output.txt#22976) was released.","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"},{"author":{"_account_id":34534,"name":"Manuel Bentele","email":"development@manuel-bentele.de","username":"bahnwaerter"},"change_message_id":"8212e7281baa5387efd7d4c65ad046eb1cbc60f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"a6e51186_5c036fc0","updated":"2023-02-14 22:00:27.000000000","message":"recheck timeout","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"5dbcd3209142c23f924e28ba9375fc1509502649","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"b8d7174f_8f6076cf","updated":"2023-02-11 02:12:41.000000000","message":"recheck timeout","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"139155d129c7b82e4fd1a09d84518b69ac1eb8b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"898ed0a0_931453a1","updated":"2023-02-14 14:23:33.000000000","message":"recheck vif plugging event was sent from q-svc but never caught by n-api","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"c02f10d51000aa4177703cd149e7c39865bfba89","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"de05ffbc_c14a5483","in_reply_to":"4085bae4_ece5d11e","updated":"2023-02-22 09:35:30.000000000","message":"made backports. code cherry-picked without conflicts. review please.","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"},{"author":{"_account_id":34534,"name":"Manuel Bentele","email":"development@manuel-bentele.de","username":"bahnwaerter"},"change_message_id":"3f5c5edf822343c625e9212df5149e95e6503cf3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"4085bae4_ece5d11e","in_reply_to":"9561b475_e0b1c188","updated":"2023-02-22 08:27:01.000000000","message":"Feel free to do that if the core team agrees ;) I currently don\u0027t have any resources available for this, so sadly I can\u0027t support you.","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"}],"nova/conf/spice.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e494e5e9f98690c0aeaa368229721e8284538c74","unresolved":true,"context_lines":[{"line_number":86,"context_line":"  performance of mouse movement is also improved."},{"line_number":87,"context_line":"\"\"\"),"},{"line_number":88,"context_line":"    cfg.StrOpt(\u0027image_compression\u0027,"},{"line_number":89,"context_line":"               default\u003d\u0027auto_glz\u0027,"},{"line_number":90,"context_line":"               choices\u003d["},{"line_number":91,"context_line":"                   (\u0027auto_glz\u0027, \u0027enable image compression mode to choose\u0027"},{"line_number":92,"context_line":"                                \u0027 between the glz and quic, based on the image\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"77fe9ae6_b6c387a2","line":89,"range":{"start_line":89,"start_character":8,"end_line":89,"end_character":15},"updated":"2022-07-14 12:19:00.000000000","message":"nit: Can you drop this hanging indent and keep things inline with what\u0027s above/below, here","commit_id":"785818c7235359fa567481a374e35519de7bfad6"},{"author":{"_account_id":34534,"name":"Manuel Bentele","email":"development@manuel-bentele.de","username":"bahnwaerter"},"change_message_id":"474376942e9e523ea53ddca26e292853e30b88b0","unresolved":false,"context_lines":[{"line_number":86,"context_line":"  performance of mouse movement is also improved."},{"line_number":87,"context_line":"\"\"\"),"},{"line_number":88,"context_line":"    cfg.StrOpt(\u0027image_compression\u0027,"},{"line_number":89,"context_line":"               default\u003d\u0027auto_glz\u0027,"},{"line_number":90,"context_line":"               choices\u003d["},{"line_number":91,"context_line":"                   (\u0027auto_glz\u0027, \u0027enable image compression mode to choose\u0027"},{"line_number":92,"context_line":"                                \u0027 between the glz and quic, based on the image\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"b5ea636f_da364fd7","line":89,"range":{"start_line":89,"start_character":8,"end_line":89,"end_character":15},"in_reply_to":"77fe9ae6_b6c387a2","updated":"2022-07-18 14:05:45.000000000","message":"Done","commit_id":"785818c7235359fa567481a374e35519de7bfad6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e494e5e9f98690c0aeaa368229721e8284538c74","unresolved":true,"context_lines":[{"line_number":89,"context_line":"               default\u003d\u0027auto_glz\u0027,"},{"line_number":90,"context_line":"               choices\u003d["},{"line_number":91,"context_line":"                   (\u0027auto_glz\u0027, \u0027enable image compression mode to choose\u0027"},{"line_number":92,"context_line":"                                \u0027 between the glz and quic, based on the image\u0027"},{"line_number":93,"context_line":"                                \u0027 properties\u0027),"},{"line_number":94,"context_line":"                   (\u0027auto_lz\u0027, \u0027enable image compression mode to choose\u0027"},{"line_number":95,"context_line":"                               \u0027 between the lz and quic, based on the image\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"88c82950_d74d5470","line":92,"range":{"start_line":92,"start_character":33,"end_line":92,"end_character":34},"updated":"2022-07-14 12:19:00.000000000","message":"nit: can you put spaces at the end of the previous line rather than before the new one?","commit_id":"785818c7235359fa567481a374e35519de7bfad6"},{"author":{"_account_id":34534,"name":"Manuel Bentele","email":"development@manuel-bentele.de","username":"bahnwaerter"},"change_message_id":"474376942e9e523ea53ddca26e292853e30b88b0","unresolved":false,"context_lines":[{"line_number":89,"context_line":"               default\u003d\u0027auto_glz\u0027,"},{"line_number":90,"context_line":"               choices\u003d["},{"line_number":91,"context_line":"                   (\u0027auto_glz\u0027, \u0027enable image compression mode to choose\u0027"},{"line_number":92,"context_line":"                                \u0027 between the glz and quic, based on the image\u0027"},{"line_number":93,"context_line":"                                \u0027 properties\u0027),"},{"line_number":94,"context_line":"                   (\u0027auto_lz\u0027, \u0027enable image compression mode to choose\u0027"},{"line_number":95,"context_line":"                               \u0027 between the lz and quic, based on the image\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"dc9ea019_e9e76634","line":92,"range":{"start_line":92,"start_character":33,"end_line":92,"end_character":34},"in_reply_to":"88c82950_d74d5470","updated":"2022-07-18 14:05:45.000000000","message":"Done","commit_id":"785818c7235359fa567481a374e35519de7bfad6"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d6bf17659981d42299670e19ecfc7ada64e23ed4","unresolved":false,"context_lines":[{"line_number":86,"context_line":"  performance of mouse movement is also improved."},{"line_number":87,"context_line":"\"\"\"),"},{"line_number":88,"context_line":"    cfg.StrOpt(\u0027image_compression\u0027,"},{"line_number":89,"context_line":"        advanced\u003dTrue,"},{"line_number":90,"context_line":"        choices\u003d["},{"line_number":91,"context_line":"            (\u0027auto_glz\u0027, \u0027enable image compression mode to choose between glz \u0027"},{"line_number":92,"context_line":"             \u0027and quic algorithm, based on image properties\u0027),"}],"source_content_type":"text/x-python","patch_set":10,"id":"43fbb3fc_fe4e6980","line":89,"updated":"2023-02-10 15:06:29.000000000","message":"TIL : \"advanced – a bool True/False value if this option has advanced usage and is not normally used by the majority of users\"\nhttps://docs.openstack.org/oslo.config/latest/reference/api/oslo_config.html#oslo_config.cfg.Opt","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"}],"nova/virt/libvirt/config.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d6bf17659981d42299670e19ecfc7ada64e23ed4","unresolved":false,"context_lines":[{"line_number":2066,"context_line":"        if self.type \u003d\u003d \"spice\":"},{"line_number":2067,"context_line":"            if self.image_compression is not None:"},{"line_number":2068,"context_line":"                dev.append(etree.Element("},{"line_number":2069,"context_line":"                    \u0027image\u0027, compression\u003dself.image_compression))"},{"line_number":2070,"context_line":"            if self.jpeg_compression is not None:"},{"line_number":2071,"context_line":"                dev.append(etree.Element("},{"line_number":2072,"context_line":"                    \u0027jpeg\u0027, compression\u003dself.jpeg_compression))"}],"source_content_type":"text/x-python","patch_set":10,"id":"f072c1bb_9e983efa","line":2069,"updated":"2023-02-10 15:06:29.000000000","message":"fortunately, the config option presents some choices, which prevents some unfortunately misusage of the values.","commit_id":"b5e0ed248fe0f3250d7f1648f23147d175096fe2"}],"releasenotes/notes/add-spice-compression-support-e41676f445544e8d.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e494e5e9f98690c0aeaa368229721e8284538c74","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    The following SPICE-related options are added to the ``spice``"},{"line_number":5,"context_line":"    configuration group of a Nova configuration:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    - image_compression"},{"line_number":8,"context_line":"    - jpeg_compression"},{"line_number":9,"context_line":"    - zlib_compression"},{"line_number":10,"context_line":"    - playback_compression"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"b826eb3a_b3e1ae74","line":7,"range":{"start_line":7,"start_character":6,"end_line":7,"end_character":23},"updated":"2022-07-14 12:19:00.000000000","message":"nit:\n\n  ``image_compression``\n\nditto for the below","commit_id":"785818c7235359fa567481a374e35519de7bfad6"},{"author":{"_account_id":34534,"name":"Manuel Bentele","email":"development@manuel-bentele.de","username":"bahnwaerter"},"change_message_id":"474376942e9e523ea53ddca26e292853e30b88b0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    The following SPICE-related options are added to the ``spice``"},{"line_number":5,"context_line":"    configuration group of a Nova configuration:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    - image_compression"},{"line_number":8,"context_line":"    - jpeg_compression"},{"line_number":9,"context_line":"    - zlib_compression"},{"line_number":10,"context_line":"    - playback_compression"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"afc3ce66_27f5fb4b","line":7,"range":{"start_line":7,"start_character":6,"end_line":7,"end_character":23},"in_reply_to":"b826eb3a_b3e1ae74","updated":"2022-07-18 14:05:45.000000000","message":"Done","commit_id":"785818c7235359fa567481a374e35519de7bfad6"}]}
