)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"c6f635e8aef42b774d480b4be50aca2e59ca26b9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"1f55f2fd_c8b483aa","updated":"2021-11-17 08:47:35.000000000","message":"recheck","commit_id":"5726c907e01c09f4d79ebf747658de3c33ed5e06"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"dd198449aa58f36b6c49db601bd935aff4d49787","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"3a24a3ad_87087dbd","updated":"2021-11-16 11:44:25.000000000","message":"recheck","commit_id":"5726c907e01c09f4d79ebf747658de3c33ed5e06"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"1f0aa311f23fe3c1d3b10308f2c20ecbd0f05c09","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"a45450ca_0229ae9d","updated":"2022-01-11 11:31:25.000000000","message":"updated tests to comply with latest oslo.policy (https://review.opendev.org/c/openstack/neutron/+/815837)","commit_id":"1eaf1f403c78ef5351605bf683529dc44da948fe"}],"neutron/conf/policies/local_ip.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ba2cfcc45858e5a94d907cdb99c03331deeca2df","unresolved":true,"context_lines":[{"line_number":32,"context_line":"                \u0027path\u0027: COLLECTION_PATH,"},{"line_number":33,"context_line":"            },"},{"line_number":34,"context_line":"        ],"},{"line_number":35,"context_line":"    ),"},{"line_number":36,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":37,"context_line":"        name\u003d\u0027get_local_ip_port_association\u0027,"},{"line_number":38,"context_line":"        check_str\u003dbase.policy_or("}],"source_content_type":"text/x-python","patch_set":7,"id":"7b3b6d6f_07deb97f","line":35,"updated":"2021-11-08 11:23:28.000000000","message":"we already moved all rules to new personas and scopes and deprecated old rules.\nAs for now all of other rules are available in the \"old\" style rules I think we should add rules for the new API with old (deprecated from the beginning) style and new ones.","commit_id":"0ff8429f07143543eaad909b296e5b47e9b627b0"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"35b58dd905d1e6434f4b4716f4e2aa041976f0d5","unresolved":true,"context_lines":[{"line_number":32,"context_line":"                \u0027path\u0027: COLLECTION_PATH,"},{"line_number":33,"context_line":"            },"},{"line_number":34,"context_line":"        ],"},{"line_number":35,"context_line":"    ),"},{"line_number":36,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":37,"context_line":"        name\u003d\u0027get_local_ip_port_association\u0027,"},{"line_number":38,"context_line":"        check_str\u003dbase.policy_or("}],"source_content_type":"text/x-python","patch_set":7,"id":"c18d6bbd_a14f14e7","line":35,"in_reply_to":"6293471c_56351894","updated":"2021-11-12 08:03:57.000000000","message":"Ah, thanks for clarification. Agree","commit_id":"0ff8429f07143543eaad909b296e5b47e9b627b0"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"7f86ffa328d1a238d54536d5714a0278ee92928b","unresolved":true,"context_lines":[{"line_number":32,"context_line":"                \u0027path\u0027: COLLECTION_PATH,"},{"line_number":33,"context_line":"            },"},{"line_number":34,"context_line":"        ],"},{"line_number":35,"context_line":"    ),"},{"line_number":36,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":37,"context_line":"        name\u003d\u0027get_local_ip_port_association\u0027,"},{"line_number":38,"context_line":"        check_str\u003dbase.policy_or("}],"source_content_type":"text/x-python","patch_set":7,"id":"81454d2c_3787fa83","line":35,"in_reply_to":"7b3b6d6f_07deb97f","updated":"2021-11-08 12:06:29.000000000","message":"Not sure I understand why should we add rules for the new API with old style.. Can you please clarify a bit more? \nOr is it old style here and I need to add new style? Sorry, I\u0027m a little bit lost with these policy changes","commit_id":"0ff8429f07143543eaad909b296e5b47e9b627b0"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"51dfd6cb117d2c7a33d9a05ec771be361d8351e1","unresolved":true,"context_lines":[{"line_number":32,"context_line":"                \u0027path\u0027: COLLECTION_PATH,"},{"line_number":33,"context_line":"            },"},{"line_number":34,"context_line":"        ],"},{"line_number":35,"context_line":"    ),"},{"line_number":36,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":37,"context_line":"        name\u003d\u0027get_local_ip_port_association\u0027,"},{"line_number":38,"context_line":"        check_str\u003dbase.policy_or("}],"source_content_type":"text/x-python","patch_set":7,"id":"6293471c_56351894","line":35,"in_reply_to":"81454d2c_3787fa83","updated":"2021-11-08 13:11:24.000000000","message":"Those rules which You added now are in the \"old\" style.\nI think it would be good to add both old (deprecated) and new rules to keep it consistent with all other policies but for now new rules aren\u0027t yet working 100% fine (e.g. we don\u0027t have API tests for those rules) and there is also some discussion about new personas and SYSTEM_SCOPE tokens.\nSo currently by default are still old (deprecated) rules used still but IMO will be good to have defined both of them so we will not forget about them later.\nAlso, for new rules You can add simple UT in the neutron/tests/unit/conf/policies","commit_id":"0ff8429f07143543eaad909b296e5b47e9b627b0"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a88b20077d0a2d8c4c72277c95477b8907d49aa3","unresolved":true,"context_lines":[{"line_number":25,"context_line":"rules \u003d ["},{"line_number":26,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":27,"context_line":"        name\u003d\u0027create_local_ip\u0027,"},{"line_number":28,"context_line":"        check_str\u003dbase.SYSTEM_ADMIN_OR_PROJECT_MEMBER,"},{"line_number":29,"context_line":"        description\u003d\u0027Create a Local IP\u0027,"},{"line_number":30,"context_line":"        operations\u003d["},{"line_number":31,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":15,"id":"8d02544b_cebef02e","line":28,"updated":"2022-01-03 08:54:04.000000000","message":"according to new agreement from the last PTG, it should be now just PROJECT_MEMBER. Please see patch https://review.opendev.org/c/openstack/neutron/+/821208 which changes all other policies accordingly","commit_id":"c3250211def11a6612e1e327215d6c4dc9991f26"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"11e742559f69c51c548d696954fbbe8606dd9c6f","unresolved":false,"context_lines":[{"line_number":25,"context_line":"rules \u003d ["},{"line_number":26,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":27,"context_line":"        name\u003d\u0027create_local_ip\u0027,"},{"line_number":28,"context_line":"        check_str\u003dbase.SYSTEM_ADMIN_OR_PROJECT_MEMBER,"},{"line_number":29,"context_line":"        description\u003d\u0027Create a Local IP\u0027,"},{"line_number":30,"context_line":"        operations\u003d["},{"line_number":31,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":15,"id":"a4e33206_dd202363","line":28,"in_reply_to":"041f0548_a89d7af0","updated":"2022-01-10 16:02:09.000000000","message":"Thx","commit_id":"c3250211def11a6612e1e327215d6c4dc9991f26"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"a0053cd812b00fd150635e4d73668f7cd7a56a1d","unresolved":false,"context_lines":[{"line_number":25,"context_line":"rules \u003d ["},{"line_number":26,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":27,"context_line":"        name\u003d\u0027create_local_ip\u0027,"},{"line_number":28,"context_line":"        check_str\u003dbase.SYSTEM_ADMIN_OR_PROJECT_MEMBER,"},{"line_number":29,"context_line":"        description\u003d\u0027Create a Local IP\u0027,"},{"line_number":30,"context_line":"        operations\u003d["},{"line_number":31,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":15,"id":"041f0548_a89d7af0","line":28,"in_reply_to":"8d02544b_cebef02e","updated":"2022-01-10 07:33:45.000000000","message":"Yeah, I saw that patch and was going to change this one accordingly, but I forgot 😄, thanks!","commit_id":"c3250211def11a6612e1e327215d6c4dc9991f26"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a88b20077d0a2d8c4c72277c95477b8907d49aa3","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                \u0027path\u0027: COLLECTION_PATH,"},{"line_number":34,"context_line":"            },"},{"line_number":35,"context_line":"        ],"},{"line_number":36,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":37,"context_line":"        deprecated_rule\u003dpolicy.DeprecatedRule("},{"line_number":38,"context_line":"            name\u003d\u0027create_local_ip\u0027,"},{"line_number":39,"context_line":"            check_str\u003dbase.RULE_ANY,"}],"source_content_type":"text/x-python","patch_set":15,"id":"4d630043_d2ec7894","line":36,"updated":"2022-01-03 08:54:04.000000000","message":"also, according to the same discussions and patch mentioned above, it should be only \"project\" scope now.\nAnd the same comments applies to other places in this patch too 😊","commit_id":"c3250211def11a6612e1e327215d6c4dc9991f26"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"11e742559f69c51c548d696954fbbe8606dd9c6f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                \u0027path\u0027: COLLECTION_PATH,"},{"line_number":34,"context_line":"            },"},{"line_number":35,"context_line":"        ],"},{"line_number":36,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":37,"context_line":"        deprecated_rule\u003dpolicy.DeprecatedRule("},{"line_number":38,"context_line":"            name\u003d\u0027create_local_ip\u0027,"},{"line_number":39,"context_line":"            check_str\u003dbase.RULE_ANY,"}],"source_content_type":"text/x-python","patch_set":15,"id":"a13c4423_f86e3e24","line":36,"in_reply_to":"06b722ea_52328807","updated":"2022-01-10 16:02:09.000000000","message":"Thx","commit_id":"c3250211def11a6612e1e327215d6c4dc9991f26"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"a0053cd812b00fd150635e4d73668f7cd7a56a1d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                \u0027path\u0027: COLLECTION_PATH,"},{"line_number":34,"context_line":"            },"},{"line_number":35,"context_line":"        ],"},{"line_number":36,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":37,"context_line":"        deprecated_rule\u003dpolicy.DeprecatedRule("},{"line_number":38,"context_line":"            name\u003d\u0027create_local_ip\u0027,"},{"line_number":39,"context_line":"            check_str\u003dbase.RULE_ANY,"}],"source_content_type":"text/x-python","patch_set":15,"id":"06b722ea_52328807","line":36,"in_reply_to":"4d630043_d2ec7894","updated":"2022-01-10 07:33:45.000000000","message":"Ack","commit_id":"c3250211def11a6612e1e327215d6c4dc9991f26"}]}
