)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"557a8bfdfdef259b23b53589c17aa0ad6a8140ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f2765e76_65f3c433","updated":"2025-01-29 03:52:23.000000000","message":"testing it in blazar-tempest-plugin https://review.opendev.org/c/openstack/blazar-tempest-plugin/+/940355","commit_id":"614c70cfd86ea06a552fd9e7abebf2094f9ac1a3"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"ca71bf0d5744c7a99e7171e823c9ea9fc844a8fd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0f73f480_6ae6229d","updated":"2025-01-31 16:12:40.000000000","message":"Thanks @gmann@ghanshyammann.com!","commit_id":"6a67cf1d8f310f3485e57b1b7b3582fd96e5b0b2"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"9a4bf1be64bb3a01578d497c3f0242882d5a313c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"49a99d88_f569651e","updated":"2025-02-05 14:09:53.000000000","message":"LGTM, thanks","commit_id":"92cba0c60676644fe2fda34c288858b85c2b4967"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"c5e317c08a536bfbdeedee522be5bc20c671c11c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"24bb1acd_5d793215","updated":"2025-02-06 11:14:14.000000000","message":"Thank you Ghanshyam.","commit_id":"92cba0c60676644fe2fda34c288858b85c2b4967"}],"blazar/policies/base.py":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"ca71bf0d5744c7a99e7171e823c9ea9fc844a8fd","unresolved":true,"context_lines":[{"line_number":40,"context_line":"    policy.RuleDefault("},{"line_number":41,"context_line":"        name\u003d\"admin_or_owner\","},{"line_number":42,"context_line":"        check_str\u003d\"rule:admin or project_id:%(project_id)s\","},{"line_number":43,"context_line":"        description\u003d\"Default rule for most non-Admin APIs.\","},{"line_number":44,"context_line":"        deprecated_for_removal\u003dTrue,"},{"line_number":45,"context_line":"        deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":46,"context_line":"        deprecated_since\u003d\u002715.0.0\u0027),"},{"line_number":47,"context_line":"    policy.RuleDefault("},{"line_number":48,"context_line":"        \"project_member_api\","},{"line_number":49,"context_line":"        \"role:member and project_id:%(project_id)s\","},{"line_number":50,"context_line":"        \"Default rule for Project level non admin APIs.\","},{"line_number":51,"context_line":"        deprecated_rule\u003dDEPRECATED_ADMIN_OR_OWNER_POLICY),"},{"line_number":52,"context_line":"    policy.RuleDefault("},{"line_number":53,"context_line":"        \"project_reader_api\","},{"line_number":54,"context_line":"        \"role:reader and project_id:%(project_id)s\","},{"line_number":55,"context_line":"        \"Default rule for Project level read only APIs.\","},{"line_number":56,"context_line":"        deprecated_rule\u003dDEPRECATED_ADMIN_OR_OWNER_POLICY),"},{"line_number":57,"context_line":"    policy.RuleDefault("},{"line_number":58,"context_line":"        \"project_member_or_admin\","},{"line_number":59,"context_line":"        \"rule:project_member_api or rule:admin\","},{"line_number":60,"context_line":"        \"Default rule for Project Member or admin APIs.\","},{"line_number":61,"context_line":"        deprecated_rule\u003dDEPRECATED_ADMIN_OR_OWNER_POLICY),"},{"line_number":62,"context_line":"    policy.RuleDefault("},{"line_number":63,"context_line":"        \"project_reader_or_admin\","},{"line_number":64,"context_line":"        \"rule:project_reader_api or rule:admin\","},{"line_number":65,"context_line":"        \"Default rule for Project reader or admin APIs.\","},{"line_number":66,"context_line":"        deprecated_rule\u003dDEPRECATED_ADMIN_OR_OWNER_POLICY)"},{"line_number":67,"context_line":"]"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bc9545df_046b4ee0","line":66,"range":{"start_line":43,"start_character":0,"end_line":66,"end_character":57},"updated":"2025-01-31 16:12:40.000000000","message":"The wording and capitalisation is a bit inconsistent here. I think it would be best to capitalise all the Keystone personas:\n\n```suggestion\n        description\u003d\"Default rule for most non-Admin APIs.\",\n        deprecated_for_removal\u003dTrue,\n        deprecated_reason\u003dDEPRECATED_REASON,\n        deprecated_since\u003d\u002715.0.0\u0027),\n    policy.RuleDefault(\n        \"project_member_api\",\n        \"role:member and project_id:%(project_id)s\",\n        \"Default rule for Project Member (non-Admin) APIs.\",\n        deprecated_rule\u003dDEPRECATED_ADMIN_OR_OWNER_POLICY),\n    policy.RuleDefault(\n        \"project_reader_api\",\n        \"role:reader and project_id:%(project_id)s\",\n        \"Default rule for Project Reader (read-only) APIs.\",\n        deprecated_rule\u003dDEPRECATED_ADMIN_OR_OWNER_POLICY),\n    policy.RuleDefault(\n        \"project_member_or_admin\",\n        \"rule:project_member_api or rule:admin\",\n        \"Default rule for Project Member or Admin APIs.\",\n        deprecated_rule\u003dDEPRECATED_ADMIN_OR_OWNER_POLICY),\n    policy.RuleDefault(\n        \"project_reader_or_admin\",\n        \"rule:project_reader_api or rule:admin\",\n        \"Default rule for Project Reader or Admin APIs.\",\n        deprecated_rule\u003dDEPRECATED_ADMIN_OR_OWNER_POLICY)\n```","commit_id":"6a67cf1d8f310f3485e57b1b7b3582fd96e5b0b2"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2f6f9e4d15301a02f24c7c5543f5c1605767d97b","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    policy.RuleDefault("},{"line_number":41,"context_line":"        name\u003d\"admin_or_owner\","},{"line_number":42,"context_line":"        check_str\u003d\"rule:admin or project_id:%(project_id)s\","},{"line_number":43,"context_line":"        description\u003d\"Default rule for most non-Admin APIs.\","},{"line_number":44,"context_line":"        deprecated_for_removal\u003dTrue,"},{"line_number":45,"context_line":"        deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":46,"context_line":"        deprecated_since\u003d\u002715.0.0\u0027),"},{"line_number":47,"context_line":"    policy.RuleDefault("},{"line_number":48,"context_line":"        \"project_member_api\","},{"line_number":49,"context_line":"        \"role:member and project_id:%(project_id)s\","},{"line_number":50,"context_line":"        \"Default rule for Project level non admin APIs.\","},{"line_number":51,"context_line":"        deprecated_rule\u003dDEPRECATED_ADMIN_OR_OWNER_POLICY),"},{"line_number":52,"context_line":"    policy.RuleDefault("},{"line_number":53,"context_line":"        \"project_reader_api\","},{"line_number":54,"context_line":"        \"role:reader and project_id:%(project_id)s\","},{"line_number":55,"context_line":"        \"Default rule for Project level read only APIs.\","},{"line_number":56,"context_line":"        deprecated_rule\u003dDEPRECATED_ADMIN_OR_OWNER_POLICY),"},{"line_number":57,"context_line":"    policy.RuleDefault("},{"line_number":58,"context_line":"        \"project_member_or_admin\","},{"line_number":59,"context_line":"        \"rule:project_member_api or rule:admin\","},{"line_number":60,"context_line":"        \"Default rule for Project Member or admin APIs.\","},{"line_number":61,"context_line":"        deprecated_rule\u003dDEPRECATED_ADMIN_OR_OWNER_POLICY),"},{"line_number":62,"context_line":"    policy.RuleDefault("},{"line_number":63,"context_line":"        \"project_reader_or_admin\","},{"line_number":64,"context_line":"        \"rule:project_reader_api or rule:admin\","},{"line_number":65,"context_line":"        \"Default rule for Project reader or admin APIs.\","},{"line_number":66,"context_line":"        deprecated_rule\u003dDEPRECATED_ADMIN_OR_OWNER_POLICY)"},{"line_number":67,"context_line":"]"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"a891f9d1_fb45917e","line":66,"range":{"start_line":43,"start_character":0,"end_line":66,"end_character":57},"in_reply_to":"bc9545df_046b4ee0","updated":"2025-02-04 21:00:06.000000000","message":"Done","commit_id":"6a67cf1d8f310f3485e57b1b7b3582fd96e5b0b2"}]}
