)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"ba6c934aed19a13f969dc4b02ed4c0a2ca669c8d","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Renjing Xiao \u003crxiao@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-05-29 11:24:01 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve WSGI check for devstack"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In whitebox-neutron-tempest-plugin-ovn-single-thread,"},{"line_number":10,"context_line":"NEUTRON_DEPLOY_MOD_WSGI is set to false [1], yet it still"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"79e2065a_d0949ed5","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":7},"updated":"2025-06-04 14:57:23.000000000","message":"I think a more correct title for example would be - `Adapt devstack WSGI check for deprecated configuration`","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"233d344c0d8653a559d53fb4443f6f5d02ba6757","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Renjing Xiao \u003crxiao@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-05-29 11:24:01 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve WSGI check for devstack"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In whitebox-neutron-tempest-plugin-ovn-single-thread,"},{"line_number":10,"context_line":"NEUTRON_DEPLOY_MOD_WSGI is set to false [1], yet it still"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7b14c57b_3816567f","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":7},"in_reply_to":"79e2065a_d0949ed5","updated":"2025-06-04 17:23:46.000000000","message":"Done","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b4512559879cea4591ecd5a1c2aa38ccf8c3f606","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In whitebox-neutron-tempest-plugin-ovn-single-thread,"},{"line_number":10,"context_line":"NEUTRON_DEPLOY_MOD_WSGI is set to false [1], yet it still"},{"line_number":11,"context_line":"starts using WSGI [2]."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The _is_devstack_wsgi() previously checked local.conf."},{"line_number":14,"context_line":"When the value is false or missing, but devStack still runs"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"f414ed20_5abc1a24","line":11,"updated":"2025-05-29 11:22:10.000000000","message":"Please mention this is because of https://review.opendev.org/c/openstack/devstack/+/932203. NEUTRON_DEPLOY_MOD_WSGI has been deprecated and removed in 2025.2","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"233d344c0d8653a559d53fb4443f6f5d02ba6757","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In whitebox-neutron-tempest-plugin-ovn-single-thread,"},{"line_number":10,"context_line":"NEUTRON_DEPLOY_MOD_WSGI is set to false [1], yet it still"},{"line_number":11,"context_line":"starts using WSGI [2]."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The _is_devstack_wsgi() previously checked local.conf."},{"line_number":14,"context_line":"When the value is false or missing, but devStack still runs"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ebab6d82_cd97a24d","line":11,"in_reply_to":"5bbcba72_05b615ca","updated":"2025-06-04 17:23:46.000000000","message":"Thank you both for review!","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"ba6c934aed19a13f969dc4b02ed4c0a2ca669c8d","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In whitebox-neutron-tempest-plugin-ovn-single-thread,"},{"line_number":10,"context_line":"NEUTRON_DEPLOY_MOD_WSGI is set to false [1], yet it still"},{"line_number":11,"context_line":"starts using WSGI [2]."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The _is_devstack_wsgi() previously checked local.conf."},{"line_number":14,"context_line":"When the value is false or missing, but devStack still runs"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5bbcba72_05b615ca","line":11,"in_reply_to":"f414ed20_5abc1a24","updated":"2025-06-04 14:57:23.000000000","message":"+1\nAs Rodolfo said, please add this information in commit message, for better understanding of why the change is needed.","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"ba6c934aed19a13f969dc4b02ed4c0a2ca669c8d","unresolved":true,"context_lines":[{"line_number":13,"context_line":"The _is_devstack_wsgi() previously checked local.conf."},{"line_number":14,"context_line":"When the value is false or missing, but devStack still runs"},{"line_number":15,"context_line":"neutron-api under WSGI, it falls back to q-svc service name."},{"line_number":16,"context_line":"This patch checks both systemd unit and local.conf."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"[1] https://823fd87833132f3241d3-97bb40c6f1fba9143f6a2ea19df7d61e.ssl.cf5.rackcdn.com/openstack/a1366ec025a84cedbae521a694843530/controller/logs/local_conf.txt"},{"line_number":19,"context_line":"[2] https://823fd87833132f3241d3-97bb40c6f1fba9143f6a2ea19df7d61e.ssl.cf5.rackcdn.com/openstack/a1366ec025a84cedbae521a694843530/controller/logs/services.txt"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"f9a2bcb6_79c7ca41","line":16,"range":{"start_line":16,"start_character":40,"end_line":16,"end_character":50},"updated":"2025-06-04 14:57:23.000000000","message":"if NEUTRON_DEPLOY_MOD_WSGI is deprecated then no need to check it.","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"233d344c0d8653a559d53fb4443f6f5d02ba6757","unresolved":false,"context_lines":[{"line_number":13,"context_line":"The _is_devstack_wsgi() previously checked local.conf."},{"line_number":14,"context_line":"When the value is false or missing, but devStack still runs"},{"line_number":15,"context_line":"neutron-api under WSGI, it falls back to q-svc service name."},{"line_number":16,"context_line":"This patch checks both systemd unit and local.conf."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"[1] https://823fd87833132f3241d3-97bb40c6f1fba9143f6a2ea19df7d61e.ssl.cf5.rackcdn.com/openstack/a1366ec025a84cedbae521a694843530/controller/logs/local_conf.txt"},{"line_number":19,"context_line":"[2] https://823fd87833132f3241d3-97bb40c6f1fba9143f6a2ea19df7d61e.ssl.cf5.rackcdn.com/openstack/a1366ec025a84cedbae521a694843530/controller/logs/services.txt"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"24abcb1f_22c22359","line":16,"range":{"start_line":16,"start_character":40,"end_line":16,"end_character":50},"in_reply_to":"f9a2bcb6_79c7ca41","updated":"2025-06-04 17:23:46.000000000","message":"Done","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"d62459e05c744121c5e08a79f54e9d04f143391b","unresolved":true,"context_lines":[{"line_number":15,"context_line":"maintenance worker instead of the Neutron API service. That was caused"},{"line_number":16,"context_line":"by the migration to WSGI module (enforced since [2])."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"[1]https://review.opendev.org/c/openstack/devstack/+/932203"},{"line_number":19,"context_line":"[2]https://review.opendev.org/c/openstack/devstack/+/932203"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Related-bug: OSPCIX-877"},{"line_number":22,"context_line":"Closes-Bug: #2114190"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1fd33a6a_6dce73ad","line":19,"range":{"start_line":18,"start_character":0,"end_line":19,"end_character":59},"updated":"2025-06-12 14:59:15.000000000","message":"nit: [1] and [2] are same links, only [1] can be used","commit_id":"83d7b5eaf4ff9b1a33be0a194613072b640b96f6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"59d5afad372b33aaee3b72cccadd5a8191afe5f8","unresolved":false,"context_lines":[{"line_number":15,"context_line":"maintenance worker instead of the Neutron API service. That was caused"},{"line_number":16,"context_line":"by the migration to WSGI module (enforced since [2])."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"[1]https://review.opendev.org/c/openstack/devstack/+/932203"},{"line_number":19,"context_line":"[2]https://review.opendev.org/c/openstack/devstack/+/932203"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Related-bug: OSPCIX-877"},{"line_number":22,"context_line":"Closes-Bug: #2114190"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"45e15fbc_62b57510","line":19,"range":{"start_line":18,"start_character":0,"end_line":19,"end_character":59},"in_reply_to":"1fd33a6a_6dce73ad","updated":"2025-06-13 06:12:13.000000000","message":"My bad...","commit_id":"83d7b5eaf4ff9b1a33be0a194613072b640b96f6"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"e11ad3a064b99c7736cbe27f18f12f8d087cde67","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"56f68de3_7238a147","updated":"2025-06-04 15:11:05.000000000","message":"As per past chat, maybe TODO note to remove this check when/if API check exists","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"ba6c934aed19a13f969dc4b02ed4c0a2ca669c8d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"89c2011c_7eb7bcc8","updated":"2025-06-04 14:57:23.000000000","message":"Thank you for the change, left some comments","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"818386368b66e6365d063ea68612ac3f09f8520c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b0fba462_a68efdd1","in_reply_to":"110969ba_52549717","updated":"2025-06-04 17:24:08.000000000","message":"Done","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"34897045b973faa82d87e4412073e889c1c98be4","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"110969ba_52549717","in_reply_to":"56f68de3_7238a147","updated":"2025-06-04 15:11:30.000000000","message":"@rxiao@redhat.com ^","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"e3ef3e72b167cb57d3a35cbaa77c5dbf6fc32006","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6996fab0_fa09e0b7","updated":"2025-06-05 08:40:10.000000000","message":"Hi, this is tested in d/s: https://gitlab.cee.redhat.com/ci-framework/ci-framework-testproject/-/merge_requests/1321","commit_id":"1ccc3ba464db9d4b3c88cfadb48b9602e3f7b4dd"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"00e90eb9b2211e8b578d9ab03f5762122b48f422","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d49d333a_bf69b180","updated":"2025-06-12 12:30:49.000000000","message":"recheck again","commit_id":"1ccc3ba464db9d4b3c88cfadb48b9602e3f7b4dd"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"39005bdbb449b3d3df4e11f1ca7a219cdbbd0b3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8a665ac9_469b90f3","updated":"2025-06-04 18:03:23.000000000","message":"recheck openstack-meta-content-provider","commit_id":"1ccc3ba464db9d4b3c88cfadb48b9602e3f7b4dd"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0bcf0027d42d6eed9f78d5c01cdd1c666a4eb978","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"be92a769_7e3866e8","in_reply_to":"d49d333a_bf69b180","updated":"2025-06-12 12:31:17.000000000","message":"It seems that is failing always in the same test.","commit_id":"1ccc3ba464db9d4b3c88cfadb48b9602e3f7b4dd"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"83bf718e3927cd3e38ee5da05c79317493fc66a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"85d517eb_a748330f","updated":"2025-06-12 15:01:31.000000000","message":"lgtm, lets just wait for check/gate","commit_id":"83d7b5eaf4ff9b1a33be0a194613072b640b96f6"}],"whitebox_neutron_tempest_plugin/common/utils.py":[{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"ba6c934aed19a13f969dc4b02ed4c0a2ca669c8d","unresolved":true,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def _is_devstack_wsgi(local_conf\u003dconstants.LOCAL_CONF_FILE):"},{"line_number":55,"context_line":"    # NOTE(mblue): fails/false for podified, so file existence optional"},{"line_number":56,"context_line":"    if shell.execute("},{"line_number":57,"context_line":"            \"systemctl list-unit-files --type service | \""},{"line_number":58,"context_line":"            \"grep -q devstack@neutron-api\", check\u003dFalse).exit_status \u003d\u003d 0:"}],"source_content_type":"text/x-python","patch_set":1,"id":"527e3d1e_4041b84c","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":71},"updated":"2025-06-04 14:57:23.000000000","message":"that comment line should be kept before the code it is relevant for, or removed when related code removed.","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"233d344c0d8653a559d53fb4443f6f5d02ba6757","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def _is_devstack_wsgi(local_conf\u003dconstants.LOCAL_CONF_FILE):"},{"line_number":55,"context_line":"    # NOTE(mblue): fails/false for podified, so file existence optional"},{"line_number":56,"context_line":"    if shell.execute("},{"line_number":57,"context_line":"            \"systemctl list-unit-files --type service | \""},{"line_number":58,"context_line":"            \"grep -q devstack@neutron-api\", check\u003dFalse).exit_status \u003d\u003d 0:"}],"source_content_type":"text/x-python","patch_set":1,"id":"04fd635a_8e4d06c9","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":71},"in_reply_to":"527e3d1e_4041b84c","updated":"2025-06-04 17:23:46.000000000","message":"Done","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"ba6c934aed19a13f969dc4b02ed4c0a2ca669c8d","unresolved":true,"context_lines":[{"line_number":55,"context_line":"    # NOTE(mblue): fails/false for podified, so file existence optional"},{"line_number":56,"context_line":"    if shell.execute("},{"line_number":57,"context_line":"            \"systemctl list-unit-files --type service | \""},{"line_number":58,"context_line":"            \"grep -q devstack@neutron-api\", check\u003dFalse).exit_status \u003d\u003d 0:"},{"line_number":59,"context_line":"        return True"},{"line_number":60,"context_line":"    return is_regex_in_file("},{"line_number":61,"context_line":"        f\u0027{constants.WSGI_OPT}\u003d.*?true.*?\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"4ed8e31c_4d294118","line":58,"range":{"start_line":58,"start_character":18,"end_line":58,"end_character":20},"updated":"2025-06-04 14:57:23.000000000","message":"Why quiet option `-q` used?\n`execute` method does logging and could use this output.","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"233d344c0d8653a559d53fb4443f6f5d02ba6757","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    # NOTE(mblue): fails/false for podified, so file existence optional"},{"line_number":56,"context_line":"    if shell.execute("},{"line_number":57,"context_line":"            \"systemctl list-unit-files --type service | \""},{"line_number":58,"context_line":"            \"grep -q devstack@neutron-api\", check\u003dFalse).exit_status \u003d\u003d 0:"},{"line_number":59,"context_line":"        return True"},{"line_number":60,"context_line":"    return is_regex_in_file("},{"line_number":61,"context_line":"        f\u0027{constants.WSGI_OPT}\u003d.*?true.*?\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"e8b92559_52331a3c","line":58,"range":{"start_line":58,"start_character":18,"end_line":58,"end_character":20},"in_reply_to":"4ed8e31c_4d294118","updated":"2025-06-04 17:23:46.000000000","message":"Done","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"ba6c934aed19a13f969dc4b02ed4c0a2ca669c8d","unresolved":true,"context_lines":[{"line_number":58,"context_line":"            \"grep -q devstack@neutron-api\", check\u003dFalse).exit_status \u003d\u003d 0:"},{"line_number":59,"context_line":"        return True"},{"line_number":60,"context_line":"    return is_regex_in_file("},{"line_number":61,"context_line":"        f\u0027{constants.WSGI_OPT}\u003d.*?true.*?\u0027,"},{"line_number":62,"context_line":"        local_conf,"},{"line_number":63,"context_line":"        re.I,"},{"line_number":64,"context_line":"        fail_no_file\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":1,"id":"a27c9d20_e8fb4e2a","line":61,"range":{"start_line":61,"start_character":21,"end_line":61,"end_character":29},"updated":"2025-06-04 14:57:23.000000000","message":"deprecated, no need to check it","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"233d344c0d8653a559d53fb4443f6f5d02ba6757","unresolved":false,"context_lines":[{"line_number":58,"context_line":"            \"grep -q devstack@neutron-api\", check\u003dFalse).exit_status \u003d\u003d 0:"},{"line_number":59,"context_line":"        return True"},{"line_number":60,"context_line":"    return is_regex_in_file("},{"line_number":61,"context_line":"        f\u0027{constants.WSGI_OPT}\u003d.*?true.*?\u0027,"},{"line_number":62,"context_line":"        local_conf,"},{"line_number":63,"context_line":"        re.I,"},{"line_number":64,"context_line":"        fail_no_file\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":1,"id":"cd0644e7_3cd308ba","line":61,"range":{"start_line":61,"start_character":21,"end_line":61,"end_character":29},"in_reply_to":"a27c9d20_e8fb4e2a","updated":"2025-06-04 17:23:46.000000000","message":"Done","commit_id":"cf8003dd1d8bc547c16f8142d4a29794084a2b2b"}]}
