)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"90cf25a4a3fbe321d09b58bd6a1630981d198a1f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"3e0ba649_45bc250f","updated":"2026-06-12 14:39:30.000000000","message":"ping fellow reviewers","commit_id":"48ca17d946d0d12b017b07e1663e58dbe854a5b7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"221ca17da85aa714bfa78292146880ac8e88fd01","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"2f24224e_609c7755","updated":"2026-06-17 11:07:01.000000000","message":"recheck gate queue","commit_id":"48ca17d946d0d12b017b07e1663e58dbe854a5b7"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"56d808e23d8af0d171e2dd1642707615b8d34aa7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"819d9d2d_4ac153a2","updated":"2026-06-17 16:19:00.000000000","message":"Looks good except for my nits","commit_id":"e22d8920181cb4c5417d8880550c50878c37c4d6"}],"neutron/conf/policies/security_groups_default_statefulness.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"b1661fd8801fc58a4a562aef1476b9436c0c0ad6","unresolved":true,"context_lines":[{"line_number":27,"context_line":"        description\u003d("},{"line_number":28,"context_line":"            \u0027Create a default statefulness setting for security groups. \u0027"},{"line_number":29,"context_line":"            \u0027System-wide settings (no project_id) always require admin \u0027"},{"line_number":30,"context_line":"            \u0027privileges. Per-project settings could be relaxed via policy \u0027"},{"line_number":31,"context_line":"            \u0027override to allow project owners.\u0027),"},{"line_number":32,"context_line":"        operations\u003d["},{"line_number":33,"context_line":"            {"},{"line_number":34,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"90336ff1_13b5d3a5","line":31,"range":{"start_line":30,"start_character":25,"end_line":31,"end_character":45},"updated":"2026-05-08 17:23:02.000000000","message":"This (and it\u0027s copied below) seems like an incomplete sentence. If it\u0027s admin-only and we want to relax to allow project owner to create something like this would work:\n\n\"Per-project settings could be relaxed via policy override to allow creation by project owners\"\n\nIf so, below ones would change based on usage - update/delete","commit_id":"c0d670e8654c251854deb0cad798793c19044e1c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5b406664ab63fdcc597e145db0d67103fc789383","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        description\u003d("},{"line_number":28,"context_line":"            \u0027Create a default statefulness setting for security groups. \u0027"},{"line_number":29,"context_line":"            \u0027System-wide settings (no project_id) always require admin \u0027"},{"line_number":30,"context_line":"            \u0027privileges. Per-project settings could be relaxed via policy \u0027"},{"line_number":31,"context_line":"            \u0027override to allow project owners.\u0027),"},{"line_number":32,"context_line":"        operations\u003d["},{"line_number":33,"context_line":"            {"},{"line_number":34,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"28d8ece3_90c06cf1","line":31,"range":{"start_line":30,"start_character":25,"end_line":31,"end_character":45},"in_reply_to":"90336ff1_13b5d3a5","updated":"2026-05-11 07:56:44.000000000","message":"Much better, thanks!","commit_id":"c0d670e8654c251854deb0cad798793c19044e1c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5b406664ab63fdcc597e145db0d67103fc789383","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        description\u003d("},{"line_number":63,"context_line":"            \u0027Update a default statefulness setting for security groups. \u0027"},{"line_number":64,"context_line":"            \u0027System-wide settings always require admin privileges. \u0027"},{"line_number":65,"context_line":"            \u0027Per-project settings could be relaxed via policy override \u0027"},{"line_number":66,"context_line":"            \u0027to allow project owners.\u0027),"},{"line_number":67,"context_line":"        operations\u003d["},{"line_number":68,"context_line":"            {"},{"line_number":69,"context_line":"                \u0027method\u0027: \u0027PUT\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3299c9f5_7f5569d9","line":66,"range":{"start_line":65,"start_character":13,"end_line":66,"end_character":39},"updated":"2026-05-11 07:56:44.000000000","message":"done","commit_id":"c0d670e8654c251854deb0cad798793c19044e1c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5b406664ab63fdcc597e145db0d67103fc789383","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        description\u003d("},{"line_number":79,"context_line":"            \u0027Delete a default statefulness setting for security groups. \u0027"},{"line_number":80,"context_line":"            \u0027System-wide settings always require admin privileges. \u0027"},{"line_number":81,"context_line":"            \u0027Per-project settings could be relaxed via policy override \u0027"},{"line_number":82,"context_line":"            \u0027to allow project owners.\u0027),"},{"line_number":83,"context_line":"        operations\u003d["},{"line_number":84,"context_line":"            {"},{"line_number":85,"context_line":"                \u0027method\u0027: \u0027DELETE\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"d1ffebc5_5360fa9b","line":82,"range":{"start_line":81,"start_character":13,"end_line":82,"end_character":40},"updated":"2026-05-11 07:56:44.000000000","message":"done","commit_id":"c0d670e8654c251854deb0cad798793c19044e1c"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"281504ad122a2e38b91cd82d75d15ba5c8e625c9","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"rules \u003d ["},{"line_number":23,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":24,"context_line":"        name\u003d\u0027create_security_groups_default_statefulness\u0027,"},{"line_number":25,"context_line":"        check_str\u003dbase.ADMIN,"},{"line_number":26,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":27,"context_line":"        description\u003d("}],"source_content_type":"text/x-python","patch_set":9,"id":"68a5dd75_2c115e62","line":24,"updated":"2026-05-29 06:52:14.000000000","message":"I think in the spec we were talking about allowing this to the MANAGER role for its own project. You can specify different policies \"per project\" and \"globally\", it is done for example for RBACs: https://github.com/openstack/neutron/blob/master/neutron/conf/policies/rbac.py#L81","commit_id":"302f5e7cd0762877a8d728d0898383d87745ed20"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0cd6c21bcc7a4776aaadd81c7b457d0e02039a16","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"rules \u003d ["},{"line_number":23,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":24,"context_line":"        name\u003d\u0027create_security_groups_default_statefulness\u0027,"},{"line_number":25,"context_line":"        check_str\u003dbase.ADMIN,"},{"line_number":26,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":27,"context_line":"        description\u003d("}],"source_content_type":"text/x-python","patch_set":9,"id":"8a4c3515_c80d7dfa","line":24,"in_reply_to":"68a5dd75_2c115e62","updated":"2026-05-29 08:05:19.000000000","message":"Right:\n* I\u0027ll update this patch.\n* I\u0027ll update the spec: https://review.opendev.org/c/openstack/neutron-specs/+/984350/comment/9f525c18_07b30f05/","commit_id":"302f5e7cd0762877a8d728d0898383d87745ed20"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"281504ad122a2e38b91cd82d75d15ba5c8e625c9","unresolved":true,"context_lines":[{"line_number":57,"context_line":"    ),"},{"line_number":58,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":59,"context_line":"        name\u003d\u0027update_security_groups_default_statefulness\u0027,"},{"line_number":60,"context_line":"        check_str\u003dbase.ADMIN,"},{"line_number":61,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":62,"context_line":"        description\u003d("},{"line_number":63,"context_line":"            \u0027Update a default statefulness setting for security groups. \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"365c3632_0dc93c35","line":60,"updated":"2026-05-29 06:52:14.000000000","message":"ditto","commit_id":"302f5e7cd0762877a8d728d0898383d87745ed20"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0cd6c21bcc7a4776aaadd81c7b457d0e02039a16","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    ),"},{"line_number":58,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":59,"context_line":"        name\u003d\u0027update_security_groups_default_statefulness\u0027,"},{"line_number":60,"context_line":"        check_str\u003dbase.ADMIN,"},{"line_number":61,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":62,"context_line":"        description\u003d("},{"line_number":63,"context_line":"            \u0027Update a default statefulness setting for security groups. \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"aea23934_13bad0d1","line":60,"in_reply_to":"365c3632_0dc93c35","updated":"2026-05-29 08:05:19.000000000","message":"Done","commit_id":"302f5e7cd0762877a8d728d0898383d87745ed20"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"281504ad122a2e38b91cd82d75d15ba5c8e625c9","unresolved":true,"context_lines":[{"line_number":73,"context_line":"    ),"},{"line_number":74,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":75,"context_line":"        name\u003d\u0027delete_security_groups_default_statefulness\u0027,"},{"line_number":76,"context_line":"        check_str\u003dbase.ADMIN,"},{"line_number":77,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":78,"context_line":"        description\u003d("},{"line_number":79,"context_line":"            \u0027Delete a default statefulness setting for security groups. \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"4078bcef_4e1be36b","line":76,"updated":"2026-05-29 06:52:14.000000000","message":"ditto","commit_id":"302f5e7cd0762877a8d728d0898383d87745ed20"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0cd6c21bcc7a4776aaadd81c7b457d0e02039a16","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    ),"},{"line_number":74,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":75,"context_line":"        name\u003d\u0027delete_security_groups_default_statefulness\u0027,"},{"line_number":76,"context_line":"        check_str\u003dbase.ADMIN,"},{"line_number":77,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":78,"context_line":"        description\u003d("},{"line_number":79,"context_line":"            \u0027Delete a default statefulness setting for security groups. \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f3a9d8d_ee89e4fc","line":76,"in_reply_to":"4078bcef_4e1be36b","updated":"2026-05-29 08:05:19.000000000","message":"Done","commit_id":"302f5e7cd0762877a8d728d0898383d87745ed20"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"7491094e5492c4acc199eefee8c7098b461a3b6c","unresolved":false,"context_lines":[{"line_number":22,"context_line":"rules \u003d ["},{"line_number":23,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":24,"context_line":"        name\u003d\u0027create_security_groups_default_statefulness\u0027,"},{"line_number":25,"context_line":"        check_str\u003dbase.ADMIN_OR_PROJECT_MANAGER,"},{"line_number":26,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":27,"context_line":"        description\u003d("},{"line_number":28,"context_line":"            \u0027Create a default statefulness setting for security groups. \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"059fec28_cb0b99c7","line":25,"range":{"start_line":25,"start_character":23,"end_line":25,"end_character":47},"updated":"2026-06-17 11:51:00.000000000","message":"We have removed this in the last days... I need to push an update.","commit_id":"48ca17d946d0d12b017b07e1663e58dbe854a5b7"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"56d808e23d8af0d171e2dd1642707615b8d34aa7","unresolved":true,"context_lines":[{"line_number":62,"context_line":"            \u0027Update a default statefulness setting for security groups. \u0027"},{"line_number":63,"context_line":"            \u0027System-wide settings always require admin privileges. \u0027"},{"line_number":64,"context_line":"            \u0027Per-project settings could be relaxed via policy override \u0027"},{"line_number":65,"context_line":"            \u0027to allow creation by project owners.\u0027),"},{"line_number":66,"context_line":"        operations\u003d["},{"line_number":67,"context_line":"            {"},{"line_number":68,"context_line":"                \u0027method\u0027: \u0027PUT\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"5198f735_b97ef064","line":65,"range":{"start_line":65,"start_character":22,"end_line":65,"end_character":30},"updated":"2026-06-17 16:19:00.000000000","message":"s/update","commit_id":"e22d8920181cb4c5417d8880550c50878c37c4d6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4c7a7d6bb0f0f836c397416b7b51316148e33305","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            \u0027Update a default statefulness setting for security groups. \u0027"},{"line_number":63,"context_line":"            \u0027System-wide settings always require admin privileges. \u0027"},{"line_number":64,"context_line":"            \u0027Per-project settings could be relaxed via policy override \u0027"},{"line_number":65,"context_line":"            \u0027to allow creation by project owners.\u0027),"},{"line_number":66,"context_line":"        operations\u003d["},{"line_number":67,"context_line":"            {"},{"line_number":68,"context_line":"                \u0027method\u0027: \u0027PUT\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"b528a971_9b8b7336","line":65,"range":{"start_line":65,"start_character":22,"end_line":65,"end_character":30},"in_reply_to":"5198f735_b97ef064","updated":"2026-06-18 05:58:43.000000000","message":"Done","commit_id":"e22d8920181cb4c5417d8880550c50878c37c4d6"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"56d808e23d8af0d171e2dd1642707615b8d34aa7","unresolved":true,"context_lines":[{"line_number":78,"context_line":"            \u0027Delete a default statefulness setting for security groups. \u0027"},{"line_number":79,"context_line":"            \u0027System-wide settings always require admin privileges. \u0027"},{"line_number":80,"context_line":"            \u0027Per-project settings could be relaxed via policy override \u0027"},{"line_number":81,"context_line":"            \u0027to allow creation by project owners.\u0027),"},{"line_number":82,"context_line":"        operations\u003d["},{"line_number":83,"context_line":"            {"},{"line_number":84,"context_line":"                \u0027method\u0027: \u0027DELETE\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"e7350b53_245c09ff","line":81,"range":{"start_line":81,"start_character":22,"end_line":81,"end_character":30},"updated":"2026-06-17 16:19:00.000000000","message":"s/deletion","commit_id":"e22d8920181cb4c5417d8880550c50878c37c4d6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4c7a7d6bb0f0f836c397416b7b51316148e33305","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            \u0027Delete a default statefulness setting for security groups. \u0027"},{"line_number":79,"context_line":"            \u0027System-wide settings always require admin privileges. \u0027"},{"line_number":80,"context_line":"            \u0027Per-project settings could be relaxed via policy override \u0027"},{"line_number":81,"context_line":"            \u0027to allow creation by project owners.\u0027),"},{"line_number":82,"context_line":"        operations\u003d["},{"line_number":83,"context_line":"            {"},{"line_number":84,"context_line":"                \u0027method\u0027: \u0027DELETE\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"6ba8d4a5_7b03c9ed","line":81,"range":{"start_line":81,"start_character":22,"end_line":81,"end_character":30},"in_reply_to":"e7350b53_245c09ff","updated":"2026-06-18 05:58:43.000000000","message":"Done","commit_id":"e22d8920181cb4c5417d8880550c50878c37c4d6"}],"neutron/plugins/ml2/plugin.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"281504ad122a2e38b91cd82d75d15ba5c8e625c9","unresolved":true,"context_lines":[{"line_number":138,"context_line":"from neutron.db import provisioning_blocks"},{"line_number":139,"context_line":"from neutron.db import qinq_db"},{"line_number":140,"context_line":"from neutron.db import securitygroups_rpc_base as sg_db_rpc"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"from neutron.db import segments_db"},{"line_number":143,"context_line":"from neutron.db import subnet_service_type_mixin"},{"line_number":144,"context_line":"from neutron.db import vlantransparent_db"}],"source_content_type":"text/x-python","patch_set":9,"id":"5d5d644c_bd99d3b8","line":141,"updated":"2026-05-29 06:52:14.000000000","message":"unrelated change","commit_id":"302f5e7cd0762877a8d728d0898383d87745ed20"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0cd6c21bcc7a4776aaadd81c7b457d0e02039a16","unresolved":false,"context_lines":[{"line_number":138,"context_line":"from neutron.db import provisioning_blocks"},{"line_number":139,"context_line":"from neutron.db import qinq_db"},{"line_number":140,"context_line":"from neutron.db import securitygroups_rpc_base as sg_db_rpc"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"from neutron.db import segments_db"},{"line_number":143,"context_line":"from neutron.db import subnet_service_type_mixin"},{"line_number":144,"context_line":"from neutron.db import vlantransparent_db"}],"source_content_type":"text/x-python","patch_set":9,"id":"b1610d37_4d42466a","line":141,"in_reply_to":"5d5d644c_bd99d3b8","updated":"2026-05-29 08:05:19.000000000","message":"Done","commit_id":"302f5e7cd0762877a8d728d0898383d87745ed20"}],"neutron/tests/unit/conf/policies/test_security_groups_default_statefulness.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"b1661fd8801fc58a4a562aef1476b9436c0c0ad6","unresolved":true,"context_lines":[{"line_number":157,"context_line":"        self.context \u003d self.project_member_ctx"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"class ProjectReaderTests(SecurityGroupDefaultStatefulnessAPITestCase):"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def setUp(self):"},{"line_number":163,"context_line":"        super().setUp()"}],"source_content_type":"text/x-python","patch_set":3,"id":"998c7265_3b9bc93e","line":160,"range":{"start_line":160,"start_character":25,"end_line":160,"end_character":68},"updated":"2026-05-08 17:23:02.000000000","message":"s/ProjectManagerTests ?\n\nAt least it looks the same","commit_id":"c0d670e8654c251854deb0cad798793c19044e1c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5b406664ab63fdcc597e145db0d67103fc789383","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        self.context \u003d self.project_member_ctx"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"class ProjectReaderTests(SecurityGroupDefaultStatefulnessAPITestCase):"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def setUp(self):"},{"line_number":163,"context_line":"        super().setUp()"}],"source_content_type":"text/x-python","patch_set":3,"id":"58428df9_cb5ebc8d","line":160,"range":{"start_line":160,"start_character":25,"end_line":160,"end_character":68},"in_reply_to":"998c7265_3b9bc93e","updated":"2026-05-11 07:56:44.000000000","message":"Yes but it looks odd to inherit from `managers` being a `readers` class. It\u0027s the same (the tests, not the context), but I really prefer to inherit here from `SecurityGroupDefaultStatefulnessAPITestCase`","commit_id":"c0d670e8654c251854deb0cad798793c19044e1c"}],"releasenotes/notes/security-groups-default-statefulness-a7e2e9ec4ba8490f.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"b1661fd8801fc58a4a562aef1476b9436c0c0ad6","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a new ``security-groups-default-statefulness`` API extension that"},{"line_number":5,"context_line":"    allows configuring the default value of the ``stateful`` attribute for"},{"line_number":6,"context_line":"    new security groups, on a per-project or system-wide basis. Operators"},{"line_number":7,"context_line":"    and users can create, update, show, list and delete default statefulness"},{"line_number":8,"context_line":"    settings through the new ``security_groups_default_statefulness``"},{"line_number":9,"context_line":"    resource. This is useful for deployments where stateless security groups"},{"line_number":10,"context_line":"    are preferred by default."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"2c0fb1e4_d3148044","line":7,"range":{"start_line":6,"start_character":64,"end_line":7,"end_character":55},"updated":"2026-05-08 17:23:02.000000000","message":"Maybe I need to go read the spec again, but I thought this was admin-only to create/update/delete and users should only list/show","commit_id":"c0d670e8654c251854deb0cad798793c19044e1c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5b406664ab63fdcc597e145db0d67103fc789383","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a new ``security-groups-default-statefulness`` API extension that"},{"line_number":5,"context_line":"    allows configuring the default value of the ``stateful`` attribute for"},{"line_number":6,"context_line":"    new security groups, on a per-project or system-wide basis. Operators"},{"line_number":7,"context_line":"    and users can create, update, show, list and delete default statefulness"},{"line_number":8,"context_line":"    settings through the new ``security_groups_default_statefulness``"},{"line_number":9,"context_line":"    resource. This is useful for deployments where stateless security groups"},{"line_number":10,"context_line":"    are preferred by default."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ecf600ea_14b455d4","line":7,"range":{"start_line":6,"start_character":64,"end_line":7,"end_character":55},"in_reply_to":"2c0fb1e4_d3148044","updated":"2026-05-11 07:56:44.000000000","message":"Yes, I need to update this. Thanks!","commit_id":"c0d670e8654c251854deb0cad798793c19044e1c"}]}
