)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"dc880986d7f2267d2261b799b48c483c52633803","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Stephen Finucane \u003cstephenfin@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-12-06 11:06:18 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add new nova.wsgi module"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This allows deployment tooling to easily switch from passing a binary"},{"line_number":10,"context_line":"path to passing a Python module path. We\u0027ll use it shortly."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9b380b1f_1b4612e7","line":7,"updated":"2024-03-06 10:31:24.000000000","message":"femtonit : this is a WSGI application module this time.\nThe previous patch was about removing the *server* WSGI module,so I\u0027m OK.","commit_id":"489297d74248cb659896064af2161dcd8957d9e9"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3353a28aa3ebf7fff3b9cca795fd075f98a5b2bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"71e3f7ef_934e8560","updated":"2023-12-06 10:29:21.000000000","message":"I have proposed https://review.opendev.org/c/openstack/devstack/+/902758 to switch DevStack over to using this. As noted there, I have yet to test it so I\u0027ll probably have to do some rework yet. I do think this is the way to go now though.","commit_id":"bbd914c3a5211e6b65539fd22921eaac031ad578"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"dc880986d7f2267d2261b799b48c483c52633803","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"037e87c7_0ae65058","updated":"2024-03-06 10:31:24.000000000","message":"With the existing wsgi entrypoint [1], we don\u0027t have a lock. Could you please explain by the commit message why you would want to use it ?\n\n[1] https://github.com/openstack/nova/blob/6230018d65d1ac41c256a141afd27f73fc1dc259/nova/api/openstack/compute/wsgi.py","commit_id":"489297d74248cb659896064af2161dcd8957d9e9"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a87406756e270da3f8514ce9d58fcb44b1b8892b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a463ebcc_5e90ccd8","in_reply_to":"037e87c7_0ae65058","updated":"2024-03-06 18:44:39.000000000","message":"we do the lock is added by pbr see my other comment","commit_id":"489297d74248cb659896064af2161dcd8957d9e9"}],"nova/wsgi/osapi_compute.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"dc880986d7f2267d2261b799b48c483c52633803","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"WSGI application entry-point for Nova Compute API.\"\"\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import threading"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from nova.api.openstack import wsgi_app"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"739549f4_30d220fe","line":15,"updated":"2024-03-06 10:31:24.000000000","message":"question : why do we want to have a threading model for the API application ?","commit_id":"489297d74248cb659896064af2161dcd8957d9e9"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"85b5a91a06449df200a557e6b7a95fba36c13786","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"WSGI application entry-point for Nova Compute API.\"\"\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import threading"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from nova.api.openstack import wsgi_app"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"68f13cbc_1dc42d8c","line":15,"in_reply_to":"367294e4_9e942400","updated":"2024-03-07 12:05:46.000000000","message":"stephen is not back form pto for another week ro more.\n\nits not really an opinonated chocie so much as a correctness reuqirement.\n\nits not safe too call wsgi_app.init_application(NAME) twice for nova in the same process so we are preventign that form happing with a lock and a guarding if.","commit_id":"489297d74248cb659896064af2161dcd8957d9e9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9bcc1026f3553351c94072b5ac7e37c7e41f1945","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"WSGI application entry-point for Nova Compute API.\"\"\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import threading"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from nova.api.openstack import wsgi_app"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"489f4a8f_520a2f24","line":15,"in_reply_to":"68f13cbc_1dc42d8c","updated":"2024-03-11 16:15:35.000000000","message":"Okay, cool with me, please just add a new follow-up patch if you can (even after feature freeze)","commit_id":"489297d74248cb659896064af2161dcd8957d9e9"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9f09f3f3958b7fd4743732099d73c6f2245bae4e","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"WSGI application entry-point for Nova Compute API.\"\"\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import threading"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from nova.api.openstack import wsgi_app"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"cb25a367_23ca106a","line":15,"in_reply_to":"739549f4_30d220fe","updated":"2024-03-06 18:36:19.000000000","message":"this is to ensure that if the wsgi server reloads the module into the same interperter that it does not reinitalise the applicaiton form two different threads.\n\n\nthe nova api does not support initalising the application form multiple threads in teh same process due to how we  we handle some of our global data structures like the db fasades.\n\nthis protect against two therad racing to do that init.\n\n\npbr generates this lock for use before.\n\n\nhttps://github.com/openstack/pbr/blob/d03d617c09e7ba8ddf62d1e53d71685cd708e2da/pbr/packaging.py#L378-L382\n\nso this is keeping parity with how this worked there.\n\nthis si not really about haveing a threading model so much as maintaining the exisitng beavhior.\n\nyou still shoudl proably avoid running with multiple threads in the same process for nova-api but that is a configuration fo the wsgi server.","commit_id":"489297d74248cb659896064af2161dcd8957d9e9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c1133158ee941113751bc6a708faa37d18df56bb","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"WSGI application entry-point for Nova Compute API.\"\"\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import threading"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from nova.api.openstack import wsgi_app"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"367294e4_9e942400","line":15,"in_reply_to":"cb25a367_23ca106a","updated":"2024-03-07 08:54:45.000000000","message":"Yeah, so that\u0027s an opiniated choice : we don\u0027t want the server to make sure that we won\u0027t use the application for multiple threads. Could we please at least explain it on both the commit message and in the module as a comment ?","commit_id":"489297d74248cb659896064af2161dcd8957d9e9"}]}
