)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ce5fcf126dc4833f49aca7e1b9e0bcd983c5d3ad","unresolved":true,"context_lines":[{"line_number":11,"context_line":"backend. This change adds backend compatibility checks to prevent"},{"line_number":12,"context_line":"improper usage and provide clear guidance to users."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Changes:"},{"line_number":15,"context_line":"- Add ThreadingBackendError exception to oslo_service.backend.exceptions"},{"line_number":16,"context_line":"- Implement _check_backend_compatibility() function in wsgi module"},{"line_number":17,"context_line":"- Add backend compatibility check in Server.__init__() method"},{"line_number":18,"context_line":"- Raise ThreadingBackendError when threading backend is active"},{"line_number":19,"context_line":"- Provide clear error message directing users to standard WSGI servers"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The error occurs immediately during Server instantiation, preventing"},{"line_number":22,"context_line":"potential runtime issues and guiding users toward proper deployment"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"28558ca8_560a157a","line":19,"range":{"start_line":14,"start_character":0,"end_line":19,"end_character":70},"updated":"2025-08-11 13:54:27.000000000","message":"(nit) I\u0027m not a big fan of writing the changes in detail. We can learn these from git diff ... We should focus on writing why we need these changes.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"a028a4c80df27275ccddd39783d88f749558f711","unresolved":true,"context_lines":[{"line_number":11,"context_line":"backend. This change adds backend compatibility checks to prevent"},{"line_number":12,"context_line":"improper usage and provide clear guidance to users."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Changes:"},{"line_number":15,"context_line":"- Add ThreadingBackendError exception to oslo_service.backend.exceptions"},{"line_number":16,"context_line":"- Implement _check_backend_compatibility() function in wsgi module"},{"line_number":17,"context_line":"- Add backend compatibility check in Server.__init__() method"},{"line_number":18,"context_line":"- Raise ThreadingBackendError when threading backend is active"},{"line_number":19,"context_line":"- Provide clear error message directing users to standard WSGI servers"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The error occurs immediately during Server instantiation, preventing"},{"line_number":22,"context_line":"potential runtime issues and guiding users toward proper deployment"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"94881ce3_08c44bfd","line":19,"range":{"start_line":14,"start_character":0,"end_line":19,"end_character":70},"in_reply_to":"28558ca8_560a157a","updated":"2025-09-02 07:54:06.000000000","message":"Ok, can remove them, I was thinking it would be useful to overview them here. Will drop that part.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ce5fcf126dc4833f49aca7e1b9e0bcd983c5d3ad","unresolved":true,"context_lines":[{"line_number":24,"context_line":"standard WSGI servers like uwsgi or gunicorn instead of relying on"},{"line_number":25,"context_line":"the deprecated oslo.service WSGI server."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Comprehensive unit tests have been added to verify the new behavior"},{"line_number":28,"context_line":"across different scenarios including backend switching, multiple"},{"line_number":29,"context_line":"instantiation attempts, and proper error messaging."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Generated-By: Claude Sonnet 4"},{"line_number":32,"context_line":"Change-Id: Ib31ea34fa435a14afbca9f9dafa9e88aab43da25"},{"line_number":33,"context_line":"Signed-off-by: Hervé Beraud \u003chberaud@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7bd070b7_3bd2a1bc","line":30,"range":{"start_line":27,"start_character":0,"end_line":30,"end_character":1},"updated":"2025-08-11 13:54:27.000000000","message":"(nit) I always wonder how much benefitial to describe that this change adds unit tests to avoid regression. This is purely clear from git diff...","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"a028a4c80df27275ccddd39783d88f749558f711","unresolved":true,"context_lines":[{"line_number":24,"context_line":"standard WSGI servers like uwsgi or gunicorn instead of relying on"},{"line_number":25,"context_line":"the deprecated oslo.service WSGI server."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Comprehensive unit tests have been added to verify the new behavior"},{"line_number":28,"context_line":"across different scenarios including backend switching, multiple"},{"line_number":29,"context_line":"instantiation attempts, and proper error messaging."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Generated-By: Claude Sonnet 4"},{"line_number":32,"context_line":"Change-Id: Ib31ea34fa435a14afbca9f9dafa9e88aab43da25"},{"line_number":33,"context_line":"Signed-off-by: Hervé Beraud \u003chberaud@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"907880ae_289d98d1","line":30,"range":{"start_line":27,"start_character":0,"end_line":30,"end_character":1},"in_reply_to":"7bd070b7_3bd2a1bc","updated":"2025-09-02 07:54:06.000000000","message":"Agree that useless.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ce5fcf126dc4833f49aca7e1b9e0bcd983c5d3ad","unresolved":true,"context_lines":[{"line_number":28,"context_line":"across different scenarios including backend switching, multiple"},{"line_number":29,"context_line":"instantiation attempts, and proper error messaging."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Generated-By: Claude Sonnet 4"},{"line_number":32,"context_line":"Change-Id: Ib31ea34fa435a14afbca9f9dafa9e88aab43da25"},{"line_number":33,"context_line":"Signed-off-by: Hervé Beraud \u003chberaud@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"e723d3c9_eb7c9ecc","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":29},"updated":"2025-08-11 13:54:27.000000000","message":"If this change is truly \"generated\" then I won\u0027t vote my +2 unless clear statement to ensure compatibility with Apache-2.0 is provided. Any other cores might overwrite my opinion.\n\nProbably we should use assisted-by tag here.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"86d8d0b84d0ec352eb01c1e3bfc2c0293dcd4aa3","unresolved":true,"context_lines":[{"line_number":28,"context_line":"across different scenarios including backend switching, multiple"},{"line_number":29,"context_line":"instantiation attempts, and proper error messaging."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Generated-By: Claude Sonnet 4"},{"line_number":32,"context_line":"Change-Id: Ib31ea34fa435a14afbca9f9dafa9e88aab43da25"},{"line_number":33,"context_line":"Signed-off-by: Hervé Beraud \u003chberaud@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"16b16edc_c12e72c0","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":29},"in_reply_to":"051e53db_a41d2692","updated":"2025-09-02 13:31:58.000000000","message":"Thank you Takashi for your answer. I understand your concerns, especially those about licensing, and they are legits. I\u0027ve no problem about taking the ownership of this kind of code even if created/generated it with the assistance of an AI.\n\nAs I said, when I produce this kind of code there is some back and fore between me and the agent. I manually tweak parts, I refine some other,  and I review the whole, so `assisted` can fit this situation. That\u0027s not like I submitted an AI code in a blindly way or even a raw submitment.\n\nOutside of the licensing concerns, I think there is also the AI slop problem. I\u0027m aware of the problems they causes on free software and open source projects and on community. I could use AI to spam gerrit with patches but at the end human (we) would have to assume them. I\u0027m in favor of a responsible usage of AI, and I hope this kind of patch fall into that case.\n\nI\u0027m going to push a new patch set to move from `generated` to `assisted`.\nThanks again for the remarks, I think you are right to taking that aspect into consideration.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9b72db52054c85abc2c8a190b6db1c99469a8671","unresolved":true,"context_lines":[{"line_number":28,"context_line":"across different scenarios including backend switching, multiple"},{"line_number":29,"context_line":"instantiation attempts, and proper error messaging."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Generated-By: Claude Sonnet 4"},{"line_number":32,"context_line":"Change-Id: Ib31ea34fa435a14afbca9f9dafa9e88aab43da25"},{"line_number":33,"context_line":"Signed-off-by: Hervé Beraud \u003chberaud@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"051e53db_a41d2692","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":29},"in_reply_to":"cc20b3d0_6df689a3","updated":"2025-09-02 11:46:44.000000000","message":"I had a short chat about this with some of the TC members some time ago, but the core difference between \u0027generated\u0027 and \u0027assisted\u0027 is that \u0027generated\u0027 indicates that you don\u0027t \"own\" your code but just throw the raw output while \u0027assisted\u0027 indicates that you \"own\" you code written with AI assistance. My overall concern is that we can\u0027t approve any code without explicit owership and responsibility because we can\u0027t merge any code contribution which might not align with the community rule (including the license compatibility). That\u0027s shares the core reason with my previous question about licensing compatibility.\n\nMaybe that term would be enough, though, even this is something completely \"generated\".","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"a028a4c80df27275ccddd39783d88f749558f711","unresolved":true,"context_lines":[{"line_number":28,"context_line":"across different scenarios including backend switching, multiple"},{"line_number":29,"context_line":"instantiation attempts, and proper error messaging."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Generated-By: Claude Sonnet 4"},{"line_number":32,"context_line":"Change-Id: Ib31ea34fa435a14afbca9f9dafa9e88aab43da25"},{"line_number":33,"context_line":"Signed-off-by: Hervé Beraud \u003chberaud@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"cc20b3d0_6df689a3","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":29},"in_reply_to":"e723d3c9_eb7c9ecc","updated":"2025-09-02 07:54:06.000000000","message":"What is the boundary between generated and assisted?\n\nMy process is:\n1. I spend time writing prompts\n2. I refine them by using a tool I specially created for that https://crates.io/crates/inkspect\n3. I pass my prompts to the agent\n4. I iterate with the agent while reviewing its changes at each stage\n5. I make some manual adjustments but the majority of the code is generated by the agent (under supervision).\n\nConcerning the apache license point, I understand your point. RedHat give us Claude subscriptions \n\nConcerning the compatibility with Apache-2.0, the \"Commercial Terms of Service\" [1] indicate that:\n\n\u003e As between the parties and to the extent permitted by applicable law, Anthropic agrees that Customer (a) retains all rights to its Inputs, and (b) owns its Outputs. Anthropic disclaims any rights it receives to the Customer Content under these Terms. Subject to Customer’s compliance with these Terms, Anthropic hereby assigns to Customer its right, title and interest (if any) in and to Outputs.\n\nWithout being a lawyer neither, that sentence seems to indicate that I am free to use it under any license I choose, such as the Apache 2.0 license.\n\nThat would be good to have a bigger discussion at the community level related to the various usages of models, and on models themselves, to clarify the position of our community.\n\nI was thinking that declaring the usage of an LLM in the commit message would be enough, but as LLMs usages is a fresh topic I think there is still some shadow areas.\n\n[1] https://www.anthropic.com/legal/commercial-terms","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"6871c97b1cd65892921322eecd920a5db6889bb1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e2eeaf23_abd917e9","updated":"2025-07-16 14:59:39.000000000","message":"This is the rework of https://review.opendev.org/c/openstack/oslo.service/+/954263.\nI followed the suggests made by Takashi into that previous proposal.","commit_id":"e6ccaa0ac07247a93212857066c41a5501ab78cc"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"82b44ae67172f1533d0bb4bcacd6f69c97f86732","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"124cad8a_ddc54663","updated":"2025-07-16 18:59:50.000000000","message":"I think I also need to reset the backend for service tests. Current failure seems to be a side effect of the tests I added into this patch.","commit_id":"9d89f94907e43b33996f5fdd26a7d10f834210c1"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"1eb68a12e6467b356fe31a0a744cacfcf6fd7994","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b4eae704_79901a0d","in_reply_to":"124cad8a_ddc54663","updated":"2025-07-17 13:37:51.000000000","message":"Done","commit_id":"9d89f94907e43b33996f5fdd26a7d10f834210c1"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"5b80dfc4ac71aa86a81f8ece0d853e9e1f30ba25","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"39758d0c_403f8562","updated":"2025-08-11 13:54:52.000000000","message":"-1 due to the naming of the exception and how we define the check methods. The other parts are not quite critical.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"a028a4c80df27275ccddd39783d88f749558f711","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"73d09925_fbf8d1b4","updated":"2025-09-02 07:54:06.000000000","message":"@Takashi: I answered/commented some of your comments, please have a look. I\u0027ll submit the next patch set soon.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"}],"oslo_service/backend/exceptions.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ce5fcf126dc4833f49aca7e1b9e0bcd983c5d3ad","unresolved":true,"context_lines":[{"line_number":26,"context_line":"    pass"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class ThreadingBackendError(Exception):"},{"line_number":30,"context_line":"    \"\"\"Raised when a component incompatible with threading backend is used.\"\"\""},{"line_number":31,"context_line":"    def __init__(self, message\u003dNone):"},{"line_number":32,"context_line":"        if message is None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a34c9e4_209dd0b6","line":29,"range":{"start_line":29,"start_character":6,"end_line":29,"end_character":27},"updated":"2025-08-11 13:54:27.000000000","message":"This givens an impression that something is wrong with threading backend itself. Probably UnsupportedBackendError is better.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"a028a4c80df27275ccddd39783d88f749558f711","unresolved":true,"context_lines":[{"line_number":26,"context_line":"    pass"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class ThreadingBackendError(Exception):"},{"line_number":30,"context_line":"    \"\"\"Raised when a component incompatible with threading backend is used.\"\"\""},{"line_number":31,"context_line":"    def __init__(self, message\u003dNone):"},{"line_number":32,"context_line":"        if message is None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1c65214a_1b79d9b0","line":29,"range":{"start_line":29,"start_character":6,"end_line":29,"end_character":27},"in_reply_to":"5a34c9e4_209dd0b6","updated":"2025-09-02 07:54:06.000000000","message":"Sold. I agree that `UnsupportedBackendError` better reflect the intent of this exception.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"}],"oslo_service/wsgi.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ce5fcf126dc4833f49aca7e1b9e0bcd983c5d3ad","unresolved":true,"context_lines":[{"line_number":42,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"def _check_backend_compatibility():"},{"line_number":46,"context_line":"    \"\"\"Check if the current backend is compatible with WSGI Server."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    Raises ThreadingBackendError if the threading backend is active."}],"source_content_type":"text/x-python","patch_set":4,"id":"9ec95b56_55f2d9f5","line":45,"range":{"start_line":45,"start_character":4,"end_line":45,"end_character":32},"updated":"2025-08-11 13:54:27.000000000","message":"Should this be an indpendent function or can it be a method of the Server class ?","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"a028a4c80df27275ccddd39783d88f749558f711","unresolved":true,"context_lines":[{"line_number":42,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"def _check_backend_compatibility():"},{"line_number":46,"context_line":"    \"\"\"Check if the current backend is compatible with WSGI Server."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    Raises ThreadingBackendError if the threading backend is active."}],"source_content_type":"text/x-python","patch_set":4,"id":"3bcba9a4_74427186","line":45,"range":{"start_line":45,"start_character":4,"end_line":45,"end_character":32},"in_reply_to":"9ec95b56_55f2d9f5","updated":"2025-09-02 07:54:06.000000000","message":"As you prefer, I do not have a strong opinion on that point, both approaches suit me.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"}],"releasenotes/notes/wsgi-server-threading-backend-protection-a8f3d2e19b5c7f84.yaml":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ce5fcf126dc4833f49aca7e1b9e0bcd983c5d3ad","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    ``oslo_service.backend.exceptions`` to provide clear error messages when"},{"line_number":6,"context_line":"    components incompatible with the threading backend are used."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    The error message helps users understand that they should migrate to"},{"line_number":9,"context_line":"    standard WSGI deployment methods instead of using the deprecated"},{"line_number":10,"context_line":"    oslo.service WSGI server."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"a8ea5a22_bc5c7633","line":8,"updated":"2025-08-11 13:54:27.000000000","message":"This document is for users, but this statement is really for oslo developers.\nWhat we should warn here is that users should migrate their apps to external wsgi server framework.\n\nProbably keeping the upgrade note is enough.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"a028a4c80df27275ccddd39783d88f749558f711","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    ``oslo_service.backend.exceptions`` to provide clear error messages when"},{"line_number":6,"context_line":"    components incompatible with the threading backend are used."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    The error message helps users understand that they should migrate to"},{"line_number":9,"context_line":"    standard WSGI deployment methods instead of using the deprecated"},{"line_number":10,"context_line":"    oslo.service WSGI server."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ce52fa61_f888fac2","line":8,"in_reply_to":"a8ea5a22_bc5c7633","updated":"2025-09-02 07:54:06.000000000","message":"ok","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ce5fcf126dc4833f49aca7e1b9e0bcd983c5d3ad","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    oslo.service WSGI server."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"fixes:"},{"line_number":13,"context_line":"  - |"},{"line_number":14,"context_line":"    Fixed potential runtime issues when using ``oslo.service.wsgi.Server``"},{"line_number":15,"context_line":"    with the threading backend. The server is designed to work with eventlet"},{"line_number":16,"context_line":"    and will now fail fast with a clear error message when used incorrectly,"},{"line_number":17,"context_line":"    rather than causing unexpected behavior at runtime."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"upgrade:"},{"line_number":20,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"442220d0_d22065f0","line":17,"range":{"start_line":13,"start_character":4,"end_line":17,"end_character":55},"updated":"2025-08-11 13:54:27.000000000","message":"This does not \"fix\" any problems right ? I\u0027m inclined to drop this.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"86d8d0b84d0ec352eb01c1e3bfc2c0293dcd4aa3","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    oslo.service WSGI server."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"fixes:"},{"line_number":13,"context_line":"  - |"},{"line_number":14,"context_line":"    Fixed potential runtime issues when using ``oslo.service.wsgi.Server``"},{"line_number":15,"context_line":"    with the threading backend. The server is designed to work with eventlet"},{"line_number":16,"context_line":"    and will now fail fast with a clear error message when used incorrectly,"},{"line_number":17,"context_line":"    rather than causing unexpected behavior at runtime."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"upgrade:"},{"line_number":20,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"50606a15_8ac765e1","line":17,"range":{"start_line":13,"start_character":4,"end_line":17,"end_character":55},"in_reply_to":"2aaef2ae_c79eed3c","updated":"2025-09-02 13:31:58.000000000","message":"I propose to let\u0027s limiting the release note to `upgrade`. That will be less confusing.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"a028a4c80df27275ccddd39783d88f749558f711","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    oslo.service WSGI server."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"fixes:"},{"line_number":13,"context_line":"  - |"},{"line_number":14,"context_line":"    Fixed potential runtime issues when using ``oslo.service.wsgi.Server``"},{"line_number":15,"context_line":"    with the threading backend. The server is designed to work with eventlet"},{"line_number":16,"context_line":"    and will now fail fast with a clear error message when used incorrectly,"},{"line_number":17,"context_line":"    rather than causing unexpected behavior at runtime."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"upgrade:"},{"line_number":20,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"d36df18a_af03f931","line":17,"range":{"start_line":13,"start_character":4,"end_line":17,"end_character":55},"in_reply_to":"442220d0_d22065f0","updated":"2025-09-02 07:54:06.000000000","message":"Without this fix WSGI is available no matter the backend. AFAIK that\u0027s not a user faced problem but it is a potential one that could lead to misunderstanding. \n\nStrictly speaking that\u0027s not a bug, so I guess you are right. And the reno doc [1] and the semver one [2] do not strictly define what is a fix and if fixing a misconfiguration by anticipation enter this scenario. In all the case that\u0027s an interesting topic to study and to look deeeper.\n\n[1] https://docs.openstack.org/reno/latest/user/usage.html#editing-a-release-note\n[2] https://semver.org/\n\nThat\u0027s said, I can remove it if you prefer.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9b72db52054c85abc2c8a190b6db1c99469a8671","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    oslo.service WSGI server."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"fixes:"},{"line_number":13,"context_line":"  - |"},{"line_number":14,"context_line":"    Fixed potential runtime issues when using ``oslo.service.wsgi.Server``"},{"line_number":15,"context_line":"    with the threading backend. The server is designed to work with eventlet"},{"line_number":16,"context_line":"    and will now fail fast with a clear error message when used incorrectly,"},{"line_number":17,"context_line":"    rather than causing unexpected behavior at runtime."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"upgrade:"},{"line_number":20,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"2aaef2ae_c79eed3c","line":17,"range":{"start_line":13,"start_character":4,"end_line":17,"end_character":55},"in_reply_to":"d36df18a_af03f931","updated":"2025-09-02 11:46:44.000000000","message":"Maybe we need at least rewording. Because this change does not fix the problem itself but adds the capability to detect potentially problematic usage, it would be better to describe something like\n\nNow ``oslo.service.wsgi.Server`` can detects usage along with a threading backend, and explicit fail. Previously it did not fail but the actual functionality was not guaranteed due to unsupported mixing usage of threading and eventlet.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ce5fcf126dc4833f49aca7e1b9e0bcd983c5d3ad","unresolved":true,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"upgrade:"},{"line_number":20,"context_line":"  - |"},{"line_number":21,"context_line":"    **BREAKING CHANGE**: The ``oslo.service.wsgi.Server`` class now includes"},{"line_number":22,"context_line":"    backend compatibility checks to prevent improper usage with the threading"},{"line_number":23,"context_line":"    backend. Applications using the threading backend that attempt to"},{"line_number":24,"context_line":"    instantiate the WSGI Server will now receive an immediate"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"51719d6b_b6fe075c","line":21,"range":{"start_line":21,"start_character":4,"end_line":21,"end_character":25},"updated":"2025-08-11 13:54:27.000000000","message":"upgrade note is for breaking change so this may be redundant.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"a028a4c80df27275ccddd39783d88f749558f711","unresolved":true,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"upgrade:"},{"line_number":20,"context_line":"  - |"},{"line_number":21,"context_line":"    **BREAKING CHANGE**: The ``oslo.service.wsgi.Server`` class now includes"},{"line_number":22,"context_line":"    backend compatibility checks to prevent improper usage with the threading"},{"line_number":23,"context_line":"    backend. Applications using the threading backend that attempt to"},{"line_number":24,"context_line":"    instantiate the WSGI Server will now receive an immediate"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"e3a16782_fd45f47f","line":21,"range":{"start_line":21,"start_character":4,"end_line":21,"end_character":25},"in_reply_to":"51719d6b_b6fe075c","updated":"2025-09-02 07:54:06.000000000","message":"Indeed. Will remove that.","commit_id":"e2ea380cfd2e2bb665fa044ca7c0ff51f8301804"}]}
