)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ed6db3be25af81e1d9c90bc3b8c6f06bb3a64a67","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3a5b39c7_2421803e","updated":"2021-10-11 09:04:02.000000000","message":"I\u0027m not sure if we should add \"shared\" field to the SGs really as this may be confusing for users because of the \"shared\" field in the network object which means something slightly different in fact.\nI know that we should allow to filter SGs to get only those which are shared with the tenant so passing \"shared\" attribute in the request is IMO fine but returning it in the SG object isn\u0027t really necessary IMHO.\nI\u0027m giving -1 just for visibility. But if others have completly different opinion about it, I can change my vote 😊","commit_id":"916326df389f82af86f2600b292f78950e25e6f6"},{"author":{"_account_id":28159,"name":"Hang Yang","email":"hangyang@yahooinc.com","username":"hangyang"},"change_message_id":"e85d2ff38a3d143a32e293ef6e51ea71efe3920a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"bb8252e1_79edf64d","in_reply_to":"3a5b39c7_2421803e","updated":"2021-10-11 16:02:33.000000000","message":"Hi Slawek, I think the network\u0027s \"shared\" field means the same thing as SG\u0027s in the response. Both of them mean if the resource is shared with the tenant via RBAC. The only difference though is network allows users to create/set a \"shared\" network which means shared to all tenants. (Create a rbac policy for tenant \u0027*\u0027). We don\u0027t support that for SGs yet. But no matter either the SG/network is shared with all or specific tenants, the \"shared\" field in response only tells if the resource is shared with the current tenant.  https://github.com/openstack/neutron/blob/065e4b1705616198dee648892d730ba9652980a5/neutron/objects/rbac_db.py#L54-L63\n\nAlso, I see some other resources that support RBAC also have the shared field in the response, like subnetpools, address_scopes, etc. From a user\u0027s point of view, knowing either the resource returned from API is shared or owned is useful because users usually have limited operation permission on the shared resources. For example, security group list currently returns both shared and owned SGs for a tenant. But the tenant won\u0027t be able to modify the shared security group. Without showing the shared field to users, this restriction can be confusing.","commit_id":"916326df389f82af86f2600b292f78950e25e6f6"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"5a097aceb2c8603a09b35077dcac4afbcf05c54b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"981dd3b5_c59414ce","in_reply_to":"bb8252e1_79edf64d","updated":"2021-10-13 05:52:15.000000000","message":"Ok :)","commit_id":"916326df389f82af86f2600b292f78950e25e6f6"}],"api-ref/source/v2/parameters.yaml":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"3229caa3c11e4638ad3c1e6ef9a36233d176b1bf","unresolved":true,"context_lines":[{"line_number":1367,"context_line":"  type: boolean"},{"line_number":1368,"context_line":"security_group-shared-query:"},{"line_number":1369,"context_line":"  description: |"},{"line_number":1370,"context_line":"    Filter the security group list result based on if the security group is"},{"line_number":1371,"context_line":"    shared to the requestor\u0027s project."},{"line_number":1372,"context_line":"  in: query"},{"line_number":1373,"context_line":"  required: false"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3849d1a2_05c32727","line":1370,"range":{"start_line":1370,"start_character":51,"end_line":1370,"end_character":53},"updated":"2021-10-14 22:35:08.000000000","message":"Nit: s/if/whether. Can be fixed in a follow up patch","commit_id":"916326df389f82af86f2600b292f78950e25e6f6"}],"api-ref/source/v2/security-groups.inc":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"dd49861264612fa77a30d2f41fc1d469bb171b7c","unresolved":true,"context_lines":[{"line_number":32,"context_line":"Shared filtering extension"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The `security-groups-shared-filtering` extension adds the `shared` filed to"},{"line_number":36,"context_line":"security groups and allows users to filter security groups based on the"},{"line_number":37,"context_line":"`shared` field."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":2,"id":"214ee83b_3b0af2ac","line":35,"range":{"start_line":35,"start_character":4,"end_line":35,"end_character":38},"updated":"2021-10-08 02:55:52.000000000","message":"nit: Could you use double backquote instead of a single quote (as other descriptions do) for consistency?\n\nThis applies to \"shared\" in this line too.","commit_id":"7b0a939b3f3e63fc546f5bf089096d95a99cc40d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"dd49861264612fa77a30d2f41fc1d469bb171b7c","unresolved":true,"context_lines":[{"line_number":32,"context_line":"Shared filtering extension"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The `security-groups-shared-filtering` extension adds the `shared` filed to"},{"line_number":36,"context_line":"security groups and allows users to filter security groups based on the"},{"line_number":37,"context_line":"`shared` field."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":2,"id":"5e5ecb02_09c07c26","line":35,"range":{"start_line":35,"start_character":67,"end_line":35,"end_character":72},"updated":"2021-10-08 02:55:52.000000000","message":"typo: filed -\u003e field","commit_id":"7b0a939b3f3e63fc546f5bf089096d95a99cc40d"},{"author":{"_account_id":28159,"name":"Hang Yang","email":"hangyang@yahooinc.com","username":"hangyang"},"change_message_id":"333592b3fc57b4cf19e427f3408c9f4b33284b68","unresolved":false,"context_lines":[{"line_number":32,"context_line":"Shared filtering extension"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The `security-groups-shared-filtering` extension adds the `shared` filed to"},{"line_number":36,"context_line":"security groups and allows users to filter security groups based on the"},{"line_number":37,"context_line":"`shared` field."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":2,"id":"346c2667_e0a8fc58","line":35,"range":{"start_line":35,"start_character":4,"end_line":35,"end_character":38},"in_reply_to":"214ee83b_3b0af2ac","updated":"2021-10-08 14:27:27.000000000","message":"Done","commit_id":"7b0a939b3f3e63fc546f5bf089096d95a99cc40d"},{"author":{"_account_id":28159,"name":"Hang Yang","email":"hangyang@yahooinc.com","username":"hangyang"},"change_message_id":"333592b3fc57b4cf19e427f3408c9f4b33284b68","unresolved":false,"context_lines":[{"line_number":32,"context_line":"Shared filtering extension"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The `security-groups-shared-filtering` extension adds the `shared` filed to"},{"line_number":36,"context_line":"security groups and allows users to filter security groups based on the"},{"line_number":37,"context_line":"`shared` field."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":2,"id":"d09bcd3f_863fd1b4","line":35,"range":{"start_line":35,"start_character":67,"end_line":35,"end_character":72},"in_reply_to":"5e5ecb02_09c07c26","updated":"2021-10-08 14:27:27.000000000","message":"Done","commit_id":"7b0a939b3f3e63fc546f5bf089096d95a99cc40d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"dd49861264612fa77a30d2f41fc1d469bb171b7c","unresolved":true,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The `security-groups-shared-filtering` extension adds the `shared` filed to"},{"line_number":36,"context_line":"security groups and allows users to filter security groups based on the"},{"line_number":37,"context_line":"`shared` field."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"List security groups"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-c++src","patch_set":2,"id":"0a306712_b4bd04cf","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":8},"updated":"2021-10-08 02:55:52.000000000","message":"ditto","commit_id":"7b0a939b3f3e63fc546f5bf089096d95a99cc40d"},{"author":{"_account_id":28159,"name":"Hang Yang","email":"hangyang@yahooinc.com","username":"hangyang"},"change_message_id":"333592b3fc57b4cf19e427f3408c9f4b33284b68","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The `security-groups-shared-filtering` extension adds the `shared` filed to"},{"line_number":36,"context_line":"security groups and allows users to filter security groups based on the"},{"line_number":37,"context_line":"`shared` field."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"List security groups"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-c++src","patch_set":2,"id":"346e274c_73c477bd","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":8},"in_reply_to":"0a306712_b4bd04cf","updated":"2021-10-08 14:27:27.000000000","message":"Done","commit_id":"7b0a939b3f3e63fc546f5bf089096d95a99cc40d"}],"neutron_lib/api/definitions/security_groups_shared_filtering.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"dd49861264612fa77a30d2f41fc1d469bb171b7c","unresolved":true,"context_lines":[{"line_number":41,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":42,"context_line":"            \u0027is_filter\u0027: True,"},{"line_number":43,"context_line":"            \u0027required_by_policy\u0027: True,"},{"line_number":44,"context_line":"            \u0027enforce_policy\u0027: True}"},{"line_number":45,"context_line":"    }"},{"line_number":46,"context_line":"}"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3df6040e_98b0c7b5","line":44,"range":{"start_line":44,"start_character":30,"end_line":44,"end_character":35},"updated":"2021-10-08 02:55:52.000000000","message":"For consistency with other closing parentheses, consider wrapping lines before \"}\".\n\n    \u0027enforce_policy\": True,\n }","commit_id":"7b0a939b3f3e63fc546f5bf089096d95a99cc40d"},{"author":{"_account_id":28159,"name":"Hang Yang","email":"hangyang@yahooinc.com","username":"hangyang"},"change_message_id":"333592b3fc57b4cf19e427f3408c9f4b33284b68","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":42,"context_line":"            \u0027is_filter\u0027: True,"},{"line_number":43,"context_line":"            \u0027required_by_policy\u0027: True,"},{"line_number":44,"context_line":"            \u0027enforce_policy\u0027: True}"},{"line_number":45,"context_line":"    }"},{"line_number":46,"context_line":"}"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fc7159a6_25647476","line":44,"range":{"start_line":44,"start_character":30,"end_line":44,"end_character":35},"in_reply_to":"3df6040e_98b0c7b5","updated":"2021-10-08 14:27:27.000000000","message":"Done","commit_id":"7b0a939b3f3e63fc546f5bf089096d95a99cc40d"}],"releasenotes/notes/add-sg-shared-filtering-api-extension-6c3628cfda6ba6ed.yaml":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"dd49861264612fa77a30d2f41fc1d469bb171b7c","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add API extension ``security-groups-shared-filtering``. This extension"},{"line_number":5,"context_line":"    adds the shared filed to security groups and allows users to filter"},{"line_number":6,"context_line":"    security groups based on the shared field."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"c87af961_650a93b8","line":5,"range":{"start_line":5,"start_character":8,"end_line":5,"end_character":25},"updated":"2021-10-08 02:55:52.000000000","message":"-\u003e the ``shared`` field\n\n- Use double backquotes\n- typo of \"field\"","commit_id":"7b0a939b3f3e63fc546f5bf089096d95a99cc40d"},{"author":{"_account_id":28159,"name":"Hang Yang","email":"hangyang@yahooinc.com","username":"hangyang"},"change_message_id":"333592b3fc57b4cf19e427f3408c9f4b33284b68","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add API extension ``security-groups-shared-filtering``. This extension"},{"line_number":5,"context_line":"    adds the shared filed to security groups and allows users to filter"},{"line_number":6,"context_line":"    security groups based on the shared field."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"59b7c7c1_347301b8","line":5,"range":{"start_line":5,"start_character":8,"end_line":5,"end_character":25},"in_reply_to":"c87af961_650a93b8","updated":"2021-10-08 14:27:27.000000000","message":"Done","commit_id":"7b0a939b3f3e63fc546f5bf089096d95a99cc40d"}]}
