)]}'
{"placement/policies/base.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6ff323ace015fe29ee792fc7a9b1e35c3f89527e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"# approach in oslo.policy and consume a new version. Until we have that done,"},{"line_number":26,"context_line":"# let\u0027s continue using generic check strings."},{"line_number":27,"context_line":"SYSTEM_ADMIN \u003d \u0027rule:system_admin_api\u0027"},{"line_number":28,"context_line":"SYSTEM_READER \u003d \u0027rule:system_admin_api\u0027"},{"line_number":29,"context_line":"PROJECT_READER \u003d \u0027rule:project_reader_api\u0027"},{"line_number":30,"context_line":"PROJECT_READER_OR_SYSTEM_READER \u003d \u0027rule:system_or_project_reader\u0027"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"b11dd6cc_12525c58","line":28,"range":{"start_line":28,"start_character":29,"end_line":28,"end_character":34},"updated":"2021-02-10 15:21:53.000000000","message":"Here\u0027s your issue","commit_id":"657e32fd5f40d6755cd9b745ba95d3f0457d29a8"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6cfebf9d1c316ab74e590e2cd3fe8bb92c4e55c4","unresolved":false,"context_lines":[{"line_number":25,"context_line":"# approach in oslo.policy and consume a new version. Until we have that done,"},{"line_number":26,"context_line":"# let\u0027s continue using generic check strings."},{"line_number":27,"context_line":"SYSTEM_ADMIN \u003d \u0027rule:system_admin_api\u0027"},{"line_number":28,"context_line":"SYSTEM_READER \u003d \u0027rule:system_admin_api\u0027"},{"line_number":29,"context_line":"PROJECT_READER \u003d \u0027rule:project_reader_api\u0027"},{"line_number":30,"context_line":"PROJECT_READER_OR_SYSTEM_READER \u003d \u0027rule:system_or_project_reader\u0027"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dbcf2062_7a0fa876","line":28,"range":{"start_line":28,"start_character":29,"end_line":28,"end_character":34},"in_reply_to":"b11dd6cc_12525c58","updated":"2021-02-10 15:27:08.000000000","message":"ohh, my bad. thanks for catching that.","commit_id":"657e32fd5f40d6755cd9b745ba95d3f0457d29a8"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3ea1114c24ca8959ed003f78244103e5abf31344","unresolved":true,"context_lines":[{"line_number":51,"context_line":"        description\u003d\"Default rule for System Admin APIs.\","},{"line_number":52,"context_line":"        deprecated_rule\u003dDEPRECATED_ADMIN_POLICY,"},{"line_number":53,"context_line":"        deprecated_reason\u003d_DEPRECATED_REASON,"},{"line_number":54,"context_line":"        deprecated_since\u003dversionutils.deprecated.WALLABY,"},{"line_number":55,"context_line":"    ),"},{"line_number":56,"context_line":"    policy.RuleDefault("},{"line_number":57,"context_line":"        name\u003d\"system_reader_api\","}],"source_content_type":"text/x-python","patch_set":5,"id":"b6f22fa0_d6e0ca92","line":54,"range":{"start_line":54,"start_character":49,"end_line":54,"end_character":56},"updated":"2021-04-20 19:30:31.000000000","message":"This needs to be XENA now, right? :(","commit_id":"fcb761376bf8f1936c82ced589a202528ad1090c"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"a0aef0133d51038e8461eb402c7bf6b7b07621d4","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        description\u003d\"Default rule for System Admin APIs.\","},{"line_number":52,"context_line":"        deprecated_rule\u003dDEPRECATED_ADMIN_POLICY,"},{"line_number":53,"context_line":"        deprecated_reason\u003d_DEPRECATED_REASON,"},{"line_number":54,"context_line":"        deprecated_since\u003dversionutils.deprecated.WALLABY,"},{"line_number":55,"context_line":"    ),"},{"line_number":56,"context_line":"    policy.RuleDefault("},{"line_number":57,"context_line":"        name\u003d\"system_reader_api\","}],"source_content_type":"text/x-python","patch_set":5,"id":"5a26fde5_b27bac06","line":54,"range":{"start_line":54,"start_character":49,"end_line":54,"end_character":56},"in_reply_to":"796b9151_dd71e408","updated":"2021-04-21 16:21:52.000000000","message":"Ah, I see now, thank you both for explaining :)","commit_id":"fcb761376bf8f1936c82ced589a202528ad1090c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"90c711ab5d17bce3d401bc559f40665d5fad5b31","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        description\u003d\"Default rule for System Admin APIs.\","},{"line_number":52,"context_line":"        deprecated_rule\u003dDEPRECATED_ADMIN_POLICY,"},{"line_number":53,"context_line":"        deprecated_reason\u003d_DEPRECATED_REASON,"},{"line_number":54,"context_line":"        deprecated_since\u003dversionutils.deprecated.WALLABY,"},{"line_number":55,"context_line":"    ),"},{"line_number":56,"context_line":"    policy.RuleDefault("},{"line_number":57,"context_line":"        name\u003d\"system_reader_api\","}],"source_content_type":"text/x-python","patch_set":5,"id":"d56bf9e1_38b82306","line":54,"range":{"start_line":54,"start_character":49,"end_line":54,"end_character":56},"in_reply_to":"b6f22fa0_d6e0ca92","updated":"2021-04-21 10:09:50.000000000","message":"It\u0027s a tricky question but ultimately I don\u0027t think so. In practice, nothing is actually changing here. The exact same rules that were deprecated before are still deprecated after. All that we\u0027re changing is where we mark them as deprecated. Previously, this was happening directly on each \"concrete\" rule, if you will. Now it\u0027s happening on the base rules. Each of the now deprecated concrete rules was using one of these base rules, and these base rules aren\u0027t used directly or by anything but the concrete rules. All we\u0027re doing here in effect is moving a deprecation warning from N subclasses to a shared superclass.","commit_id":"fcb761376bf8f1936c82ced589a202528ad1090c"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2699114afaa0a2a051198babecf7842955325ebe","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        description\u003d\"Default rule for System Admin APIs.\","},{"line_number":52,"context_line":"        deprecated_rule\u003dDEPRECATED_ADMIN_POLICY,"},{"line_number":53,"context_line":"        deprecated_reason\u003d_DEPRECATED_REASON,"},{"line_number":54,"context_line":"        deprecated_since\u003dversionutils.deprecated.WALLABY,"},{"line_number":55,"context_line":"    ),"},{"line_number":56,"context_line":"    policy.RuleDefault("},{"line_number":57,"context_line":"        name\u003d\"system_reader_api\","}],"source_content_type":"text/x-python","patch_set":5,"id":"796b9151_dd71e408","line":54,"range":{"start_line":54,"start_character":49,"end_line":54,"end_character":56},"in_reply_to":"d56bf9e1_38b82306","updated":"2021-04-21 16:16:32.000000000","message":"yeah, if you see in below file original deprecation happened in Wallaby and this patch basically just moving those to base rules. \n\nhttps://review.opendev.org/c/openstack/placement/+/772784/5/placement/policies/inventory.py#68","commit_id":"fcb761376bf8f1936c82ced589a202528ad1090c"}]}
