)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"01ce2b9be453a5f1892c764e157069fc4bf33834","unresolved":true,"context_lines":[{"line_number":32,"context_line":"All configuration options and their various values are documented"},{"line_number":33,"context_line":"by OpenStack Compute in their documentation."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Partially-Implements: #2131793 (spice-direct consoles)"},{"line_number":36,"context_line":"Change-Id: I07f6890f1c7c4e543667d3cbd7b3e82bd9ec83e3"},{"line_number":37,"context_line":"Signed-off-by: Michael Still \u003cmikal@stillhq.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"a02b7240_2c861357","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":20},"updated":"2026-01-22 09:26:51.000000000","message":"somehow gerrit doesn\u0027t create a bug link for this, maybe:\n```suggestion\nPartial-Bug: #2131793 (spice-direct consoles)\n```","commit_id":"6be5bbd26c87f02b612995fa87ac536e724e2575"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"fef067220f475315f2f48a1b041c68b61fffbb75","unresolved":false,"context_lines":[{"line_number":32,"context_line":"All configuration options and their various values are documented"},{"line_number":33,"context_line":"by OpenStack Compute in their documentation."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Partially-Implements: #2131793 (spice-direct consoles)"},{"line_number":36,"context_line":"Change-Id: I07f6890f1c7c4e543667d3cbd7b3e82bd9ec83e3"},{"line_number":37,"context_line":"Signed-off-by: Michael Still \u003cmikal@stillhq.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"cf8ade6c_3e9081e2","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":20},"in_reply_to":"a02b7240_2c861357","updated":"2026-01-22 21:25:47.000000000","message":"Done","commit_id":"6be5bbd26c87f02b612995fa87ac536e724e2575"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"a34ee1f5634f538d0124ae4a8f573486f21205e1","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Michael Still \u003cmikal@stillhq.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-04-01 20:53:33 +1100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add additional SPICE configuration options."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Recent changes to OpenStack Compute have added a number of new"},{"line_number":10,"context_line":"configuration options for SPICE VDI consoles. Additionally, it is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"01ed1d95_33265c8a","line":7,"updated":"2026-04-01 19:03:00.000000000","message":"please don\u0027t add a dot at the end of the commit message headers, see also https://docs.openstack.org/contributors/common/git.html#summary-line","commit_id":"e150253df1238dd90d5f8413ea20ab807041f023"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"40ac6a3be7c56b0fa35c73610e188de54f7f6afc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3459ac77_1d07b57a","updated":"2025-12-09 04:56:35.000000000","message":"recheck bookworm-cells","commit_id":"f8861ef587f0fe168cbdb2dc3a8b7c0e60325eb0"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"01ce2b9be453a5f1892c764e157069fc4bf33834","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"87492e16_3fc10cff","updated":"2026-01-22 09:26:51.000000000","message":"lgtm in general, but I agree with the `| bool` change","commit_id":"6be5bbd26c87f02b612995fa87ac536e724e2575"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"e14f23397c4694e915c9fdf87dfbe4f4b80e28e2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"e1f4ae22_3fb50d91","updated":"2026-01-27 07:33:04.000000000","message":"recheck ceph","commit_id":"a3e93d9c420c68dcd03a21da7872e7b868b21302"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"34346cce5a42dfbd3cd55b11c07eef2a3c9b3ebe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"133ba10d_01e12f45","updated":"2026-01-27 18:28:41.000000000","message":"recheck libvirt-ceph-invalid-argument","commit_id":"ea5ae385ada01f36e9a927f58f1b70c476486950"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"430c9e2d4e46f0bc0c195167c0416ffd889d51a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"f0dc9552_eda636ae","updated":"2026-03-18 18:13:13.000000000","message":"recheck keystone-failure","commit_id":"3e1c21886d8d6b5662a5b0e1d05e2b131bec9982"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"10e9c1faccaa9660d926343b4f6410f6326e7d93","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"4c86e9b2_292ef23a","updated":"2026-04-01 21:27:36.000000000","message":"Oh, and the whole stack got repushed because a change was requested on one further up the stack.","commit_id":"e150253df1238dd90d5f8413ea20ab807041f023"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"a34ee1f5634f538d0124ae4a8f573486f21205e1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":23,"id":"67fe56b6_09bee905","updated":"2026-04-01 19:03:00.000000000","message":"why did you do a no-change-rebase? usually these are not needed, zuul will automatically rebase the change for testing","commit_id":"e150253df1238dd90d5f8413ea20ab807041f023"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"cc7fa4f1afc7ba8c3813a913d56630151e12aa2d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":23,"id":"fc82025a_ba833ffe","in_reply_to":"67fe56b6_09bee905","updated":"2026-04-01 21:19:33.000000000","message":"I do multiple levels of rebase -- there is a daily rebase I do in my own CI to cover upstream change so I notice breakages quickly, and then a weekly \"git review\" repush to ensure that upstream CI passes and y\u0027all are aware that these patches are still maintained.","commit_id":"e150253df1238dd90d5f8413ea20ab807041f023"}],"CLAUDE.md":[{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"454ce67416050bf25985ed4af53b7c4926436453","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"69fa8544_938bef34","line":300,"range":{"start_line":1,"start_character":0,"end_line":300,"end_character":1},"updated":"2025-12-15 22:01:44.000000000","message":"not sure this was supposed to be pushed ?","commit_id":"6fb76687f141aba0c749c507719f881350c65882"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"fef4a2a4dcbcdb8ed6515be7fda9806733dd63b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"d7fde5b1_b4b04c18","line":300,"range":{"start_line":1,"start_character":0,"end_line":300,"end_character":1},"in_reply_to":"69fa8544_938bef34","updated":"2025-12-16 00:30:31.000000000","message":"Yeah, that\u0027s definitely a mistake. I\u0027ve been playing with Claude as an assistant for rebases and its leaked a file here. I\u0027ll clean it up, sorry.","commit_id":"6fb76687f141aba0c749c507719f881350c65882"}],"ansible/group_vars/all/nova.yml":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"fee1ee0a4967ec914ba31a2160289e4fd66ffe7e","unresolved":true,"context_lines":[{"line_number":68,"context_line":"nova_spicehtml5proxy_port: \"6082\""},{"line_number":69,"context_line":"nova_spicehtml5proxy_listen_port: \"{{ nova_spicehtml5proxy_port }}\""},{"line_number":70,"context_line":"nova_spicehtml5proxy_public_port: \"{{ haproxy_single_external_frontend_public_port if haproxy_single_external_frontend | bool else nova_spicehtml5proxy_port }}\""},{"line_number":71,"context_line":"nova_spice_html5: \"yes\""},{"line_number":72,"context_line":"nova_spice_image_compression: \"auto_glz\""},{"line_number":73,"context_line":"nova_spice_jpeg_compression: \"auto\""},{"line_number":74,"context_line":"nova_spice_zlib_compression: \"auto\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"ffb9c2e3_05c31704","line":71,"updated":"2025-12-10 11:08:15.000000000","message":"Does it all need to be here, not in nova-cell role?","commit_id":"7730ad6274f0f18e8b39566881ac2475f51bc390"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"fee1ee0a4967ec914ba31a2160289e4fd66ffe7e","unresolved":true,"context_lines":[{"line_number":68,"context_line":"nova_spicehtml5proxy_port: \"6082\""},{"line_number":69,"context_line":"nova_spicehtml5proxy_listen_port: \"{{ nova_spicehtml5proxy_port }}\""},{"line_number":70,"context_line":"nova_spicehtml5proxy_public_port: \"{{ haproxy_single_external_frontend_public_port if haproxy_single_external_frontend | bool else nova_spicehtml5proxy_port }}\""},{"line_number":71,"context_line":"nova_spice_html5: \"yes\""},{"line_number":72,"context_line":"nova_spice_image_compression: \"auto_glz\""},{"line_number":73,"context_line":"nova_spice_jpeg_compression: \"auto\""},{"line_number":74,"context_line":"nova_spice_zlib_compression: \"auto\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"652438a7_d0452b0a","line":71,"updated":"2025-12-10 11:08:15.000000000","message":"```suggestion\nnova_spice_html5: true\n```","commit_id":"7730ad6274f0f18e8b39566881ac2475f51bc390"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"fef067220f475315f2f48a1b041c68b61fffbb75","unresolved":true,"context_lines":[{"line_number":68,"context_line":"nova_spicehtml5proxy_port: \"6082\""},{"line_number":69,"context_line":"nova_spicehtml5proxy_listen_port: \"{{ nova_spicehtml5proxy_port }}\""},{"line_number":70,"context_line":"nova_spicehtml5proxy_public_port: \"{{ haproxy_single_external_frontend_public_port if haproxy_single_external_frontend | bool else nova_spicehtml5proxy_port }}\""},{"line_number":71,"context_line":"nova_spice_html5: \"yes\""},{"line_number":72,"context_line":"nova_spice_image_compression: \"auto_glz\""},{"line_number":73,"context_line":"nova_spice_jpeg_compression: \"auto\""},{"line_number":74,"context_line":"nova_spice_zlib_compression: \"auto\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"ffa42053_a1aa0ef4","line":71,"in_reply_to":"16aac785_000fd0c8","updated":"2026-01-22 21:25:47.000000000","message":"I wrote a whole reply to this and gerrit doesn\u0027t seem to be showing it here for some reason. It was:\n\nI am a bit conflicted about this -- the other SPICE configuration options are set here which makes them available to both the \"nova\" and the \"nova-cells\" roles. While it is true that some of these values are only used in nova-cells, it feels confusing to me that some variables would be in one place and some others would be in another if I was looking for the default for a specific variable.\n\nI can see that swtpm is set in nova-cells/defaults/main.yml, but I can\u0027t see any other obvious examples of this sort of global value being there instead of in the group_vars.\n\nI am happy to go either way, I think what I am trying to say is \"this feels cleaner to me\".","commit_id":"7730ad6274f0f18e8b39566881ac2475f51bc390"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"0f31a88fc38a4884ca95aa352466d9065be41399","unresolved":false,"context_lines":[{"line_number":68,"context_line":"nova_spicehtml5proxy_port: \"6082\""},{"line_number":69,"context_line":"nova_spicehtml5proxy_listen_port: \"{{ nova_spicehtml5proxy_port }}\""},{"line_number":70,"context_line":"nova_spicehtml5proxy_public_port: \"{{ haproxy_single_external_frontend_public_port if haproxy_single_external_frontend | bool else nova_spicehtml5proxy_port }}\""},{"line_number":71,"context_line":"nova_spice_html5: \"yes\""},{"line_number":72,"context_line":"nova_spice_image_compression: \"auto_glz\""},{"line_number":73,"context_line":"nova_spice_jpeg_compression: \"auto\""},{"line_number":74,"context_line":"nova_spice_zlib_compression: \"auto\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"222f1ebe_079d834f","line":71,"in_reply_to":"652438a7_d0452b0a","updated":"2026-01-21 23:36:05.000000000","message":"Done","commit_id":"7730ad6274f0f18e8b39566881ac2475f51bc390"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"40fb22338a81314d83c1e262ef66ac5c43f67688","unresolved":false,"context_lines":[{"line_number":68,"context_line":"nova_spicehtml5proxy_port: \"6082\""},{"line_number":69,"context_line":"nova_spicehtml5proxy_listen_port: \"{{ nova_spicehtml5proxy_port }}\""},{"line_number":70,"context_line":"nova_spicehtml5proxy_public_port: \"{{ haproxy_single_external_frontend_public_port if haproxy_single_external_frontend | bool else nova_spicehtml5proxy_port }}\""},{"line_number":71,"context_line":"nova_spice_html5: \"yes\""},{"line_number":72,"context_line":"nova_spice_image_compression: \"auto_glz\""},{"line_number":73,"context_line":"nova_spice_jpeg_compression: \"auto\""},{"line_number":74,"context_line":"nova_spice_zlib_compression: \"auto\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"4e3996ce_a0b4f3d1","line":71,"in_reply_to":"ffa42053_a1aa0ef4","updated":"2026-03-25 11:05:00.000000000","message":"I agree","commit_id":"7730ad6274f0f18e8b39566881ac2475f51bc390"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"01ce2b9be453a5f1892c764e157069fc4bf33834","unresolved":true,"context_lines":[{"line_number":68,"context_line":"nova_spicehtml5proxy_port: \"6082\""},{"line_number":69,"context_line":"nova_spicehtml5proxy_listen_port: \"{{ nova_spicehtml5proxy_port }}\""},{"line_number":70,"context_line":"nova_spicehtml5proxy_public_port: \"{{ haproxy_single_external_frontend_public_port if haproxy_single_external_frontend | bool else nova_spicehtml5proxy_port }}\""},{"line_number":71,"context_line":"nova_spice_html5: \"yes\""},{"line_number":72,"context_line":"nova_spice_image_compression: \"auto_glz\""},{"line_number":73,"context_line":"nova_spice_jpeg_compression: \"auto\""},{"line_number":74,"context_line":"nova_spice_zlib_compression: \"auto\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"16aac785_000fd0c8","line":71,"in_reply_to":"ffb9c2e3_05c31704","updated":"2026-01-22 09:26:51.000000000","message":"I don\u0027t understand this question, this is in group_vars, not it the role? and we don\u0027t have a dedicated vars file for nova-cell?","commit_id":"7730ad6274f0f18e8b39566881ac2475f51bc390"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"fee1ee0a4967ec914ba31a2160289e4fd66ffe7e","unresolved":true,"context_lines":[{"line_number":72,"context_line":"nova_spice_image_compression: \"auto_glz\""},{"line_number":73,"context_line":"nova_spice_jpeg_compression: \"auto\""},{"line_number":74,"context_line":"nova_spice_zlib_compression: \"auto\""},{"line_number":75,"context_line":"nova_spice_playback_compression: \"yes\""},{"line_number":76,"context_line":"nova_spice_streaming_mode: \"filter\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"c951b960_74342431","line":75,"updated":"2025-12-10 11:08:15.000000000","message":"```suggestion\nnova_spice_playback_compression: true\n```","commit_id":"7730ad6274f0f18e8b39566881ac2475f51bc390"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"0f31a88fc38a4884ca95aa352466d9065be41399","unresolved":false,"context_lines":[{"line_number":72,"context_line":"nova_spice_image_compression: \"auto_glz\""},{"line_number":73,"context_line":"nova_spice_jpeg_compression: \"auto\""},{"line_number":74,"context_line":"nova_spice_zlib_compression: \"auto\""},{"line_number":75,"context_line":"nova_spice_playback_compression: \"yes\""},{"line_number":76,"context_line":"nova_spice_streaming_mode: \"filter\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"c8fff768_c69a6061","line":75,"in_reply_to":"c951b960_74342431","updated":"2026-01-21 23:36:05.000000000","message":"Done","commit_id":"7730ad6274f0f18e8b39566881ac2475f51bc390"}],"ansible/roles/nova-cell/templates/nova.conf.j2":[{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"0f31a88fc38a4884ca95aa352466d9065be41399","unresolved":true,"context_lines":[{"line_number":67,"context_line":"zlib_compression \u003d {{ nova_spice_zlib_compression }}"},{"line_number":68,"context_line":"playback_compression \u003d {{ nova_spice_playback_compression | bool | lower }}"},{"line_number":69,"context_line":"streaming_mode \u003d {{ nova_spice_streaming_mode }}"},{"line_number":70,"context_line":"{%     if nova_spice_html5 \u003d\u003d \u0027yes\u0027 %}"},{"line_number":71,"context_line":"server_proxyclient_address \u003d {{ api_interface_address }}"},{"line_number":72,"context_line":"{%         if inventory_hostname in groups[nova_cell_compute_group] %}"},{"line_number":73,"context_line":"html5proxy_base_url \u003d {{ nova_spicehtml5proxy_fqdn | kolla_url(public_protocol, nova_spicehtml5proxy_public_port, \u0027/spice_auto.html\u0027) }}"}],"source_content_type":"text/x-jinja2","patch_set":13,"id":"699f1756_7adb54b1","line":70,"updated":"2026-01-21 23:36:05.000000000","message":"I will change this one to \"| bool\" too.","commit_id":"6be5bbd26c87f02b612995fa87ac536e724e2575"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"40fb22338a81314d83c1e262ef66ac5c43f67688","unresolved":false,"context_lines":[{"line_number":67,"context_line":"zlib_compression \u003d {{ nova_spice_zlib_compression }}"},{"line_number":68,"context_line":"playback_compression \u003d {{ nova_spice_playback_compression | bool | lower }}"},{"line_number":69,"context_line":"streaming_mode \u003d {{ nova_spice_streaming_mode }}"},{"line_number":70,"context_line":"{%     if nova_spice_html5 \u003d\u003d \u0027yes\u0027 %}"},{"line_number":71,"context_line":"server_proxyclient_address \u003d {{ api_interface_address }}"},{"line_number":72,"context_line":"{%         if inventory_hostname in groups[nova_cell_compute_group] %}"},{"line_number":73,"context_line":"html5proxy_base_url \u003d {{ nova_spicehtml5proxy_fqdn | kolla_url(public_protocol, nova_spicehtml5proxy_public_port, \u0027/spice_auto.html\u0027) }}"}],"source_content_type":"text/x-jinja2","patch_set":13,"id":"202266f3_b41b9c79","line":70,"in_reply_to":"699f1756_7adb54b1","updated":"2026-03-25 11:05:00.000000000","message":"Done","commit_id":"6be5bbd26c87f02b612995fa87ac536e724e2575"}]}
