)]}'
{"api-ref/source/v2/rbac-policy.inc":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"bbf52b6825859deb556144d5cb0dee10303f7398","unresolved":true,"context_lines":[{"line_number":19,"context_line":"API to support object types of ``address-group``."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The presence of the ``rbac-bgpvpn`` extension extends this"},{"line_number":22,"context_line":"API to support object types of ``bgpvpn``."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Show RBAC policy details"},{"line_number":25,"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"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"8d1eaeb9_c8fd4477","line":22,"updated":"2021-06-19 19:13:05.000000000","message":"As discussed in the RFE bug, it would be nice to note what kind of operations will be allowed by a project who this resource is shared to.\n(We can add similar information to the other resources above in a separate patch.)","commit_id":"06df0ddb0e0fa4a5998d961eee15ae8c9831b404"}],"neutron_lib/api/definitions/bgpvpn.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4ce093f3f33c2eb84c2f186886b8fbb139f95067","unresolved":true,"context_lines":[{"line_number":133,"context_line":"        \u0027routers\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":134,"context_line":"                    \u0027is_visible\u0027: True,"},{"line_number":135,"context_line":"                    \u0027enforce_policy\u0027: True},"},{"line_number":136,"context_line":"        \u0027shared\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":137,"context_line":"                   \u0027default\u0027: False,"},{"line_number":138,"context_line":"                   \u0027is_visible\u0027: True,"},{"line_number":139,"context_line":"                   \u0027enforce_policy\u0027: True},"},{"line_number":140,"context_line":"    },"},{"line_number":141,"context_line":"}"},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"c5f9aa9f_3f0683c7","line":139,"range":{"start_line":136,"start_character":8,"end_line":139,"end_character":43},"updated":"2021-06-22 13:05:54.000000000","message":"You can\u0027t modify an existing extension. If you need that in yours, then you can make a copy of this RESOURCE_ATTRIBUTE_MAP in your extension and add this new parameter.","commit_id":"143c0ff140efd96c6e373cd12caea91c579041fe"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"aae730f23b8b8c2d84db75e6e8d1610bba28b190","unresolved":true,"context_lines":[{"line_number":132,"context_line":"                     \u0027enforce_policy\u0027: True},"},{"line_number":133,"context_line":"        \u0027routers\u0027: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False,"},{"line_number":134,"context_line":"                    \u0027is_visible\u0027: True,"},{"line_number":135,"context_line":"                    \u0027enforce_policy\u0027: True},"},{"line_number":136,"context_line":"    },"},{"line_number":137,"context_line":"}"},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"97d07e2d_8b77f744","line":135,"range":{"start_line":135,"start_character":42,"end_line":135,"end_character":44},"updated":"2021-07-06 07:49:01.000000000","message":"unrelated","commit_id":"2cfe12c2ece452882b0646036fc01fd021cf727a"}],"neutron_lib/api/definitions/rbac_bgpvpn.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4ce093f3f33c2eb84c2f186886b8fbb139f95067","unresolved":true,"context_lines":[{"line_number":20,"context_line":"RESOURCE_ATTRIBUTE_MAP \u003d {}"},{"line_number":21,"context_line":"SUB_RESOURCE_ATTRIBUTE_MAP \u003d {}"},{"line_number":22,"context_line":"ACTION_MAP \u003d {}"},{"line_number":23,"context_line":"REQUIRED_EXTENSIONS \u003d [\u0027rbac-policies\u0027, \u0027bgpvpn\u0027]"},{"line_number":24,"context_line":"OPTIONAL_EXTENSIONS \u003d []"},{"line_number":25,"context_line":"ACTION_STATUS \u003d {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"8173a35e_826656f8","line":23,"range":{"start_line":23,"start_character":41,"end_line":23,"end_character":47},"updated":"2021-06-22 13:05:54.000000000","message":"please use bgpvpn.ALIAS","commit_id":"143c0ff140efd96c6e373cd12caea91c579041fe"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"c8779ccfa3f4a2fe04ad47286a6b58171811c0dc","unresolved":true,"context_lines":[{"line_number":28,"context_line":"RESOURCE_ATTRIBUTE_MAP \u003d {"},{"line_number":29,"context_line":"    COLLECTION_NAME: {"},{"line_number":30,"context_line":"        constants.SHARED: {"},{"line_number":31,"context_line":"            \u0027allow_post\u0027: False,"},{"line_number":32,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":33,"context_line":"            \u0027default\u0027: False,"},{"line_number":34,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean,"},{"line_number":35,"context_line":"            \u0027is_visible\u0027: True,"}],"source_content_type":"text/x-python","patch_set":4,"id":"a5c2c3a9_a427e6f6","line":32,"range":{"start_line":31,"start_character":12,"end_line":32,"end_character":31},"updated":"2021-06-29 09:02:41.000000000","message":"So this is a readonly field, not like other resources\u0027 shared?\n\nhttps://opendev.org/openstack/neutron-lib/src/branch/master/neutron_lib/api/definitions/subnetpool.py#L100\nhttps://opendev.org/openstack/neutron-lib/src/branch/master/neutron_lib/api/definitions/network.py#L65","commit_id":"e9de8ab5b748c0843c2d276e6815614efb05b65a"},{"author":{"_account_id":27256,"name":"Vadim Ponomarev","email":"velizarx@gmail.com","username":"velizarx"},"change_message_id":"d0f3d55487b9958904fef4ad278574cc4a09253b","unresolved":true,"context_lines":[{"line_number":28,"context_line":"RESOURCE_ATTRIBUTE_MAP \u003d {"},{"line_number":29,"context_line":"    COLLECTION_NAME: {"},{"line_number":30,"context_line":"        constants.SHARED: {"},{"line_number":31,"context_line":"            \u0027allow_post\u0027: False,"},{"line_number":32,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":33,"context_line":"            \u0027default\u0027: False,"},{"line_number":34,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean,"},{"line_number":35,"context_line":"            \u0027is_visible\u0027: True,"}],"source_content_type":"text/x-python","patch_set":4,"id":"125ac861_25fb19a8","line":32,"range":{"start_line":31,"start_character":12,"end_line":32,"end_character":31},"in_reply_to":"a5c2c3a9_a427e6f6","updated":"2021-06-29 21:29:53.000000000","message":"Yes, readonly. Because POST/PUT requests cannot manage resources provided from service plugin. Neutron\u0027s RBAC system will not find it. Only if the main resource (in this case \u0027bgpvpn\u0027) will have OVO object definition it will work. But in this case OVO object will conflict with API extension provided from service plugin. So it\u0027s impossible.","commit_id":"e9de8ab5b748c0843c2d276e6815614efb05b65a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"c8779ccfa3f4a2fe04ad47286a6b58171811c0dc","unresolved":true,"context_lines":[{"line_number":32,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":33,"context_line":"            \u0027default\u0027: False,"},{"line_number":34,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean,"},{"line_number":35,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":36,"context_line":"            \u0027enforce_policy\u0027: True"},{"line_number":37,"context_line":"        }"},{"line_number":38,"context_line":"    },"},{"line_number":39,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":4,"id":"ee6e167d_e4af4358","line":36,"range":{"start_line":35,"start_character":0,"end_line":36,"end_character":34},"updated":"2021-06-29 09:02:41.000000000","message":"Don\u0027t You need is_filter, is_sort_key?","commit_id":"e9de8ab5b748c0843c2d276e6815614efb05b65a"},{"author":{"_account_id":27256,"name":"Vadim Ponomarev","email":"velizarx@gmail.com","username":"velizarx"},"change_message_id":"d0f3d55487b9958904fef4ad278574cc4a09253b","unresolved":true,"context_lines":[{"line_number":32,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":33,"context_line":"            \u0027default\u0027: False,"},{"line_number":34,"context_line":"            \u0027convert_to\u0027: converters.convert_to_boolean,"},{"line_number":35,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":36,"context_line":"            \u0027enforce_policy\u0027: True"},{"line_number":37,"context_line":"        }"},{"line_number":38,"context_line":"    },"},{"line_number":39,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":4,"id":"5af14e1d_87d90a9a","line":36,"range":{"start_line":35,"start_character":0,"end_line":36,"end_character":34},"in_reply_to":"ee6e167d_e4af4358","updated":"2021-06-29 21:29:53.000000000","message":"Good point, will add.","commit_id":"e9de8ab5b748c0843c2d276e6815614efb05b65a"}],"neutron_lib/db/model_query.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"c8779ccfa3f4a2fe04ad47286a6b58171811c0dc","unresolved":true,"context_lines":[{"line_number":143,"context_line":"        filter_hook \u003d helpers.resolve_ref(hook.get(\u0027filter\u0027))"},{"line_number":144,"context_line":"        if filter_hook:"},{"line_number":145,"context_line":"            query_filter \u003d filter_hook(context, model, query_filter)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    # NOTE(salvatore-orlando): \u0027if query_filter\u0027 will try to evaluate the"},{"line_number":148,"context_line":"    # condition, raising an exception"},{"line_number":149,"context_line":"    if query_filter is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"ecfef92d_2e4ff85b","side":"PARENT","line":146,"updated":"2021-06-29 09:02:41.000000000","message":"nit: unnecessary whitespace","commit_id":"9ae481ef9e9654caccf7664be66bc7374af750b6"},{"author":{"_account_id":27256,"name":"Vadim Ponomarev","email":"velizarx@gmail.com","username":"velizarx"},"change_message_id":"d0f3d55487b9958904fef4ad278574cc4a09253b","unresolved":true,"context_lines":[{"line_number":143,"context_line":"        filter_hook \u003d helpers.resolve_ref(hook.get(\u0027filter\u0027))"},{"line_number":144,"context_line":"        if filter_hook:"},{"line_number":145,"context_line":"            query_filter \u003d filter_hook(context, model, query_filter)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    # NOTE(salvatore-orlando): \u0027if query_filter\u0027 will try to evaluate the"},{"line_number":148,"context_line":"    # condition, raising an exception"},{"line_number":149,"context_line":"    if query_filter is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"2752402b_69f7926a","side":"PARENT","line":146,"in_reply_to":"ecfef92d_2e4ff85b","updated":"2021-06-29 21:29:53.000000000","message":"👍","commit_id":"9ae481ef9e9654caccf7664be66bc7374af750b6"}]}
