)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ea78731fc7bfeb593da7927e7f5b67e1efb2bf5e","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Add spec for security groups default statefulness API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This spec proposes a new Neutron API extension,"},{"line_number":10,"context_line":"\"security-groups-statefulness\", that allows operators to configure"},{"line_number":11,"context_line":"the default value of the \"stateful\" attribute for new security"},{"line_number":12,"context_line":"groups, on a per-project or system-wide basis."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"0e1b9a54_53276165","line":10,"range":{"start_line":10,"start_character":1,"end_line":10,"end_character":29},"updated":"2026-04-13 11:09:34.000000000","message":"security-groups-default-statefulness","commit_id":"dd059e7a1f706fdc8e07668e5ee33d37669158a0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b900ad7691caeecaa1122cb471a33fc026b9f74a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add spec for security groups default statefulness API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This spec proposes a new Neutron API extension,"},{"line_number":10,"context_line":"\"security-groups-statefulness\", that allows operators to configure"},{"line_number":11,"context_line":"the default value of the \"stateful\" attribute for new security"},{"line_number":12,"context_line":"groups, on a per-project or system-wide basis."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"d3a6e4b5_611d2c27","line":10,"range":{"start_line":10,"start_character":1,"end_line":10,"end_character":29},"in_reply_to":"0e1b9a54_53276165","updated":"2026-04-13 11:10:22.000000000","message":"Done","commit_id":"dd059e7a1f706fdc8e07668e5ee33d37669158a0"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"adb09b32b28c0cf4881958261a34d991080232ac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"0c0b99a9_9c9def88","updated":"2026-04-25 00:51:56.000000000","message":"just one typo","commit_id":"d5f0b4f75bd39fcaf5bc438709936130e754cec2"}],"specs/2026.2/security-groups-default-statefulness.rst":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"adb09b32b28c0cf4881958261a34d991080232ac","unresolved":true,"context_lines":[{"line_number":14,"context_line":"project, it is always created with ``stateful\u003dTrue`` unless the API caller"},{"line_number":15,"context_line":"explicitly specifies otherwise. This makes it difficult for operators who"},{"line_number":16,"context_line":"want to adopt stateless security groups by default. This spec proposes a new"},{"line_number":17,"context_line":"Neutron API extension called ``security-groups-statefulness`` [2]_ that"},{"line_number":18,"context_line":"allows operators and administrators to control the default value of the"},{"line_number":19,"context_line":"``stateful`` attribute on a per-project or system-wide basis."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"af0a66bf_8f9f5754","line":17,"range":{"start_line":17,"start_character":47,"end_line":17,"end_character":59},"updated":"2026-04-25 00:51:56.000000000","message":"s/default-statefulness\n\nat least that what is used below","commit_id":"d5f0b4f75bd39fcaf5bc438709936130e754cec2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"864154feff56f468d4ad601ca086525311dd10c4","unresolved":false,"context_lines":[{"line_number":14,"context_line":"project, it is always created with ``stateful\u003dTrue`` unless the API caller"},{"line_number":15,"context_line":"explicitly specifies otherwise. This makes it difficult for operators who"},{"line_number":16,"context_line":"want to adopt stateless security groups by default. This spec proposes a new"},{"line_number":17,"context_line":"Neutron API extension called ``security-groups-statefulness`` [2]_ that"},{"line_number":18,"context_line":"allows operators and administrators to control the default value of the"},{"line_number":19,"context_line":"``stateful`` attribute on a per-project or system-wide basis."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"c1d75c59_29641faa","line":17,"range":{"start_line":17,"start_character":47,"end_line":17,"end_character":59},"in_reply_to":"af0a66bf_8f9f5754","updated":"2026-04-28 07:56:54.000000000","message":"Right!","commit_id":"d5f0b4f75bd39fcaf5bc438709936130e754cec2"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0bd64f8378c3957c0ed8af5b3a6369949b7d9953","unresolved":true,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"  Delete a default statefulness setting. After deletion, the affected scope"},{"line_number":201,"context_line":"  (project or system-wide) reverts to the next applicable default."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"DB Impact"},{"line_number":205,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d0799f7d_289aa5d1","line":202,"updated":"2026-04-14 08:23:15.000000000","message":"I suppose the GET /v2.0/security-groups-default-statefulness/\u003cproject_id\u003e should work also as filter","commit_id":"d5f0b4f75bd39fcaf5bc438709936130e754cec2"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"882c058c671d6e0478c046f51d54f3c8ab096d5e","unresolved":false,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"  Delete a default statefulness setting. After deletion, the affected scope"},{"line_number":201,"context_line":"  (project or system-wide) reverts to the next applicable default."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"DB Impact"},{"line_number":205,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1956c722_78290420","line":202,"in_reply_to":"7533c986_b45eafd4","updated":"2026-04-14 12:38:08.000000000","message":"ack, my user hat on that sounds useful to be able to fetch the QoS policies for the given project.","commit_id":"d5f0b4f75bd39fcaf5bc438709936130e754cec2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"83698daf186aae709f275a622d47e47cbb706f1c","unresolved":false,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"  Delete a default statefulness setting. After deletion, the affected scope"},{"line_number":201,"context_line":"  (project or system-wide) reverts to the next applicable default."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"DB Impact"},{"line_number":205,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7533c986_b45eafd4","line":202,"in_reply_to":"d0799f7d_289aa5d1","updated":"2026-04-14 10:24:15.000000000","message":"That breaks the API convention. The parameter to be passed in the URL must be only a single resource, in this case the `security_groups_default_statefulness` ID.\n\nBut, of course, we can implement filtering in the `GET /v2.0/security-groups-default-statefulness` command, using `project_id`, passing it as a parameter of the API call, in the payload.","commit_id":"d5f0b4f75bd39fcaf5bc438709936130e754cec2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"db1e295ece3f18496954efed09eb2a65e58fa9de","unresolved":true,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":"* The new API will be restricted to **admin users** by default through Oslo"},{"line_number":233,"context_line":"  policy rules. Regular users will only be able to read the effective default"},{"line_number":234,"context_line":"  for their own project."},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"* This change does **not** affect the enforcement of security group rules"},{"line_number":237,"context_line":"  themselves; it only changes the default value used when the ``stateful``"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f525c18_07b30f05","line":234,"updated":"2026-05-06 08:21:21.000000000","message":"maybe we could consider allowing setting it for the specific project for the MANAGER persona also. But this can be discussed later if needed.","commit_id":"89308dd955f5a604818c019205012a510e5487e9"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"7c3fc36be735e09ee6151a6462dddab15492b84b","unresolved":false,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":"* The new API will be restricted to **admin users** by default through Oslo"},{"line_number":233,"context_line":"  policy rules. Regular users will only be able to read the effective default"},{"line_number":234,"context_line":"  for their own project."},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"* This change does **not** affect the enforcement of security group rules"},{"line_number":237,"context_line":"  themselves; it only changes the default value used when the ``stateful``"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fbb92c33_58df39f4","line":234,"in_reply_to":"9f525c18_07b30f05","updated":"2026-05-06 08:24:19.000000000","message":"Yes, for sure. This can be done in the implementation. Also I can amend the spec once merged.\n\nThanks!","commit_id":"89308dd955f5a604818c019205012a510e5487e9"}]}
