)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"93d6c649_4d57e821","updated":"2022-10-01 13:38:43.000000000","message":"Recheck please (need some help/somne clarifications with the comments unresolved).","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"3b10e339_b941fea7","updated":"2022-10-14 23:27:18.000000000","message":"We have some work to do here.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fc48cb209b7c9764e356f61f333fd9dba6fe4748","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"49c88ffc_e8dccd1a","updated":"2022-11-24 00:31:47.000000000","message":"I am starting to work on updating this patch. Still a bunch to do.","commit_id":"33c30090c04ebb0a741bf14d81abe1fca8824dd1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6294f838c3154cd9ef39620ecfe9990ba1610ada","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"659ec2e2_d2118cc1","updated":"2022-12-01 00:19:03.000000000","message":"Still more to do, but created zone shares and showing them are now working.","commit_id":"3b813981471a288fa1c816ebb47432364875e9b9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"8cf35b220745274adaeb532bd634cfe9887864eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"66672207_eb0e4176","updated":"2022-12-02 00:30:59.000000000","message":"Delete a share now works, working on find now","commit_id":"3ebb378862988a19855c28c0d98567c5b0d5ebe2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"b661b15184157ac4048a1675221e5179f0613a45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"8418efa1_62db34c5","updated":"2022-12-02 02:46:06.000000000","message":"Share list is now working as well. All of the /v2/zones/{zone_id}/shares endpoints are now working.","commit_id":"fef579e1a8b44821c0dae650e649c114cdde9db1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"115364f2944392cf4de96f4c47cdadf30cf639cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"bd309bbe_3012fa39","updated":"2022-12-06 23:49:52.000000000","message":"Still working on this. On recordsets now, find/list works correctly","commit_id":"bca5213ec9d3fda11788d4bdb91eb0c141e6e56b"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"3e85f148cf719ed87b7745f0a3d1d90f720652a7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"7efd183a_18da6cec","updated":"2022-12-08 03:57:05.000000000","message":"Would probably be nice to add some negative unit tests for validating scenarios like trying to delete records owned by a different project etc.","commit_id":"bca5213ec9d3fda11788d4bdb91eb0c141e6e56b"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"27858eb7373d53d0f4fcb4ab0dd660d50d6c6130","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"e3ff658f_c98b5446","in_reply_to":"7efd183a_18da6cec","updated":"2022-12-08 06:55:49.000000000","message":"Yeah, I have not even started to look at the test coverage yet. It\u0027s all 100% broken I am sure. I am just live testing as I develop and will circle back to fix the tests.","commit_id":"bca5213ec9d3fda11788d4bdb91eb0c141e6e56b"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"3ccc14f15635402a40a7de6a9fb550a013896cdb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"c36c2aa5_6f84deb1","updated":"2022-12-09 01:13:11.000000000","message":"Still working on the context house of cards known as recordset delete.","commit_id":"4f2414198ef619d92fe6bbcef0cab824c3976940"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"01c2e5c6d8606c477f2e2820821b74da5db86903","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":38,"id":"a29200da_a9f558b5","updated":"2023-01-15 21:36:20.000000000","message":"Still very WIP. Basic recordset APIs function now with a shared zone.","commit_id":"cdc6faf2a5089cc8f32c7cce042db59917f5e114"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"cd36483d8def5c41443eff9dcd5421a4a201176b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":39,"id":"3800a37e_6bf166ff","updated":"2023-01-23 21:35:03.000000000","message":"Still WIP, more cleanup in progress","commit_id":"5acb9e3d96337e15aebeaa5240ae8a8ee8b88a31"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"321f45b850f443dbb2c3648eb0a34e5ec560cc5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":42,"id":"f8d1b3fa_fe986742","updated":"2023-01-28 21:59:56.000000000","message":"Getting closer, still not ready for review.","commit_id":"ca383215b29c2c2fffd5f6a9062fedfc94867710"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"dc2658d934f7a315b9aa0864051805ae091ce55f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":44,"id":"0abdaf56_503825f6","updated":"2023-01-31 00:09:50.000000000","message":"Still have test work to do","commit_id":"6a07945aa52fe352e27ccb52ad1b00920c2b2105"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fb6933f2c8b6d7e95ee350b05e1a4fa0788d5df5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":47,"id":"67239b2e_4fc5932c","updated":"2023-02-02 23:19:21.000000000","message":"tests still need work","commit_id":"02c6c423d8db74273c56a0cdb443c94ab60f47fa"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"85d818b11e872ed8396518f0b55585a6757cc269","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":49,"id":"c2ea4a87_918c88a4","updated":"2023-02-05 18:57:50.000000000","message":"I changed some result codes in this last patch. I will need to fix that.","commit_id":"cc3882f3ed892bc6d5dea0d4c8c832aac10d28c0"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"87b893b5cc0575e569f5cf023ab3416427c15679","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":49,"id":"f5257105_8980a1e7","updated":"2023-02-06 19:11:30.000000000","message":"I think the db table column naming convention could be a bit clearer.","commit_id":"cc3882f3ed892bc6d5dea0d4c8c832aac10d28c0"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"b46d8c363864309cccb86ce08300be8c0afe03af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":50,"id":"ac1ae345_5e57c010","updated":"2023-02-07 15:29:21.000000000","message":"I understand your opposing position on naming, but I think the reference of zone_id\u0027s meaning in the shared zone should be clearer - shared_zone_id for example, because it\u0027s a reference to a foreign key, but its not a big issue, its just from the meaning has to be somewhat translated into its reference.","commit_id":"26d76bea0263c710d3945bafa1e220cb0298b043"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"aab3ffe948c20084c82d6533108fbcd232fa5af0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":50,"id":"5b99dfcb_119cc556","updated":"2023-02-07 02:07:46.000000000","message":"recheck\nMax retries exceeded with url: /openstack/requirements/raw/branch/master/upper-constraints.txt (Caused by ResponseError(\u0027too many 500 error responses\u0027))","commit_id":"26d76bea0263c710d3945bafa1e220cb0298b043"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6a40bdd91d20e7a4dd5a1238899c8962ff128f35","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":52,"id":"300356fb_d245dcf6","updated":"2023-02-15 20:35:26.000000000","message":"Let\u0027s merge this for Antelope","commit_id":"f39704dcd813ac26349faf1dd4b563d55e713c09"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a463029e79a615cc58007abdcccb52786924f726","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":52,"id":"fa5d85f0_2f2166a6","updated":"2023-02-16 01:11:08.000000000","message":"recheck\njob timeout due to \"copy old /opt\" task (zuul) taking 25 minutes.","commit_id":"f39704dcd813ac26349faf1dd4b563d55e713c09"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"cc3cbfd833fd25c6570393ab0a91d1bfdfc26334","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":52,"id":"67055d45_f300c226","updated":"2023-02-15 22:09:59.000000000","message":"recheck\nscoped_tokens timed out before tempest even started","commit_id":"f39704dcd813ac26349faf1dd4b563d55e713c09"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1291d384a3684e8e6b1fc27eeb213a5560863b94","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":52,"id":"a4d4d3c1_2856d5d5","updated":"2023-02-16 03:42:53.000000000","message":"recheck\nzone delete propagate ","commit_id":"f39704dcd813ac26349faf1dd4b563d55e713c09"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"8d8e595caf1664ff41424f9f5c1747a632e80ce8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":52,"id":"9c637bf7_7126db10","updated":"2023-02-14 05:42:10.000000000","message":"recheck DesignatePtrRecord","commit_id":"f39704dcd813ac26349faf1dd4b563d55e713c09"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"a832cf60901fdacdfd793229a052c556a80667d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":52,"id":"b43976bc_14713a69","updated":"2023-02-15 22:10:17.000000000","message":"recheck TIMED_OUT ","commit_id":"f39704dcd813ac26349faf1dd4b563d55e713c09"}],"api-ref/source/dns-api-v2-shared-zones.inc":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":60,"context_line":"Response Example"},{"line_number":61,"context_line":"----------------"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":".. literalinclude:: "},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Get All Shared Zones"}],"source_content_type":"text/x-c++src","patch_set":30,"id":"3f8bd80f_1f7ae324","line":63,"updated":"2022-10-14 23:27:18.000000000","message":"extra space here","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7afdc298d981396357b09e026162d3ee9f9571a8","unresolved":false,"context_lines":[{"line_number":60,"context_line":"Response Example"},{"line_number":61,"context_line":"----------------"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":".. literalinclude:: "},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Get All Shared Zones"}],"source_content_type":"text/x-c++src","patch_set":30,"id":"dc4d3087_38919d83","line":63,"in_reply_to":"3f8bd80f_1f7ae324","updated":"2022-12-02 00:37:29.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":155,"context_line":""},{"line_number":156,"context_line":".. rest_parameters:: parameters.yaml"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"   - ..."},{"line_number":159,"context_line":"   - ..."},{"line_number":160,"context_line":"   - ..."},{"line_number":161,"context_line":"   - ..."}],"source_content_type":"text/x-c++src","patch_set":30,"id":"d9492c92_8b05931c","line":158,"updated":"2022-10-14 23:27:18.000000000","message":"This is all blank...","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"aef3ba60d0552a492c5a9b1174f45946b9ab1893","unresolved":false,"context_lines":[{"line_number":155,"context_line":""},{"line_number":156,"context_line":".. rest_parameters:: parameters.yaml"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"   - ..."},{"line_number":159,"context_line":"   - ..."},{"line_number":160,"context_line":"   - ..."},{"line_number":161,"context_line":"   - ..."}],"source_content_type":"text/x-c++src","patch_set":30,"id":"f88dbecb_01d209b4","line":158,"in_reply_to":"d9492c92_8b05931c","updated":"2022-12-02 02:46:59.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"}],"api-ref/source/samples/zones/list-share-zone-response.json":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"19494dad85634541176adb90772445bdf8de1aa2","unresolved":true,"context_lines":[{"line_number":7,"context_line":"        \"created_at\": \"2022-12-01T23:02:49.000000\","},{"line_number":8,"context_line":"        \"updated_at\": null,"},{"line_number":9,"context_line":"        \"links\": {"},{"line_number":10,"context_line":"            \"self\": \"http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898/shares/4495ffbb-b7d1-43e0-9423-f0a4172e5f9e\","},{"line_number":11,"context_line":"            \"zone\": \"http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898\""},{"line_number":12,"context_line":"        }"},{"line_number":13,"context_line":"    }, {"}],"source_content_type":"application/json","patch_set":44,"id":"60748a36_fe563de1","line":10,"updated":"2023-02-11 03:41:46.000000000","message":"Not an issue, mostly curious, but isn\u0027t this the port of the uwsgi service, not the apache service?","commit_id":"6a07945aa52fe352e27ccb52ad1b00920c2b2105"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a01d87a1220c4a900fa9e5ac0e862ec0a94664d7","unresolved":true,"context_lines":[{"line_number":7,"context_line":"        \"created_at\": \"2022-12-01T23:02:49.000000\","},{"line_number":8,"context_line":"        \"updated_at\": null,"},{"line_number":9,"context_line":"        \"links\": {"},{"line_number":10,"context_line":"            \"self\": \"http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898/shares/4495ffbb-b7d1-43e0-9423-f0a4172e5f9e\","},{"line_number":11,"context_line":"            \"zone\": \"http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898\""},{"line_number":12,"context_line":"        }"},{"line_number":13,"context_line":"    }, {"}],"source_content_type":"application/json","patch_set":44,"id":"0de85842_a07801f7","line":10,"in_reply_to":"60748a36_fe563de1","updated":"2023-02-13 18:06:33.000000000","message":"Yeah, I captured this from my devstack run. It is odd that this is the uwsgi port/config.\n\nGenerating that is here:\nhttps://review.opendev.org/c/openstack/designate/+/726334/50/designate/objects/adapters/api_v2/shared_zone.py#48\n\nwhich calls _get_base_url:\nhttps://github.com/openstack/designate/blob/master/designate/objects/adapters/api_v2/base.py#L77\n\nI wonder if we have a bug in _get_base_url when enable_host_header is enabled. It also seems like the api_base_uri should override the use of the request.host_url IMO, regardless of the enable_host_header setting.\nI have opened a bug for this: https://bugs.launchpad.net/designate/+bug/2007170","commit_id":"6a07945aa52fe352e27ccb52ad1b00920c2b2105"}],"designate/api/v2/controllers/common.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"bfdeaad5c02a82e7be42a36bde53a9e645d0810a","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def retrieve_matched_rrsets(context, controller_obj, zone_id, **params):"},{"line_number":20,"context_line":"    if zone_id:"},{"line_number":21,"context_line":"        # NOTE: We need to ensure the zone actually exists, otherwise we may"},{"line_number":22,"context_line":"        #       return deleted recordsets instead of a zone not found"},{"line_number":23,"context_line":"        controller_obj.central_api.get_zone(context, zone_id)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    # Extract the pagination params"},{"line_number":26,"context_line":"    marker, limit, sort_key, sort_dir \u003d utils.get_paging_params("}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_10a01a90","side":"PARENT","line":23,"range":{"start_line":20,"start_character":4,"end_line":23,"end_character":61},"updated":"2020-08-20 12:09:41.000000000","message":"Can you explain why this check is no longer needed?","commit_id":"7869cc9df017a58514f3508830c6a71d2d875ad1"},{"author":{"_account_id":14232,"name":"Igor Malinovskiy","email":"u.glide@gmail.com","username":"imalinovskiy"},"change_message_id":"4c4396bcceaedd9272739953c69c66efd7bf6d25","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def retrieve_matched_rrsets(context, controller_obj, zone_id, **params):"},{"line_number":20,"context_line":"    if zone_id:"},{"line_number":21,"context_line":"        # NOTE: We need to ensure the zone actually exists, otherwise we may"},{"line_number":22,"context_line":"        #       return deleted recordsets instead of a zone not found"},{"line_number":23,"context_line":"        controller_obj.central_api.get_zone(context, zone_id)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    # Extract the pagination params"},{"line_number":26,"context_line":"    marker, limit, sort_key, sort_dir \u003d utils.get_paging_params("}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_a90bc48b","side":"PARENT","line":23,"range":{"start_line":20,"start_character":4,"end_line":23,"end_character":61},"in_reply_to":"9f560f44_10a01a90","updated":"2020-08-20 18:40:45.000000000","message":"This check was moved down by call stack (https://review.opendev.org/gitweb?p\u003dopenstack/designate.git;f\u003ddesignate/central/service.py;hb\u003drefs/changes/34/726334/22#l1514)","commit_id":"7869cc9df017a58514f3508830c6a71d2d875ad1"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"3e85f148cf719ed87b7745f0a3d1d90f720652a7","unresolved":true,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def retrieve_matched_rrsets(context, controller_obj, zone_id, **params):"},{"line_number":20,"context_line":"    if zone_id:"},{"line_number":21,"context_line":"        # NOTE: We need to ensure the zone actually exists, otherwise we may"},{"line_number":22,"context_line":"        #       return deleted recordsets instead of a zone not found"},{"line_number":23,"context_line":"        controller_obj.central_api.get_zone(context, zone_id)"}],"source_content_type":"text/x-python","patch_set":36,"id":"0c148c95_52f22cde","side":"PARENT","line":20,"updated":"2022-12-08 03:57:05.000000000","message":"What is the reason for deleting this?","commit_id":"0483a533216c85314a0f3102d6600d12647f0c11"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"27858eb7373d53d0f4fcb4ab0dd660d50d6c6130","unresolved":true,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def retrieve_matched_rrsets(context, controller_obj, zone_id, **params):"},{"line_number":20,"context_line":"    if zone_id:"},{"line_number":21,"context_line":"        # NOTE: We need to ensure the zone actually exists, otherwise we may"},{"line_number":22,"context_line":"        #       return deleted recordsets instead of a zone not found"},{"line_number":23,"context_line":"        controller_obj.central_api.get_zone(context, zone_id)"}],"source_content_type":"text/x-python","patch_set":36,"id":"459450b5_36311e8b","side":"PARENT","line":20,"in_reply_to":"0c148c95_52f22cde","updated":"2022-12-08 06:55:49.000000000","message":"This opened some questions for me as well. This function is only used in one place, and then the \"find_recordsets\" is called, where this check has been moved. I personally question whether this function should just be merged into find_recordsets as they really are linked, but that work is a bit beyond the scope of this patch.","commit_id":"0483a533216c85314a0f3102d6600d12647f0c11"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c17142b74090ac171e0d00ab7de3041ca52bcde7","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def retrieve_matched_rrsets(context, controller_obj, zone_id, **params):"},{"line_number":20,"context_line":"    if zone_id:"},{"line_number":21,"context_line":"        # NOTE: We need to ensure the zone actually exists, otherwise we may"},{"line_number":22,"context_line":"        #       return deleted recordsets instead of a zone not found"},{"line_number":23,"context_line":"        controller_obj.central_api.get_zone(context, zone_id)"}],"source_content_type":"text/x-python","patch_set":36,"id":"e369a4b0_0e9605d6","side":"PARENT","line":20,"in_reply_to":"459450b5_36311e8b","updated":"2023-01-23 21:38:34.000000000","message":"Ack","commit_id":"0483a533216c85314a0f3102d6600d12647f0c11"}],"designate/api/v2/controllers/zones/sharedzones.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a5df1260894dffdee85504ad3fe3728dd1235b01","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":29,"id":"a38a6923_706251c0","updated":"2021-05-06 18:38:33.000000000","message":"This requires an update to the API reference documentation under api-ref/source","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"115364f2944392cf4de96f4c47cdadf30cf639cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"c139f46e_abefb742","in_reply_to":"44d62036_f320174e","updated":"2022-12-06 23:49:52.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":29,"id":"44d62036_f320174e","in_reply_to":"a38a6923_706251c0","updated":"2022-10-01 13:38:43.000000000","message":"Will finish after end-to-end testing.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a5df1260894dffdee85504ad3fe3728dd1235b01","unresolved":true,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        return DesignateAdapter.render("},{"line_number":37,"context_line":"            \u0027API_v2\u0027,"},{"line_number":38,"context_line":"            self.central_api.get_shared_zone("},{"line_number":39,"context_line":"                context, zone_share_id),"},{"line_number":40,"context_line":"            request\u003drequest)"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"b890e608_9a138e1b","line":38,"updated":"2021-05-06 18:38:33.000000000","message":"All of the other \"get\" calls log the information retrieved with an INFO level.\n\nCan we make this API behave the same as the others?\n\nExamples:\nhttps://opendev.org/openstack/designate/src/branch/master/designate/api/v2/controllers/recordsets.py#L40\nhttps://opendev.org/openstack/designate/src/branch/master/designate/api/v2/controllers/tlds.py#L39\nhttps://opendev.org/openstack/designate/src/branch/master/designate/api/v2/controllers/zones/__init__.py#L55","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        return DesignateAdapter.render("},{"line_number":37,"context_line":"            \u0027API_v2\u0027,"},{"line_number":38,"context_line":"            self.central_api.get_shared_zone("},{"line_number":39,"context_line":"                context, zone_share_id),"},{"line_number":40,"context_line":"            request\u003drequest)"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"3f0d46b6_bae079bb","line":38,"in_reply_to":"b890e608_9a138e1b","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"}],"designate/central/rpcapi.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":168,"context_line":"        return self.client.call(context, \u0027purge_zones\u0027,"},{"line_number":169,"context_line":"                                criterion\u003dcriterion, limit\u003dlimit)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def count_zones(self, context, criterion\u003dNone):"},{"line_number":172,"context_line":"        return self.client.call(context, \u0027count_zones\u0027, criterion\u003dcriterion)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def touch_zone(self, context, zone_id):"}],"source_content_type":"text/x-python","patch_set":30,"id":"9acdf1e6_1e8f394b","line":171,"updated":"2022-10-14 23:27:18.000000000","message":"This is from a bad rebase. This was removed in https://review.opendev.org/c/openstack/designate/+/832498","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fc48cb209b7c9764e356f61f333fd9dba6fe4748","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        return self.client.call(context, \u0027purge_zones\u0027,"},{"line_number":169,"context_line":"                                criterion\u003dcriterion, limit\u003dlimit)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def count_zones(self, context, criterion\u003dNone):"},{"line_number":172,"context_line":"        return self.client.call(context, \u0027count_zones\u0027, criterion\u003dcriterion)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def touch_zone(self, context, zone_id):"}],"source_content_type":"text/x-python","patch_set":30,"id":"f3785278_b9553c11","line":171,"in_reply_to":"9acdf1e6_1e8f394b","updated":"2022-11-24 00:31:47.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":171,"context_line":"    def count_zones(self, context, criterion\u003dNone):"},{"line_number":172,"context_line":"        return self.client.call(context, \u0027count_zones\u0027, criterion\u003dcriterion)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def touch_zone(self, context, zone_id):"},{"line_number":175,"context_line":"        return self.client.call(context, \u0027touch_zone\u0027, zone_id\u003dzone_id)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    # Shared Zone methods"}],"source_content_type":"text/x-python","patch_set":30,"id":"6a49d0cc_e937172f","line":174,"updated":"2022-10-14 23:27:18.000000000","message":"Same here, remvoed in https://review.opendev.org/c/openstack/designate/+/824503","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fc48cb209b7c9764e356f61f333fd9dba6fe4748","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    def count_zones(self, context, criterion\u003dNone):"},{"line_number":172,"context_line":"        return self.client.call(context, \u0027count_zones\u0027, criterion\u003dcriterion)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def touch_zone(self, context, zone_id):"},{"line_number":175,"context_line":"        return self.client.call(context, \u0027touch_zone\u0027, zone_id\u003dzone_id)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    # Shared Zone methods"}],"source_content_type":"text/x-python","patch_set":30,"id":"036db041_358994bd","line":174,"in_reply_to":"6a49d0cc_e937172f","updated":"2022-11-24 00:31:47.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4f62b2aac25348d473d176930cf5f966d17e7b3c","unresolved":true,"context_lines":[{"line_number":144,"context_line":"    def create_zone(self, context, zone):"},{"line_number":145,"context_line":"        return self.client.call(context, \u0027create_zone\u0027, zone\u003dzone)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def get_zone(self, context, zone_id, apply_tenant_criteria\u003dTrue):"},{"line_number":148,"context_line":"        return self.client.call(context, \u0027get_zone\u0027, zone_id\u003dzone_id,"},{"line_number":149,"context_line":"                                apply_tenant_criteria\u003dapply_tenant_criteria)"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"b1469310_ca54e540","line":147,"updated":"2023-01-23 00:44:48.000000000","message":"Is apply_tenant_criteria needed here? Or is it only used for calls inside the central process? We may not want to expose this.","commit_id":"cdc6faf2a5089cc8f32c7cce042db59917f5e114"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"b4c78f681c8c9b85d3927767ac714914ce1bbb9a","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    def create_zone(self, context, zone):"},{"line_number":145,"context_line":"        return self.client.call(context, \u0027create_zone\u0027, zone\u003dzone)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def get_zone(self, context, zone_id, apply_tenant_criteria\u003dTrue):"},{"line_number":148,"context_line":"        return self.client.call(context, \u0027get_zone\u0027, zone_id\u003dzone_id,"},{"line_number":149,"context_line":"                                apply_tenant_criteria\u003dapply_tenant_criteria)"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"6e72573b_4299a18c","line":147,"in_reply_to":"b1469310_ca54e540","updated":"2023-01-23 19:35:36.000000000","message":"Done","commit_id":"cdc6faf2a5089cc8f32c7cce042db59917f5e114"}],"designate/central/service.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a5df1260894dffdee85504ad3fe3728dd1235b01","unresolved":true,"context_lines":[{"line_number":544,"context_line":"        if zone.shared:"},{"line_number":545,"context_line":"            # NOTE(imalinovskiy): SOA record is owned by other tenant"},{"line_number":546,"context_line":"            # that\u0027s why we need here an elevated context"},{"line_number":547,"context_line":"            context \u003d context.elevated(all_tenants\u003dTrue)"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"        self._update_recordset_in_storage(context, zone, soa,"},{"line_number":550,"context_line":"                                          increment_serial\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":29,"id":"517c43b8_fdfa01c7","line":547,"updated":"2021-05-06 18:38:33.000000000","message":"This is missing unit test coverage. This branch is never executed in the tests.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":544,"context_line":"        if zone.shared:"},{"line_number":545,"context_line":"            # NOTE(imalinovskiy): SOA record is owned by other tenant"},{"line_number":546,"context_line":"            # that\u0027s why we need here an elevated context"},{"line_number":547,"context_line":"            context \u003d context.elevated(all_tenants\u003dTrue)"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"        self._update_recordset_in_storage(context, zone, soa,"},{"line_number":550,"context_line":"                                          increment_serial\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":29,"id":"5749e958_814a8bf3","line":547,"in_reply_to":"517c43b8_fdfa01c7","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a5df1260894dffdee85504ad3fe3728dd1235b01","unresolved":true,"context_lines":[{"line_number":655,"context_line":"            zone_records - recordset_records + len(recordset.records))"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"        if zone.shared:"},{"line_number":658,"context_line":"            tenant_id \u003d context.project_id"},{"line_number":659,"context_line":"        else:"},{"line_number":660,"context_line":"            tenant_id \u003d zone.tenant_id"},{"line_number":661,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"836fee7e_252b6268","line":658,"updated":"2021-05-06 18:38:33.000000000","message":"This code is missing unit test coverage. This branch is not executed in the tests.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":655,"context_line":"            zone_records - recordset_records + len(recordset.records))"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"        if zone.shared:"},{"line_number":658,"context_line":"            tenant_id \u003d context.project_id"},{"line_number":659,"context_line":"        else:"},{"line_number":660,"context_line":"            tenant_id \u003d zone.tenant_id"},{"line_number":661,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"6303221d_1cd6427e","line":658,"in_reply_to":"836fee7e_252b6268","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a5df1260894dffdee85504ad3fe3728dd1235b01","unresolved":true,"context_lines":[{"line_number":1458,"context_line":"            if increment_serial:"},{"line_number":1459,"context_line":"                # update the zone\u0027s status and increment the serial"},{"line_number":1460,"context_line":"                if zone.shared:"},{"line_number":1461,"context_line":"                    zone_context \u003d context.elevated(all_tenants\u003dTrue)"},{"line_number":1462,"context_line":"                else:"},{"line_number":1463,"context_line":"                    zone_context \u003d context"},{"line_number":1464,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"db21335c_a48cd7f5","line":1461,"updated":"2021-05-06 18:38:33.000000000","message":"This code is missing unit test coverage. This branch is not executed in the tests.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":1458,"context_line":"            if increment_serial:"},{"line_number":1459,"context_line":"                # update the zone\u0027s status and increment the serial"},{"line_number":1460,"context_line":"                if zone.shared:"},{"line_number":1461,"context_line":"                    zone_context \u003d context.elevated(all_tenants\u003dTrue)"},{"line_number":1462,"context_line":"                else:"},{"line_number":1463,"context_line":"                    zone_context \u003d context"},{"line_number":1464,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"1d284cb2_38857cf6","line":1461,"in_reply_to":"db21335c_a48cd7f5","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a5df1260894dffdee85504ad3fe3728dd1235b01","unresolved":true,"context_lines":[{"line_number":1486,"context_line":"            if zone.id !\u003d recordset.zone_id:"},{"line_number":1487,"context_line":"                raise exceptions.RecordSetNotFound()"},{"line_number":1488,"context_line":"        else:"},{"line_number":1489,"context_line":"            recordset \u003d self.storage.get_recordset(context, recordset_id)"},{"line_number":1490,"context_line":"            zone \u003d self.storage.get_zone(context, recordset.zone_id)"},{"line_number":1491,"context_line":""},{"line_number":1492,"context_line":"        target \u003d {"}],"source_content_type":"text/x-python","patch_set":29,"id":"5b09747f_25abc7ed","line":1489,"updated":"2021-05-06 18:38:33.000000000","message":"This code is missing unit test coverage. This branch is not tested.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":1486,"context_line":"            if zone.id !\u003d recordset.zone_id:"},{"line_number":1487,"context_line":"                raise exceptions.RecordSetNotFound()"},{"line_number":1488,"context_line":"        else:"},{"line_number":1489,"context_line":"            recordset \u003d self.storage.get_recordset(context, recordset_id)"},{"line_number":1490,"context_line":"            zone \u003d self.storage.get_zone(context, recordset.zone_id)"},{"line_number":1491,"context_line":""},{"line_number":1492,"context_line":"        target \u003d {"}],"source_content_type":"text/x-python","patch_set":29,"id":"63accbb4_1ef451f8","line":1489,"in_reply_to":"5b09747f_25abc7ed","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a5df1260894dffdee85504ad3fe3728dd1235b01","unresolved":true,"context_lines":[{"line_number":1690,"context_line":"        if zone.shared:"},{"line_number":1691,"context_line":"            # NOTE(imalinovskiy): recordset is owned by other tenant"},{"line_number":1692,"context_line":"            # that\u0027s why we need here an elevated context"},{"line_number":1693,"context_line":"            context \u003d context.elevated(all_tenants\u003dTrue)"},{"line_number":1694,"context_line":""},{"line_number":1695,"context_line":"        # Update the recordset\u0027s action/status and then delete it"},{"line_number":1696,"context_line":"        self.storage.update_recordset(context, recordset)"}],"source_content_type":"text/x-python","patch_set":29,"id":"b737c216_47f72107","line":1693,"updated":"2021-05-06 18:38:33.000000000","message":"This code is missing unit test coverage. This branch does not get executed in the tests.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":1690,"context_line":"        if zone.shared:"},{"line_number":1691,"context_line":"            # NOTE(imalinovskiy): recordset is owned by other tenant"},{"line_number":1692,"context_line":"            # that\u0027s why we need here an elevated context"},{"line_number":1693,"context_line":"            context \u003d context.elevated(all_tenants\u003dTrue)"},{"line_number":1694,"context_line":""},{"line_number":1695,"context_line":"        # Update the recordset\u0027s action/status and then delete it"},{"line_number":1696,"context_line":"        self.storage.update_recordset(context, recordset)"}],"source_content_type":"text/x-python","patch_set":29,"id":"bc678dce_abe8abef","line":1693,"in_reply_to":"b737c216_47f72107","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":409,"context_line":"        if zone.shared:"},{"line_number":410,"context_line":"            # NOTE(imalinovskiy): SOA record is owned by other tenant"},{"line_number":411,"context_line":"            # that\u0027s why we need here an elevated context"},{"line_number":412,"context_line":"            context \u003d context.elevated(all_tenants\u003dTrue)"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"        self._update_recordset_in_storage(context, zone, soa,"},{"line_number":415,"context_line":"                                          increment_serial\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":30,"id":"90714cdc_f84f6abc","line":412,"updated":"2022-10-14 23:27:18.000000000","message":"This changes the recordset validation rules and seems a bit too broad. Can we update the code to understand shared zones and not require \"all_tenants\u003dTrue\"?","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6e21fe59e393b9c8851f1d8401744625dd19331c","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        if zone.shared:"},{"line_number":410,"context_line":"            # NOTE(imalinovskiy): SOA record is owned by other tenant"},{"line_number":411,"context_line":"            # that\u0027s why we need here an elevated context"},{"line_number":412,"context_line":"            context \u003d context.elevated(all_tenants\u003dTrue)"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"        self._update_recordset_in_storage(context, zone, soa,"},{"line_number":415,"context_line":"                                          increment_serial\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":30,"id":"8b203923_f5a1d01a","line":412,"in_reply_to":"90714cdc_f84f6abc","updated":"2023-01-15 21:34:23.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":493,"context_line":"        if zone.shared:"},{"line_number":494,"context_line":"            tenant_id \u003d context.project_id"},{"line_number":495,"context_line":"        else:"},{"line_number":496,"context_line":"            tenant_id \u003d zone.tenant_id"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"        self.quota.limit_check("},{"line_number":499,"context_line":"            context, tenant_id, zone_recordsets\u003dcount + 1)"}],"source_content_type":"text/x-python","patch_set":30,"id":"16c5527e_a4c1c9a4","line":496,"updated":"2022-10-14 23:27:18.000000000","message":"This seems like a problem. Won\u0027t the project that owns the zone possibly fail quota checks because \"shared project\" has loaded up recordsets in the zone? I.e. the \"shared project\" could create up to it\u0027s quota, but the zone owner would only get up to what isn\u0027t used be the \"shared project\".\n\nIt seems like we should check the quota for the zone and it\u0027s project always and not flip in the \"shared project\" ID.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":493,"context_line":"        if zone.shared:"},{"line_number":494,"context_line":"            tenant_id \u003d context.project_id"},{"line_number":495,"context_line":"        else:"},{"line_number":496,"context_line":"            tenant_id \u003d zone.tenant_id"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"        self.quota.limit_check("},{"line_number":499,"context_line":"            context, tenant_id, zone_recordsets\u003dcount + 1)"}],"source_content_type":"text/x-python","patch_set":30,"id":"8571b109_9ffb6271","line":496,"in_reply_to":"16c5527e_a4c1c9a4","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":525,"context_line":"            zone_records - recordset_records + len(recordset.records))"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"        if zone.shared:"},{"line_number":528,"context_line":"            tenant_id \u003d context.project_id"},{"line_number":529,"context_line":"        else:"},{"line_number":530,"context_line":"            tenant_id \u003d zone.tenant_id"},{"line_number":531,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"ff07331b_73d72c52","line":528,"updated":"2022-10-14 23:27:18.000000000","message":"Same comment here, I don\u0027t think we should be making this change.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":525,"context_line":"            zone_records - recordset_records + len(recordset.records))"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"        if zone.shared:"},{"line_number":528,"context_line":"            tenant_id \u003d context.project_id"},{"line_number":529,"context_line":"        else:"},{"line_number":530,"context_line":"            tenant_id \u003d zone.tenant_id"},{"line_number":531,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"434332f3_e3b2d4d6","line":528,"in_reply_to":"ff07331b_73d72c52","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":791,"context_line":"                context.elevated(all_tenants\u003dTrue),"},{"line_number":792,"context_line":"                criterion\u003d{"},{"line_number":793,"context_line":"                    \"zone_id\": parent_zone.id,"},{"line_number":794,"context_line":"                    \"target_tenant_id\": zone.tenant_id,"},{"line_number":795,"context_line":"                },"},{"line_number":796,"context_line":"                limit\u003d1"},{"line_number":797,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":30,"id":"048ae935_74b6e622","line":794,"updated":"2022-10-14 23:27:18.000000000","message":"Shouldn\u0027t this be checking the context.project_id instead of the zone.tenant_id? Isn\u0027t target_tenant_id the project_id of the project the zone is shared with?","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":791,"context_line":"                context.elevated(all_tenants\u003dTrue),"},{"line_number":792,"context_line":"                criterion\u003d{"},{"line_number":793,"context_line":"                    \"zone_id\": parent_zone.id,"},{"line_number":794,"context_line":"                    \"target_tenant_id\": zone.tenant_id,"},{"line_number":795,"context_line":"                },"},{"line_number":796,"context_line":"                limit\u003d1"},{"line_number":797,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":30,"id":"7377cda9_2f628bde","line":794,"in_reply_to":"048ae935_74b6e622","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":891,"context_line":"            target \u003d {"},{"line_number":892,"context_line":"                \u0027zone_id\u0027: zone_id,"},{"line_number":893,"context_line":"                \u0027zone_name\u0027: zone.name,"},{"line_number":894,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":895,"context_line":"                constants.RBAC_PROJECT_ID: zone.tenant_id"},{"line_number":896,"context_line":"            }"},{"line_number":897,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":30,"id":"063b67f9_1ce3d8ba","line":894,"updated":"2022-10-14 23:27:18.000000000","message":"This doesn\u0027t seem right. Either it lets anyone see the zone or those in the  \"shared with project\" wouldn\u0027t be able to see it.\nNot to mention I don\u0027t see anything in the get_zone rule that uses this value.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":891,"context_line":"            target \u003d {"},{"line_number":892,"context_line":"                \u0027zone_id\u0027: zone_id,"},{"line_number":893,"context_line":"                \u0027zone_name\u0027: zone.name,"},{"line_number":894,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":895,"context_line":"                constants.RBAC_PROJECT_ID: zone.tenant_id"},{"line_number":896,"context_line":"            }"},{"line_number":897,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":30,"id":"cb08c621_57159a28","line":894,"in_reply_to":"063b67f9_1ce3d8ba","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":967,"context_line":"            target \u003d {"},{"line_number":968,"context_line":"                \u0027zone_id\u0027: zone.obj_get_original_value(\u0027id\u0027),"},{"line_number":969,"context_line":"                \u0027zone_name\u0027: zone.obj_get_original_value(\u0027name\u0027),"},{"line_number":970,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":971,"context_line":"                constants.RBAC_PROJECT_ID: ("},{"line_number":972,"context_line":"                    zone.obj_get_original_value(\u0027tenant_id\u0027)),"},{"line_number":973,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":30,"id":"0d0cdae4_a02d2343","line":970,"updated":"2022-10-14 23:27:18.000000000","message":"Same here, I don\u0027t see a rule that uses this and I don\u0027t think it accomplishes what we want.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":967,"context_line":"            target \u003d {"},{"line_number":968,"context_line":"                \u0027zone_id\u0027: zone.obj_get_original_value(\u0027id\u0027),"},{"line_number":969,"context_line":"                \u0027zone_name\u0027: zone.obj_get_original_value(\u0027name\u0027),"},{"line_number":970,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":971,"context_line":"                constants.RBAC_PROJECT_ID: ("},{"line_number":972,"context_line":"                    zone.obj_get_original_value(\u0027tenant_id\u0027)),"},{"line_number":973,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":30,"id":"c1465b85_eed43b60","line":970,"in_reply_to":"0d0cdae4_a02d2343","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1047,"context_line":"            target \u003d {"},{"line_number":1048,"context_line":"                \u0027zone_id\u0027: zone_id,"},{"line_number":1049,"context_line":"                \u0027zone_name\u0027: zone.name,"},{"line_number":1050,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1051,"context_line":"                constants.RBAC_PROJECT_ID: zone.tenant_id"},{"line_number":1052,"context_line":"            }"},{"line_number":1053,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":30,"id":"c1bd494d_abd5e6ce","line":1050,"updated":"2022-10-14 23:27:18.000000000","message":"Same as the other zone changes.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":1047,"context_line":"            target \u003d {"},{"line_number":1048,"context_line":"                \u0027zone_id\u0027: zone_id,"},{"line_number":1049,"context_line":"                \u0027zone_name\u0027: zone.name,"},{"line_number":1050,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1051,"context_line":"                constants.RBAC_PROJECT_ID: zone.tenant_id"},{"line_number":1052,"context_line":"            }"},{"line_number":1053,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":30,"id":"933809dc_72a7469d","line":1050,"in_reply_to":"c1bd494d_abd5e6ce","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1199,"context_line":"        zone_id \u003d shared_zone.get(\u0027zone_id\u0027)"},{"line_number":1200,"context_line":""},{"line_number":1201,"context_line":"        target \u003d {"},{"line_number":1202,"context_line":"            \u0027tenant_id\u0027: context.project_id,"},{"line_number":1203,"context_line":"            \u0027target_tenant_id\u0027: shared_zone.get(\u0027target_tenant_id\u0027),"},{"line_number":1204,"context_line":"            \u0027zone_id\u0027: zone_id,"},{"line_number":1205,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":30,"id":"fd660279_ca235561","line":1202,"updated":"2022-10-14 23:27:18.000000000","message":"This needs to be updated for the new RBAC system. tenant_id is going away.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7afdc298d981396357b09e026162d3ee9f9571a8","unresolved":false,"context_lines":[{"line_number":1199,"context_line":"        zone_id \u003d shared_zone.get(\u0027zone_id\u0027)"},{"line_number":1200,"context_line":""},{"line_number":1201,"context_line":"        target \u003d {"},{"line_number":1202,"context_line":"            \u0027tenant_id\u0027: context.project_id,"},{"line_number":1203,"context_line":"            \u0027target_tenant_id\u0027: shared_zone.get(\u0027target_tenant_id\u0027),"},{"line_number":1204,"context_line":"            \u0027zone_id\u0027: zone_id,"},{"line_number":1205,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":30,"id":"4d786795_0e916db7","line":1202,"in_reply_to":"fd660279_ca235561","updated":"2022-12-02 00:37:29.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1223,"context_line":"    @transaction"},{"line_number":1224,"context_line":"    def unshare_zone(self, context, shared_zone_id):"},{"line_number":1225,"context_line":"        target \u003d {"},{"line_number":1226,"context_line":"            \u0027tenant_id\u0027: context.project_id,"},{"line_number":1227,"context_line":"            \u0027shared_zone_id\u0027: shared_zone_id,"},{"line_number":1228,"context_line":"        }"},{"line_number":1229,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"cb5526ac_70b7d680","line":1226,"updated":"2022-10-14 23:27:18.000000000","message":"This needs to be updated for the new RBAC system.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7afdc298d981396357b09e026162d3ee9f9571a8","unresolved":false,"context_lines":[{"line_number":1223,"context_line":"    @transaction"},{"line_number":1224,"context_line":"    def unshare_zone(self, context, shared_zone_id):"},{"line_number":1225,"context_line":"        target \u003d {"},{"line_number":1226,"context_line":"            \u0027tenant_id\u0027: context.project_id,"},{"line_number":1227,"context_line":"            \u0027shared_zone_id\u0027: shared_zone_id,"},{"line_number":1228,"context_line":"        }"},{"line_number":1229,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"9d42b871_a80a8d91","line":1226,"in_reply_to":"cb5526ac_70b7d680","updated":"2022-12-02 00:37:29.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1269,"context_line":"    def find_shared_zones(self, context, criterion\u003dNone, marker\u003dNone,"},{"line_number":1270,"context_line":"                          limit\u003dNone, sort_key\u003dNone, sort_dir\u003dNone):"},{"line_number":1271,"context_line":"        target \u003d {"},{"line_number":1272,"context_line":"            \u0027tenant_id\u0027: context.project_id,"},{"line_number":1273,"context_line":"        }"},{"line_number":1274,"context_line":""},{"line_number":1275,"context_line":"        policy.check(\u0027find_shared_zones\u0027, context, target)"}],"source_content_type":"text/x-python","patch_set":30,"id":"c6871e1c_f936e7a7","line":1272,"updated":"2022-10-14 23:27:18.000000000","message":"This needs to be updated for the new RBAC system.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":1269,"context_line":"    def find_shared_zones(self, context, criterion\u003dNone, marker\u003dNone,"},{"line_number":1270,"context_line":"                          limit\u003dNone, sort_key\u003dNone, sort_dir\u003dNone):"},{"line_number":1271,"context_line":"        target \u003d {"},{"line_number":1272,"context_line":"            \u0027tenant_id\u0027: context.project_id,"},{"line_number":1273,"context_line":"        }"},{"line_number":1274,"context_line":""},{"line_number":1275,"context_line":"        policy.check(\u0027find_shared_zones\u0027, context, target)"}],"source_content_type":"text/x-python","patch_set":30,"id":"16e297b0_32498e12","line":1272,"in_reply_to":"c6871e1c_f936e7a7","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1282,"context_line":""},{"line_number":1283,"context_line":"    @rpc.expected_exceptions()"},{"line_number":1284,"context_line":"    def get_shared_zone(self, context, shared_zone_id):"},{"line_number":1285,"context_line":"        target \u003d {\u0027tenant_id\u0027: context.project_id}"},{"line_number":1286,"context_line":"        policy.check(\u0027get_shared_zone\u0027, context, target)"},{"line_number":1287,"context_line":""},{"line_number":1288,"context_line":"        return self.storage.get_shared_zone(context, shared_zone_id)"}],"source_content_type":"text/x-python","patch_set":30,"id":"0aa2449c_54dcd2bf","line":1285,"updated":"2022-10-14 23:27:18.000000000","message":"This needs to be updated for the new RBAC system.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7afdc298d981396357b09e026162d3ee9f9571a8","unresolved":false,"context_lines":[{"line_number":1282,"context_line":""},{"line_number":1283,"context_line":"    @rpc.expected_exceptions()"},{"line_number":1284,"context_line":"    def get_shared_zone(self, context, shared_zone_id):"},{"line_number":1285,"context_line":"        target \u003d {\u0027tenant_id\u0027: context.project_id}"},{"line_number":1286,"context_line":"        policy.check(\u0027get_shared_zone\u0027, context, target)"},{"line_number":1287,"context_line":""},{"line_number":1288,"context_line":"        return self.storage.get_shared_zone(context, shared_zone_id)"}],"source_content_type":"text/x-python","patch_set":30,"id":"e824735a_7640ccaa","line":1285,"in_reply_to":"0aa2449c_54dcd2bf","updated":"2022-12-02 00:37:29.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1304,"context_line":"                \u0027zone_id\u0027: zone_id,"},{"line_number":1305,"context_line":"                \u0027zone_name\u0027: zone.name,"},{"line_number":1306,"context_line":"                \u0027zone_type\u0027: zone.type,"},{"line_number":1307,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1308,"context_line":"                \u0027recordset_name\u0027: recordset.name,"},{"line_number":1309,"context_line":"                constants.RBAC_PROJECT_ID:"},{"line_number":1310,"context_line":"                    context.project_id if zone.shared else zone.tenant_id,"}],"source_content_type":"text/x-python","patch_set":30,"id":"a39fc336_5d6304b6","line":1307,"updated":"2022-10-14 23:27:18.000000000","message":"Like above, I don\u0027t see a rule that uses this.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":1304,"context_line":"                \u0027zone_id\u0027: zone_id,"},{"line_number":1305,"context_line":"                \u0027zone_name\u0027: zone.name,"},{"line_number":1306,"context_line":"                \u0027zone_type\u0027: zone.type,"},{"line_number":1307,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1308,"context_line":"                \u0027recordset_name\u0027: recordset.name,"},{"line_number":1309,"context_line":"                constants.RBAC_PROJECT_ID:"},{"line_number":1310,"context_line":"                    context.project_id if zone.shared else zone.tenant_id,"}],"source_content_type":"text/x-python","patch_set":30,"id":"88ca9aa0_fc104118","line":1307,"in_reply_to":"a39fc336_5d6304b6","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1307,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1308,"context_line":"                \u0027recordset_name\u0027: recordset.name,"},{"line_number":1309,"context_line":"                constants.RBAC_PROJECT_ID:"},{"line_number":1310,"context_line":"                    context.project_id if zone.shared else zone.tenant_id,"},{"line_number":1311,"context_line":"            }"},{"line_number":1312,"context_line":"        else:"},{"line_number":1313,"context_line":"            target \u003d {"}],"source_content_type":"text/x-python","patch_set":30,"id":"6103c735_c69ffe22","line":1310,"updated":"2022-10-14 23:27:18.000000000","message":"This would allow anyone to create a recordset if the zone is \"shared\".","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":1307,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1308,"context_line":"                \u0027recordset_name\u0027: recordset.name,"},{"line_number":1309,"context_line":"                constants.RBAC_PROJECT_ID:"},{"line_number":1310,"context_line":"                    context.project_id if zone.shared else zone.tenant_id,"},{"line_number":1311,"context_line":"            }"},{"line_number":1312,"context_line":"        else:"},{"line_number":1313,"context_line":"            target \u003d {"}],"source_content_type":"text/x-python","patch_set":30,"id":"9a8be915_33a75b0d","line":1310,"in_reply_to":"6103c735_c69ffe22","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1317,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1318,"context_line":"                \u0027recordset_name\u0027: recordset.name,"},{"line_number":1319,"context_line":"                \u0027tenant_id\u0027:"},{"line_number":1320,"context_line":"                    context.project_id if zone.shared else zone.tenant_id,"},{"line_number":1321,"context_line":"            }"},{"line_number":1322,"context_line":""},{"line_number":1323,"context_line":"        policy.check(\u0027create_recordset\u0027, context, target)"}],"source_content_type":"text/x-python","patch_set":30,"id":"3a27cca3_88a5c499","line":1320,"updated":"2022-10-14 23:27:18.000000000","message":"Same with these","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":1317,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1318,"context_line":"                \u0027recordset_name\u0027: recordset.name,"},{"line_number":1319,"context_line":"                \u0027tenant_id\u0027:"},{"line_number":1320,"context_line":"                    context.project_id if zone.shared else zone.tenant_id,"},{"line_number":1321,"context_line":"            }"},{"line_number":1322,"context_line":""},{"line_number":1323,"context_line":"        policy.check(\u0027create_recordset\u0027, context, target)"}],"source_content_type":"text/x-python","patch_set":30,"id":"742fab8c_08ce5b75","line":1320,"in_reply_to":"3a27cca3_88a5c499","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1378,"context_line":"            if increment_serial:"},{"line_number":1379,"context_line":"                # update the zone\u0027s status and increment the serial"},{"line_number":1380,"context_line":"                if zone.shared:"},{"line_number":1381,"context_line":"                    zone_context \u003d context.elevated(all_tenants\u003dTrue)"},{"line_number":1382,"context_line":"                else:"},{"line_number":1383,"context_line":"                    zone_context \u003d context"},{"line_number":1384,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"b44f802b_e3c4ef1f","line":1381,"updated":"2022-10-14 23:27:18.000000000","message":"I think we can do better than this. It should be able to work without elevating to all_tenants IMO.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6e21fe59e393b9c8851f1d8401744625dd19331c","unresolved":false,"context_lines":[{"line_number":1378,"context_line":"            if increment_serial:"},{"line_number":1379,"context_line":"                # update the zone\u0027s status and increment the serial"},{"line_number":1380,"context_line":"                if zone.shared:"},{"line_number":1381,"context_line":"                    zone_context \u003d context.elevated(all_tenants\u003dTrue)"},{"line_number":1382,"context_line":"                else:"},{"line_number":1383,"context_line":"                    zone_context \u003d context"},{"line_number":1384,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"d721cfbb_4f5a7046","line":1381,"in_reply_to":"b44f802b_e3c4ef1f","updated":"2023-01-15 21:34:23.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1399,"context_line":"    @rpc.expected_exceptions()"},{"line_number":1400,"context_line":"    def get_recordset(self, context, zone_id, recordset_id):"},{"line_number":1401,"context_line":"        if zone_id:"},{"line_number":1402,"context_line":"            recordset \u003d self.storage.find_recordset("},{"line_number":1403,"context_line":"                context, criterion\u003d{\u0027id\u0027: recordset_id, \u0027zone_id\u0027: zone_id})"},{"line_number":1404,"context_line":"            zone \u003d self.storage.get_zone(context, zone_id)"},{"line_number":1405,"context_line":"            # Ensure the zone_id matches the record\u0027s zone_id"}],"source_content_type":"text/x-python","patch_set":30,"id":"bc6d9d22_4920229b","line":1402,"updated":"2022-10-14 23:27:18.000000000","message":"Why did this change? Aren\u0027t recordset IDs unique?","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":1399,"context_line":"    @rpc.expected_exceptions()"},{"line_number":1400,"context_line":"    def get_recordset(self, context, zone_id, recordset_id):"},{"line_number":1401,"context_line":"        if zone_id:"},{"line_number":1402,"context_line":"            recordset \u003d self.storage.find_recordset("},{"line_number":1403,"context_line":"                context, criterion\u003d{\u0027id\u0027: recordset_id, \u0027zone_id\u0027: zone_id})"},{"line_number":1404,"context_line":"            zone \u003d self.storage.get_zone(context, zone_id)"},{"line_number":1405,"context_line":"            # Ensure the zone_id matches the record\u0027s zone_id"}],"source_content_type":"text/x-python","patch_set":30,"id":"1e074bac_d38c37ac","line":1402,"in_reply_to":"bc6d9d22_4920229b","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1413,"context_line":"            target \u003d {"},{"line_number":1414,"context_line":"                \u0027zone_id\u0027: zone.id,"},{"line_number":1415,"context_line":"                \u0027zone_name\u0027: zone.name,"},{"line_number":1416,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1417,"context_line":"                \u0027recordset_id\u0027: recordset.id,"},{"line_number":1418,"context_line":"                constants.RBAC_PROJECT_ID: zone.tenant_id,"},{"line_number":1419,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":30,"id":"2a2cc0c1_2b4afa28","line":1416,"updated":"2022-10-14 23:27:18.000000000","message":"I don\u0027t see a rule that uses this.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":1413,"context_line":"            target \u003d {"},{"line_number":1414,"context_line":"                \u0027zone_id\u0027: zone.id,"},{"line_number":1415,"context_line":"                \u0027zone_name\u0027: zone.name,"},{"line_number":1416,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1417,"context_line":"                \u0027recordset_id\u0027: recordset.id,"},{"line_number":1418,"context_line":"                constants.RBAC_PROJECT_ID: zone.tenant_id,"},{"line_number":1419,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":30,"id":"74716668_a23352fd","line":1416,"in_reply_to":"2a2cc0c1_2b4afa28","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1443,"context_line":"        if criterion and criterion.get(\u0027zone_id\u0027, None):"},{"line_number":1444,"context_line":"            # NOTE: We need to ensure the zone actually exists, otherwise"},{"line_number":1445,"context_line":"            # we may return deleted recordsets instead of a zone not found"},{"line_number":1446,"context_line":"            zone \u003d self.get_zone(context, criterion[\u0027zone_id\u0027])"},{"line_number":1447,"context_line":"            zone_shared \u003d zone.shared"},{"line_number":1448,"context_line":""},{"line_number":1449,"context_line":"        if policy.enforce_new_defaults():"}],"source_content_type":"text/x-python","patch_set":30,"id":"3328933c_80f7109f","line":1446,"updated":"2022-10-14 23:27:18.000000000","message":"Policy enforcement should be before any DB queries unless they are absolutely necessary for the policy validation.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"115364f2944392cf4de96f4c47cdadf30cf639cf","unresolved":false,"context_lines":[{"line_number":1443,"context_line":"        if criterion and criterion.get(\u0027zone_id\u0027, None):"},{"line_number":1444,"context_line":"            # NOTE: We need to ensure the zone actually exists, otherwise"},{"line_number":1445,"context_line":"            # we may return deleted recordsets instead of a zone not found"},{"line_number":1446,"context_line":"            zone \u003d self.get_zone(context, criterion[\u0027zone_id\u0027])"},{"line_number":1447,"context_line":"            zone_shared \u003d zone.shared"},{"line_number":1448,"context_line":""},{"line_number":1449,"context_line":"        if policy.enforce_new_defaults():"}],"source_content_type":"text/x-python","patch_set":30,"id":"2e828f45_d46d8502","line":1446,"in_reply_to":"3328933c_80f7109f","updated":"2022-12-06 23:49:52.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1448,"context_line":""},{"line_number":1449,"context_line":"        if policy.enforce_new_defaults():"},{"line_number":1450,"context_line":"            target \u003d {"},{"line_number":1451,"context_line":"                \u0027zone_shared\u0027: zone_shared,"},{"line_number":1452,"context_line":"                constants.RBAC_PROJECT_ID: context.project_id"},{"line_number":1453,"context_line":"            }"},{"line_number":1454,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":30,"id":"0bd6b8e5_79135d2d","line":1451,"updated":"2022-10-14 23:27:18.000000000","message":"There is no rule that uses this, and like the others, I don\u0027t think this is right.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"115364f2944392cf4de96f4c47cdadf30cf639cf","unresolved":false,"context_lines":[{"line_number":1448,"context_line":""},{"line_number":1449,"context_line":"        if policy.enforce_new_defaults():"},{"line_number":1450,"context_line":"            target \u003d {"},{"line_number":1451,"context_line":"                \u0027zone_shared\u0027: zone_shared,"},{"line_number":1452,"context_line":"                constants.RBAC_PROJECT_ID: context.project_id"},{"line_number":1453,"context_line":"            }"},{"line_number":1454,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff34e7cd_c19d2397","line":1451,"in_reply_to":"0bd6b8e5_79135d2d","updated":"2022-12-06 23:49:52.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1476,"context_line":""},{"line_number":1477,"context_line":"        if policy.enforce_new_defaults():"},{"line_number":1478,"context_line":"            target \u003d {"},{"line_number":1479,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1480,"context_line":"                constants.RBAC_PROJECT_ID: context.project_id"},{"line_number":1481,"context_line":"            }"},{"line_number":1482,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":30,"id":"58ed802c_d94752ec","line":1479,"updated":"2022-10-14 23:27:18.000000000","message":"Same here, no rule, doesn\u0027t do what you want, and moves policy enforcement below the expensive DB call. Not good.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":1476,"context_line":""},{"line_number":1477,"context_line":"        if policy.enforce_new_defaults():"},{"line_number":1478,"context_line":"            target \u003d {"},{"line_number":1479,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1480,"context_line":"                constants.RBAC_PROJECT_ID: context.project_id"},{"line_number":1481,"context_line":"            }"},{"line_number":1482,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":30,"id":"cb18b946_50636236","line":1479,"in_reply_to":"58ed802c_d94752ec","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1529,"context_line":"            target \u003d {"},{"line_number":1530,"context_line":"                \u0027zone_id\u0027: recordset.obj_get_original_value(\u0027zone_id\u0027),"},{"line_number":1531,"context_line":"                \u0027zone_type\u0027: zone.type,"},{"line_number":1532,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1533,"context_line":"                \u0027recordset_id\u0027: recordset.obj_get_original_value(\u0027id\u0027),"},{"line_number":1534,"context_line":"                \u0027zone_name\u0027: zone.name,"},{"line_number":1535,"context_line":"                constants.RBAC_PROJECT_ID: zone.tenant_id"}],"source_content_type":"text/x-python","patch_set":30,"id":"f10d00d2_f97731ce","line":1532,"updated":"2022-10-14 23:27:18.000000000","message":"Same, there is no rule for this, it doesn\u0027t do what you want.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6e21fe59e393b9c8851f1d8401744625dd19331c","unresolved":false,"context_lines":[{"line_number":1529,"context_line":"            target \u003d {"},{"line_number":1530,"context_line":"                \u0027zone_id\u0027: recordset.obj_get_original_value(\u0027zone_id\u0027),"},{"line_number":1531,"context_line":"                \u0027zone_type\u0027: zone.type,"},{"line_number":1532,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1533,"context_line":"                \u0027recordset_id\u0027: recordset.obj_get_original_value(\u0027id\u0027),"},{"line_number":1534,"context_line":"                \u0027zone_name\u0027: zone.name,"},{"line_number":1535,"context_line":"                constants.RBAC_PROJECT_ID: zone.tenant_id"}],"source_content_type":"text/x-python","patch_set":30,"id":"488236e1_e685830a","line":1532,"in_reply_to":"f10d00d2_f97731ce","updated":"2023-01-15 21:34:23.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1605,"context_line":"                \u0027zone_id\u0027: zone_id,"},{"line_number":1606,"context_line":"                \u0027zone_name\u0027: zone.name,"},{"line_number":1607,"context_line":"                \u0027zone_type\u0027: zone.type,"},{"line_number":1608,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1609,"context_line":"                \u0027recordset_id\u0027: recordset.id,"},{"line_number":1610,"context_line":"                constants.RBAC_PROJECT_ID: zone.tenant_id"},{"line_number":1611,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":30,"id":"0e08eee6_74af87b0","line":1608,"updated":"2022-10-14 23:27:18.000000000","message":"Same as above.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6e21fe59e393b9c8851f1d8401744625dd19331c","unresolved":false,"context_lines":[{"line_number":1605,"context_line":"                \u0027zone_id\u0027: zone_id,"},{"line_number":1606,"context_line":"                \u0027zone_name\u0027: zone.name,"},{"line_number":1607,"context_line":"                \u0027zone_type\u0027: zone.type,"},{"line_number":1608,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":1609,"context_line":"                \u0027recordset_id\u0027: recordset.id,"},{"line_number":1610,"context_line":"                constants.RBAC_PROJECT_ID: zone.tenant_id"},{"line_number":1611,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":30,"id":"c05ef1b7_0425e2c0","line":1608,"in_reply_to":"0e08eee6_74af87b0","updated":"2023-01-15 21:34:23.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":1649,"context_line":"                record.status \u003d \u0027PENDING\u0027"},{"line_number":1650,"context_line":"                record.serial \u003d zone.serial"},{"line_number":1651,"context_line":""},{"line_number":1652,"context_line":"        if zone.shared:"},{"line_number":1653,"context_line":"            # NOTE(imalinovskiy): recordset is owned by other tenant"},{"line_number":1654,"context_line":"            # that\u0027s why we need here an elevated context"},{"line_number":1655,"context_line":"            context \u003d context.elevated(all_tenants\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":30,"id":"3f122f6c_d1acdce2","line":1652,"updated":"2022-10-14 23:27:18.000000000","message":"The comment does not match the code here. I think this would open deleting recordsets to anyone on shared zones.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6e21fe59e393b9c8851f1d8401744625dd19331c","unresolved":false,"context_lines":[{"line_number":1649,"context_line":"                record.status \u003d \u0027PENDING\u0027"},{"line_number":1650,"context_line":"                record.serial \u003d zone.serial"},{"line_number":1651,"context_line":""},{"line_number":1652,"context_line":"        if zone.shared:"},{"line_number":1653,"context_line":"            # NOTE(imalinovskiy): recordset is owned by other tenant"},{"line_number":1654,"context_line":"            # that\u0027s why we need here an elevated context"},{"line_number":1655,"context_line":"            context \u003d context.elevated(all_tenants\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":30,"id":"ee377992_db09377e","line":1652,"in_reply_to":"3f122f6c_d1acdce2","updated":"2023-01-15 21:34:23.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":2409,"context_line":""},{"line_number":2410,"context_line":"        if policy.enforce_new_defaults():"},{"line_number":2411,"context_line":"            target \u003d {"},{"line_number":2412,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":2413,"context_line":"                constants.RBAC_PROJECT_ID: zone.tenant_id"},{"line_number":2414,"context_line":"            }"},{"line_number":2415,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":30,"id":"b6de4149_8723a038","line":2412,"updated":"2022-10-14 23:27:18.000000000","message":"Same, no rule for this, doesn\u0027t do what you want.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":2409,"context_line":""},{"line_number":2410,"context_line":"        if policy.enforce_new_defaults():"},{"line_number":2411,"context_line":"            target \u003d {"},{"line_number":2412,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":2413,"context_line":"                constants.RBAC_PROJECT_ID: zone.tenant_id"},{"line_number":2414,"context_line":"            }"},{"line_number":2415,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":30,"id":"383e30c1_09dc3c4f","line":2412,"in_reply_to":"b6de4149_8723a038","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":2786,"context_line":""},{"line_number":2787,"context_line":"        if policy.enforce_new_defaults():"},{"line_number":2788,"context_line":"            target \u003d {"},{"line_number":2789,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":2790,"context_line":"                constants.RBAC_PROJECT_ID: context.project_id"},{"line_number":2791,"context_line":"            }"},{"line_number":2792,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":30,"id":"5ccc252b_ff72a188","line":2789,"updated":"2022-10-14 23:27:18.000000000","message":"Same","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f7f2e71a52ca80b8eaf2b5ab08f5d84c40ba439d","unresolved":false,"context_lines":[{"line_number":2786,"context_line":""},{"line_number":2787,"context_line":"        if policy.enforce_new_defaults():"},{"line_number":2788,"context_line":"            target \u003d {"},{"line_number":2789,"context_line":"                \u0027zone_shared\u0027: zone.shared,"},{"line_number":2790,"context_line":"                constants.RBAC_PROJECT_ID: context.project_id"},{"line_number":2791,"context_line":"            }"},{"line_number":2792,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":30,"id":"5dbb6577_411e101e","line":2789,"in_reply_to":"5ccc252b_ff72a188","updated":"2023-01-23 19:34:42.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"}],"designate/common/policies/base.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"46e0346407ba682882fd20ec52ceebca4f9913f2","unresolved":true,"context_lines":[{"line_number":60,"context_line":"    \u0027(\u0027 + SYSTEM_READER + \u0027) or (\u0027 + PROJECT_READER + \u0027)\u0027"},{"line_number":61,"context_line":")"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"rules \u003d ["},{"line_number":64,"context_line":"    policy.RuleDefault("},{"line_number":65,"context_line":"        name\u003d\"admin\","},{"line_number":66,"context_line":"        check_str\u003d\"role:admin or is_admin:True\"),"}],"source_content_type":"text/x-python","patch_set":29,"id":"6d162f14_660ca04d","line":63,"updated":"2021-04-30 19:19:37.000000000","message":"Even though a comment was not added, the above rules and follow on changes essentially deprecate these rules definitions.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    \u0027(\u0027 + SYSTEM_READER + \u0027) or (\u0027 + PROJECT_READER + \u0027)\u0027"},{"line_number":61,"context_line":")"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"rules \u003d ["},{"line_number":64,"context_line":"    policy.RuleDefault("},{"line_number":65,"context_line":"        name\u003d\"admin\","},{"line_number":66,"context_line":"        check_str\u003d\"role:admin or is_admin:True\"),"}],"source_content_type":"text/x-python","patch_set":29,"id":"ee8fa1fc_3a14954a","line":63,"in_reply_to":"6d162f14_660ca04d","updated":"2022-10-01 13:38:43.000000000","message":"Ack","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"46e0346407ba682882fd20ec52ceebca4f9913f2","unresolved":true,"context_lines":[{"line_number":90,"context_line":"        check_str\u003d\"rule:owner_or_target or rule:admin\"),"},{"line_number":91,"context_line":"    policy.RuleDefault("},{"line_number":92,"context_line":"        name\u003d\"admin_or_owner_or_zone_shared\","},{"line_number":93,"context_line":"        check_str\u003d\"rule:owner_or_zone_shared or rule:admin\"),"},{"line_number":94,"context_line":"    policy.RuleDefault("},{"line_number":95,"context_line":"        name\u003d\"admin_or_target\","},{"line_number":96,"context_line":"        check_str\u003d\"rule:admin or rule:target\"),"}],"source_content_type":"text/x-python","patch_set":29,"id":"5e117c9d_a5ec8b5e","line":93,"updated":"2021-04-30 19:19:37.000000000","message":"This rule is no longer valid after the \"secure RBAC\" changes.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        check_str\u003d\"rule:owner_or_target or rule:admin\"),"},{"line_number":91,"context_line":"    policy.RuleDefault("},{"line_number":92,"context_line":"        name\u003d\"admin_or_owner_or_zone_shared\","},{"line_number":93,"context_line":"        check_str\u003d\"rule:owner_or_zone_shared or rule:admin\"),"},{"line_number":94,"context_line":"    policy.RuleDefault("},{"line_number":95,"context_line":"        name\u003d\"admin_or_target\","},{"line_number":96,"context_line":"        check_str\u003d\"rule:admin or rule:target\"),"}],"source_content_type":"text/x-python","patch_set":29,"id":"0aa05c84_77c7af5f","line":93,"in_reply_to":"5e117c9d_a5ec8b5e","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        check_str\u003d\"rule:owner_or_target or rule:admin\"),"},{"line_number":91,"context_line":"    policy.RuleDefault("},{"line_number":92,"context_line":"        name\u003d\"admin_or_owner_or_zone_shared\","},{"line_number":93,"context_line":"        check_str\u003d\"rule:owner_or_zone_shared or rule:admin\"),"},{"line_number":94,"context_line":"    policy.RuleDefault("},{"line_number":95,"context_line":"        name\u003d\"admin_or_target\","},{"line_number":96,"context_line":"        check_str\u003d\"rule:admin or rule:target\"),"}],"source_content_type":"text/x-python","patch_set":29,"id":"9563de0e_50b866f9","line":93,"in_reply_to":"5e117c9d_a5ec8b5e","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":20,"context_line":"The designate API now supports system scope and default roles."},{"line_number":21,"context_line":"\"\"\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"RULE_ADMIN_OR_OWNER \u003d \u0027rule:admin_or_owner\u0027"},{"line_number":24,"context_line":"RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED \u003d \u0027rule:admin_or_owner_or_zone_shared\u0027"},{"line_number":25,"context_line":"RULE_ADMIN \u003d \u0027rule:admin\u0027"},{"line_number":26,"context_line":"RULE_ZONE_PRIMARY_OR_ADMIN \u003d \\"}],"source_content_type":"text/x-python","patch_set":30,"id":"622b1b06_1c4fd12b","line":23,"updated":"2022-10-14 23:27:18.000000000","message":"All of these except for the \"SHARED\" rule have been removed in https://review.opendev.org/c/openstack/designate/+/800727\n\nThis is a bad rebase.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"115364f2944392cf4de96f4c47cdadf30cf639cf","unresolved":false,"context_lines":[{"line_number":20,"context_line":"The designate API now supports system scope and default roles."},{"line_number":21,"context_line":"\"\"\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"RULE_ADMIN_OR_OWNER \u003d \u0027rule:admin_or_owner\u0027"},{"line_number":24,"context_line":"RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED \u003d \u0027rule:admin_or_owner_or_zone_shared\u0027"},{"line_number":25,"context_line":"RULE_ADMIN \u003d \u0027rule:admin\u0027"},{"line_number":26,"context_line":"RULE_ZONE_PRIMARY_OR_ADMIN \u003d \\"}],"source_content_type":"text/x-python","patch_set":30,"id":"9dfe2ff2_afe8541b","line":23,"in_reply_to":"622b1b06_1c4fd12b","updated":"2022-12-06 23:49:52.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":114,"context_line":"        name\u003d\"default\","},{"line_number":115,"context_line":"        check_str\u003dSYSTEM_ADMIN_OR_PROJECT_MEMBER,"},{"line_number":116,"context_line":"        deprecated_rule\u003ddeprecated_default),"},{"line_number":117,"context_line":"    policy.RuleDefault("},{"line_number":118,"context_line":"        name\u003d\"target\","},{"line_number":119,"context_line":"        check_str\u003d\"tenant:%(target_tenant_id)s\"),"},{"line_number":120,"context_line":"    policy.RuleDefault("}],"source_content_type":"text/x-python","patch_set":30,"id":"2ad28519_b15d9471","line":117,"updated":"2022-10-14 23:27:18.000000000","message":"This is a bad rebase. All of these (except for the shared policy) were removed in https://review.opendev.org/c/openstack/designate/+/800727","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"115364f2944392cf4de96f4c47cdadf30cf639cf","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        name\u003d\"default\","},{"line_number":115,"context_line":"        check_str\u003dSYSTEM_ADMIN_OR_PROJECT_MEMBER,"},{"line_number":116,"context_line":"        deprecated_rule\u003ddeprecated_default),"},{"line_number":117,"context_line":"    policy.RuleDefault("},{"line_number":118,"context_line":"        name\u003d\"target\","},{"line_number":119,"context_line":"        check_str\u003d\"tenant:%(target_tenant_id)s\"),"},{"line_number":120,"context_line":"    policy.RuleDefault("}],"source_content_type":"text/x-python","patch_set":30,"id":"61a835ae_a1452ed4","line":117,"in_reply_to":"2ad28519_b15d9471","updated":"2022-12-06 23:49:52.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1ea49382f574596ae435d66093ad5059402f20b3","unresolved":true,"context_lines":[{"line_number":21,"context_line":"\"\"\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"RULE_ADMIN_OR_OWNER \u003d \u0027rule:admin_or_owner\u0027"},{"line_number":24,"context_line":"RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED \u003d \u0027rule:admin_or_owner_or_zone_shared\u0027"},{"line_number":25,"context_line":"RULE_ADMIN \u003d \u0027rule:admin\u0027"},{"line_number":26,"context_line":"RULE_ZONE_PRIMARY_OR_ADMIN \u003d \\"},{"line_number":27,"context_line":"    \"(\u0027PRIMARY\u0027:%(zone_type)s and rule:admin_or_owner) \"\\"}],"source_content_type":"text/x-python","patch_set":31,"id":"9bd5c296_0cc8117c","line":24,"updated":"2022-11-28 22:10:35.000000000","message":"This rule does not exist","commit_id":"33c30090c04ebb0a741bf14d81abe1fca8824dd1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"9154c7f985d45b7fd509b71e24a1bcc8123909c2","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\"\"\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"RULE_ADMIN_OR_OWNER \u003d \u0027rule:admin_or_owner\u0027"},{"line_number":24,"context_line":"RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED \u003d \u0027rule:admin_or_owner_or_zone_shared\u0027"},{"line_number":25,"context_line":"RULE_ADMIN \u003d \u0027rule:admin\u0027"},{"line_number":26,"context_line":"RULE_ZONE_PRIMARY_OR_ADMIN \u003d \\"},{"line_number":27,"context_line":"    \"(\u0027PRIMARY\u0027:%(zone_type)s and rule:admin_or_owner) \"\\"}],"source_content_type":"text/x-python","patch_set":31,"id":"a30b0e52_31bddf2d","line":24,"in_reply_to":"9bd5c296_0cc8117c","updated":"2022-12-09 01:17:39.000000000","message":"Done","commit_id":"33c30090c04ebb0a741bf14d81abe1fca8824dd1"}],"designate/common/policies/recordset.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"46e0346407ba682882fd20ec52ceebca4f9913f2","unresolved":true,"context_lines":[{"line_number":85,"context_line":"    ),"},{"line_number":86,"context_line":"    policy.RuleDefault("},{"line_number":87,"context_line":"        name\u003d\"get_recordsets\","},{"line_number":88,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED,"},{"line_number":89,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":90,"context_line":"        deprecated_rule\u003ddeprecated_get_recordsets,"},{"line_number":91,"context_line":"        deprecated_reason\u003dDEPRECATED_REASON,"}],"source_content_type":"text/x-python","patch_set":29,"id":"2665d806_819cf6a7","line":88,"updated":"2021-04-30 19:19:37.000000000","message":"This reverts the \"secure RBAC\" changes.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    ),"},{"line_number":86,"context_line":"    policy.RuleDefault("},{"line_number":87,"context_line":"        name\u003d\"get_recordsets\","},{"line_number":88,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED,"},{"line_number":89,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":90,"context_line":"        deprecated_rule\u003ddeprecated_get_recordsets,"},{"line_number":91,"context_line":"        deprecated_reason\u003dDEPRECATED_REASON,"}],"source_content_type":"text/x-python","patch_set":29,"id":"9af8969c_16960030","line":88,"in_reply_to":"2665d806_819cf6a7","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"46e0346407ba682882fd20ec52ceebca4f9913f2","unresolved":true,"context_lines":[{"line_number":93,"context_line":"    ),"},{"line_number":94,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":95,"context_line":"        name\u003d\"get_recordset\","},{"line_number":96,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED,"},{"line_number":97,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":98,"context_line":"        description\u003d\"Get recordset\","},{"line_number":99,"context_line":"        operations\u003d["}],"source_content_type":"text/x-python","patch_set":29,"id":"8479aa41_50ab3866","line":96,"updated":"2021-04-30 19:19:37.000000000","message":"This reverts the \"secure RBAC\" changes.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    ),"},{"line_number":94,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":95,"context_line":"        name\u003d\"get_recordset\","},{"line_number":96,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED,"},{"line_number":97,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":98,"context_line":"        description\u003d\"Get recordset\","},{"line_number":99,"context_line":"        operations\u003d["}],"source_content_type":"text/x-python","patch_set":29,"id":"7be74a37_ffe46ca8","line":96,"in_reply_to":"8479aa41_50ab3866","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"46e0346407ba682882fd20ec52ceebca4f9913f2","unresolved":true,"context_lines":[{"line_number":147,"context_line":"    ),"},{"line_number":148,"context_line":"    policy.RuleDefault("},{"line_number":149,"context_line":"        name\u003d\"count_recordset\","},{"line_number":150,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED,"},{"line_number":151,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":152,"context_line":"        description\u003d\"Count recordsets\","},{"line_number":153,"context_line":"        deprecated_rule\u003ddeprecated_count_recordset,"}],"source_content_type":"text/x-python","patch_set":29,"id":"1d212158_61e48d74","line":150,"updated":"2021-04-30 19:19:37.000000000","message":"This reverts the \"secure RBAC\" changes.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    ),"},{"line_number":148,"context_line":"    policy.RuleDefault("},{"line_number":149,"context_line":"        name\u003d\"count_recordset\","},{"line_number":150,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED,"},{"line_number":151,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":152,"context_line":"        description\u003d\"Count recordsets\","},{"line_number":153,"context_line":"        deprecated_rule\u003ddeprecated_count_recordset,"}],"source_content_type":"text/x-python","patch_set":29,"id":"43a86e55_f1457357","line":150,"in_reply_to":"1d212158_61e48d74","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"46e0346407ba682882fd20ec52ceebca4f9913f2","unresolved":true,"context_lines":[{"line_number":156,"context_line":"    ),"},{"line_number":157,"context_line":"    policy.RuleDefault("},{"line_number":158,"context_line":"        name\u003d\"find_recordset\","},{"line_number":159,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED,"},{"line_number":160,"context_line":"        description\u003d\"Find recordsets\""},{"line_number":161,"context_line":"    )"},{"line_number":162,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":29,"id":"e84d059c_5ffc87f1","line":159,"updated":"2021-04-30 19:19:37.000000000","message":"This is not compatible with the \"secure RBAC\" changes","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    ),"},{"line_number":157,"context_line":"    policy.RuleDefault("},{"line_number":158,"context_line":"        name\u003d\"find_recordset\","},{"line_number":159,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED,"},{"line_number":160,"context_line":"        description\u003d\"Find recordsets\""},{"line_number":161,"context_line":"    )"},{"line_number":162,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":29,"id":"34e1feba_0bf9dd7e","line":159,"in_reply_to":"e84d059c_5ffc87f1","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":178,"context_line":"        check_str\u003dbase.SYSTEM_OR_PROJECT_READER,"},{"line_number":179,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":180,"context_line":"        description\u003d\"Count recordsets\","},{"line_number":181,"context_line":"        deprecated_rule\u003ddeprecated_count_recordset,"},{"line_number":182,"context_line":"        deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":183,"context_line":"        deprecated_since\u003dversionutils.deprecated.WALLABY"},{"line_number":184,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":30,"id":"755f784e_99bbfb9a","line":181,"updated":"2022-10-14 23:27:18.000000000","message":"This is a bad rebase. These are above on line 76","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"115364f2944392cf4de96f4c47cdadf30cf639cf","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        check_str\u003dbase.SYSTEM_OR_PROJECT_READER,"},{"line_number":179,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":180,"context_line":"        description\u003d\"Count recordsets\","},{"line_number":181,"context_line":"        deprecated_rule\u003ddeprecated_count_recordset,"},{"line_number":182,"context_line":"        deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":183,"context_line":"        deprecated_since\u003dversionutils.deprecated.WALLABY"},{"line_number":184,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":30,"id":"8a999f39_47a3a786","line":181,"in_reply_to":"755f784e_99bbfb9a","updated":"2022-12-06 23:49:52.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"}],"designate/common/policies/shared_zones.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"46e0346407ba682882fd20ec52ceebca4f9913f2","unresolved":true,"context_lines":[{"line_number":20,"context_line":"rules \u003d ["},{"line_number":21,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":22,"context_line":"        name\u003d\"get_shared_zone\","},{"line_number":23,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":24,"context_line":"        description\u003d\"Get Shared Zone\","},{"line_number":25,"context_line":"        operations\u003d["},{"line_number":26,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":29,"id":"1e967d50_676be80d","line":23,"updated":"2021-04-30 19:19:37.000000000","message":"The \"secure RBAC\" changes have deprecated this rule.\nSee the changes that were made here:\nhttps://github.com/openstack/designate/commit/0c952e4a74d6dd9cd3f5c49aa32b4d27112e51ae#diff-a42a2e40923d40ab6690400086b24a0572d9866ee9c33f10f30de5384ee2176aL34","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":20,"context_line":"rules \u003d ["},{"line_number":21,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":22,"context_line":"        name\u003d\"get_shared_zone\","},{"line_number":23,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":24,"context_line":"        description\u003d\"Get Shared Zone\","},{"line_number":25,"context_line":"        operations\u003d["},{"line_number":26,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":29,"id":"112aaa77_b7959338","line":23,"in_reply_to":"0fe5295a_728a185d","updated":"2022-10-14 23:27:18.000000000","message":"The test is probably incorrect as well.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"9154c7f985d45b7fd509b71e24a1bcc8123909c2","unresolved":false,"context_lines":[{"line_number":20,"context_line":"rules \u003d ["},{"line_number":21,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":22,"context_line":"        name\u003d\"get_shared_zone\","},{"line_number":23,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":24,"context_line":"        description\u003d\"Get Shared Zone\","},{"line_number":25,"context_line":"        operations\u003d["},{"line_number":26,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":29,"id":"0505bf11_b347e369","line":23,"in_reply_to":"112aaa77_b7959338","updated":"2022-12-09 01:17:39.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":true,"context_lines":[{"line_number":20,"context_line":"rules \u003d ["},{"line_number":21,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":22,"context_line":"        name\u003d\"get_shared_zone\","},{"line_number":23,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":24,"context_line":"        description\u003d\"Get Shared Zone\","},{"line_number":25,"context_line":"        operations\u003d["},{"line_number":26,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":29,"id":"0fe5295a_728a185d","line":23,"in_reply_to":"1e967d50_676be80d","updated":"2022-10-01 13:38:43.000000000","message":"When updating to SYSTEM_OR_PROJECT_READER, leads to an error \"Policy check failed for rule [name] for target ...\" any hints on what I need to understand to resolve ?","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"46e0346407ba682882fd20ec52ceebca4f9913f2","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    ),"},{"line_number":32,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":33,"context_line":"        name\u003d\"share_zone\","},{"line_number":34,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":35,"context_line":"        description\u003d\"Share Zone\","},{"line_number":36,"context_line":"        operations\u003d["},{"line_number":37,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":29,"id":"f8d5ac0a_17674307","line":34,"updated":"2021-04-30 19:19:37.000000000","message":"Same, this will need to be updated.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7afdc298d981396357b09e026162d3ee9f9571a8","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    ),"},{"line_number":32,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":33,"context_line":"        name\u003d\"share_zone\","},{"line_number":34,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":35,"context_line":"        description\u003d\"Share Zone\","},{"line_number":36,"context_line":"        operations\u003d["},{"line_number":37,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":29,"id":"723b5d80_5b6d345f","line":34,"in_reply_to":"aa2acd8d_0d89a62a","updated":"2022-12-02 00:37:29.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    ),"},{"line_number":32,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":33,"context_line":"        name\u003d\"share_zone\","},{"line_number":34,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":35,"context_line":"        description\u003d\"Share Zone\","},{"line_number":36,"context_line":"        operations\u003d["},{"line_number":37,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":29,"id":"aa2acd8d_0d89a62a","line":34,"in_reply_to":"f8d5ac0a_17674307","updated":"2022-10-01 13:38:43.000000000","message":"same as above","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"46e0346407ba682882fd20ec52ceebca4f9913f2","unresolved":true,"context_lines":[{"line_number":42,"context_line":"    ),"},{"line_number":43,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":44,"context_line":"        name\u003d\"find_shared_zones\","},{"line_number":45,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":46,"context_line":"        description\u003d\"List Shared Zones\","},{"line_number":47,"context_line":"        operations\u003d["},{"line_number":48,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":29,"id":"ece5ba84_14dd51a0","line":45,"updated":"2021-04-30 19:19:37.000000000","message":"Same, this will need to be updated.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7afdc298d981396357b09e026162d3ee9f9571a8","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    ),"},{"line_number":43,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":44,"context_line":"        name\u003d\"find_shared_zones\","},{"line_number":45,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":46,"context_line":"        description\u003d\"List Shared Zones\","},{"line_number":47,"context_line":"        operations\u003d["},{"line_number":48,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":29,"id":"538004ce_58a6b18e","line":45,"in_reply_to":"9c6fe2a1_216971ba","updated":"2022-12-02 00:37:29.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":true,"context_lines":[{"line_number":42,"context_line":"    ),"},{"line_number":43,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":44,"context_line":"        name\u003d\"find_shared_zones\","},{"line_number":45,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":46,"context_line":"        description\u003d\"List Shared Zones\","},{"line_number":47,"context_line":"        operations\u003d["},{"line_number":48,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":29,"id":"9c6fe2a1_216971ba","line":45,"in_reply_to":"ece5ba84_14dd51a0","updated":"2022-10-01 13:38:43.000000000","message":"same as above","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"46e0346407ba682882fd20ec52ceebca4f9913f2","unresolved":true,"context_lines":[{"line_number":53,"context_line":"    ),"},{"line_number":54,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":55,"context_line":"        name\u003d\"unshare_zone\","},{"line_number":56,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":57,"context_line":"        description\u003d\"Unshare Zone\","},{"line_number":58,"context_line":"        operations\u003d["},{"line_number":59,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":29,"id":"6cc5e425_667dba0e","line":56,"updated":"2021-04-30 19:19:37.000000000","message":"Same, this will need to be updated.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":true,"context_lines":[{"line_number":53,"context_line":"    ),"},{"line_number":54,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":55,"context_line":"        name\u003d\"unshare_zone\","},{"line_number":56,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":57,"context_line":"        description\u003d\"Unshare Zone\","},{"line_number":58,"context_line":"        operations\u003d["},{"line_number":59,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":29,"id":"ba10a0a2_a47f54c9","line":56,"in_reply_to":"6cc5e425_667dba0e","updated":"2022-10-01 13:38:43.000000000","message":"same as above","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7afdc298d981396357b09e026162d3ee9f9571a8","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    ),"},{"line_number":54,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":55,"context_line":"        name\u003d\"unshare_zone\","},{"line_number":56,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":57,"context_line":"        description\u003d\"Unshare Zone\","},{"line_number":58,"context_line":"        operations\u003d["},{"line_number":59,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":29,"id":"f640820a_8c5094d3","line":56,"in_reply_to":"ba10a0a2_a47f54c9","updated":"2022-12-02 00:37:29.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"rules \u003d ["},{"line_number":20,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":21,"context_line":"        name\u003d\"get_shared_zone\","},{"line_number":22,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":23,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"}],"source_content_type":"text/x-python","patch_set":30,"id":"5dd8309f_46fe3185","line":20,"updated":"2022-10-14 23:27:18.000000000","message":"This are probably going to need their \"deprecated\" equivalent rules so the oslo.policy \"enforce_new_defaults\" settings will work as expected.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7afdc298d981396357b09e026162d3ee9f9571a8","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"rules \u003d ["},{"line_number":20,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":21,"context_line":"        name\u003d\"get_shared_zone\","},{"line_number":22,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":23,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"}],"source_content_type":"text/x-python","patch_set":30,"id":"689fdf27_971a4ad9","line":20,"in_reply_to":"5dd8309f_46fe3185","updated":"2022-12-02 00:37:29.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"}],"designate/common/policies/zone.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"46e0346407ba682882fd20ec52ceebca4f9913f2","unresolved":true,"context_lines":[{"line_number":102,"context_line":"    ),"},{"line_number":103,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":104,"context_line":"        name\u003d\"get_zone\","},{"line_number":105,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED,"},{"line_number":106,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":107,"context_line":"        description\u003d\"Get Zone\","},{"line_number":108,"context_line":"        operations\u003d["}],"source_content_type":"text/x-python","patch_set":29,"id":"dc2e8739_208270a3","line":105,"updated":"2021-04-30 19:19:37.000000000","message":"This reverts the \"secure RBAC\" changes.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    ),"},{"line_number":103,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":104,"context_line":"        name\u003d\"get_zone\","},{"line_number":105,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER_OR_ZONE_SHARED,"},{"line_number":106,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":107,"context_line":"        description\u003d\"Get Zone\","},{"line_number":108,"context_line":"        operations\u003d["}],"source_content_type":"text/x-python","patch_set":29,"id":"e53478c9_898871a9","line":105,"in_reply_to":"dc2e8739_208270a3","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":124,"context_line":"    ),"},{"line_number":125,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":126,"context_line":"        name\u003d\"get_zone\","},{"line_number":127,"context_line":"        check_str\u003dbase.SYSTEM_ADMIN_OR_PROJECT_MEMBER,"},{"line_number":128,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":129,"context_line":"        description\u003d\"Get Zone\","},{"line_number":130,"context_line":"        operations\u003d["}],"source_content_type":"text/x-python","patch_set":30,"id":"939c29a2_d1811b6a","line":127,"updated":"2022-10-14 23:27:18.000000000","message":"This should not have changed. This is probably from a bad rebase.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"115364f2944392cf4de96f4c47cdadf30cf639cf","unresolved":false,"context_lines":[{"line_number":124,"context_line":"    ),"},{"line_number":125,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":126,"context_line":"        name\u003d\"get_zone\","},{"line_number":127,"context_line":"        check_str\u003dbase.SYSTEM_ADMIN_OR_PROJECT_MEMBER,"},{"line_number":128,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":129,"context_line":"        description\u003d\"Get Zone\","},{"line_number":130,"context_line":"        operations\u003d["}],"source_content_type":"text/x-python","patch_set":30,"id":"3ae8dd36_817d969c","line":127,"in_reply_to":"939c29a2_d1811b6a","updated":"2022-12-06 23:49:52.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"}],"designate/exceptions.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":239,"context_line":""},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"class SharedZoneHasSubZone(DesignateException):"},{"line_number":242,"context_line":"    error_code \u003d 400"},{"line_number":243,"context_line":"    error_type \u003d \u0027shared_zone_has_sub_zone\u0027"},{"line_number":244,"context_line":"    expected \u003d True"},{"line_number":245,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"55ce7368_37d78a7e","line":242,"updated":"2022-10-14 23:27:18.000000000","message":"This should probably be 409 for \"Conflict\"","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fc48cb209b7c9764e356f61f333fd9dba6fe4748","unresolved":false,"context_lines":[{"line_number":239,"context_line":""},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"class SharedZoneHasSubZone(DesignateException):"},{"line_number":242,"context_line":"    error_code \u003d 400"},{"line_number":243,"context_line":"    error_type \u003d \u0027shared_zone_has_sub_zone\u0027"},{"line_number":244,"context_line":"    expected \u003d True"},{"line_number":245,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"272d950f_31602832","line":242,"in_reply_to":"55ce7368_37d78a7e","updated":"2022-11-24 00:31:47.000000000","message":"I see that the above exception is already using 400, so ignore this comment.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"class SharedZoneHasRecordSets(DesignateException):"},{"line_number":248,"context_line":"    error_code \u003d 400"},{"line_number":249,"context_line":"    error_type \u003d \u0027shared_zone_has_recordsets\u0027"},{"line_number":250,"context_line":"    expected \u003d True"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"e361a12d_02a66e54","line":248,"updated":"2022-10-14 23:27:18.000000000","message":"This should probably be 409 for \"Conflict\"","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fc48cb209b7c9764e356f61f333fd9dba6fe4748","unresolved":false,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"class SharedZoneHasRecordSets(DesignateException):"},{"line_number":248,"context_line":"    error_code \u003d 400"},{"line_number":249,"context_line":"    error_type \u003d \u0027shared_zone_has_recordsets\u0027"},{"line_number":250,"context_line":"    expected \u003d True"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"e7f65922_0afab34f","line":248,"in_reply_to":"e361a12d_02a66e54","updated":"2022-11-24 00:31:47.000000000","message":"Ignore this one too.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"}],"designate/objects/adapters/api_v2/shared_zone.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ab83d7e896d5749fd00c54f641748e787609d3b3","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        if obj[\u0027zone_id\u0027] is not None:"},{"line_number":54,"context_line":"            obj[\u0027links\u0027][\u0027zone\u0027] \u003d \\"},{"line_number":55,"context_line":"                \u0027%s/v2/%s/%s\u0027 % (cls.BASE_URI, \u0027zones\u0027, obj[\u0027zone_id\u0027])"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        return obj"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_3338b6ec","line":55,"updated":"2020-08-21 09:45:54.000000000","message":"This seems broken, when I test this, I get:\n\n| links             | {\u0027self\u0027: \u0027https://10.242.42.218/dns/v2/zones/share/9750e5c2-8aba-4003-a2dd-74a33051a106\u0027, \u0027zone\u0027: \u0027http://127.0.0.1:9001/v2/zones/5e1648ba-8349-4b13-9f0f-62c0f3c89825\u0027} |","commit_id":"7ead9fdbff890d37eb5e5d9b7f4a0cb11b972788"},{"author":{"_account_id":14232,"name":"Igor Malinovskiy","email":"u.glide@gmail.com","username":"imalinovskiy"},"change_message_id":"e7d9c62f3cd26dc0131378e0434163dc2372ef67","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        if obj[\u0027zone_id\u0027] is not None:"},{"line_number":54,"context_line":"            obj[\u0027links\u0027][\u0027zone\u0027] \u003d \\"},{"line_number":55,"context_line":"                \u0027%s/v2/%s/%s\u0027 % (cls.BASE_URI, \u0027zones\u0027, obj[\u0027zone_id\u0027])"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        return obj"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_f68502d1","line":55,"in_reply_to":"9f560f44_3338b6ec","updated":"2020-08-31 07:48:56.000000000","message":"Why does it seem broken?\n\nself - link to shared zone object\nzone - link to zone object","commit_id":"7ead9fdbff890d37eb5e5d9b7f4a0cb11b972788"},{"author":{"_account_id":14232,"name":"Igor Malinovskiy","email":"u.glide@gmail.com","username":"imalinovskiy"},"change_message_id":"e179b441f503396f4f2b6cdad67a05ca50bdf982","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        if obj[\u0027zone_id\u0027] is not None:"},{"line_number":54,"context_line":"            obj[\u0027links\u0027][\u0027zone\u0027] \u003d \\"},{"line_number":55,"context_line":"                \u0027%s/v2/%s/%s\u0027 % (cls.BASE_URI, \u0027zones\u0027, obj[\u0027zone_id\u0027])"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        return obj"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_163996f1","line":55,"in_reply_to":"9f560f44_76f8d248","updated":"2020-08-31 07:59:53.000000000","message":"Looks like it\u0027s a bug which affects multiple API endpoints:\nhttps://github.com/openstack/designate/blob/056ceb7f4ba4a4b86fe212aa31a7506ac1b27f20/designate/objects/adapters/api_v2/floating_ip.py#L55\nhttps://github.com/openstack/designate/blob/056ceb7f4ba4a4b86fe212aa31a7506ac1b27f20/designate/objects/adapters/api_v2/service_status.py#L48\nhttps://github.com/openstack/designate/blob/056ceb7f4ba4a4b86fe212aa31a7506ac1b27f20/designate/objects/adapters/api_v2/zone_import.py#L52\nhttps://github.com/openstack/designate/blob/056ceb7f4ba4a4b86fe212aa31a7506ac1b27f20/designate/objects/adapters/api_v2/zone_transfer_accept.py#L53\n\nI propose to merge this change as is and fix the usage of cls.BASE_URI in separate change.","commit_id":"7ead9fdbff890d37eb5e5d9b7f4a0cb11b972788"},{"author":{"_account_id":14232,"name":"Igor Malinovskiy","email":"u.glide@gmail.com","username":"imalinovskiy"},"change_message_id":"cabe70de01de9ebae65ed326f2fa447e8b4e2136","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        if obj[\u0027zone_id\u0027] is not None:"},{"line_number":54,"context_line":"            obj[\u0027links\u0027][\u0027zone\u0027] \u003d \\"},{"line_number":55,"context_line":"                \u0027%s/v2/%s/%s\u0027 % (cls.BASE_URI, \u0027zones\u0027, obj[\u0027zone_id\u0027])"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        return obj"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_76f8d248","line":55,"in_reply_to":"9f560f44_f68502d1","updated":"2020-08-31 07:53:14.000000000","message":"ah, I see the difference now :)","commit_id":"7ead9fdbff890d37eb5e5d9b7f4a0cb11b972788"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"87b893b5cc0575e569f5cf023ab3416427c15679","unresolved":true,"context_lines":[{"line_number":42,"context_line":"        obj \u003d super(SharedZoneAPIv2Adapter, cls).render_object("},{"line_number":43,"context_line":"            object, *args, **kwargs)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        if obj[\u0027zone_id\u0027] is not None:"},{"line_number":46,"context_line":"            obj[\u0027links\u0027][\u0027self\u0027] \u003d ("},{"line_number":47,"context_line":"                \u0027%s/v2/zones/%s/shares/%s\u0027 % ("},{"line_number":48,"context_line":"                    cls._get_base_url(kwargs[\u0027request\u0027]), obj[\u0027zone_id\u0027],"}],"source_content_type":"text/x-python","patch_set":49,"id":"4ffe2c1b_fe58df2e","line":45,"updated":"2023-02-06 19:11:30.000000000","message":"Would be a little clearer if this identified the parent_zone_id.","commit_id":"cc3882f3ed892bc6d5dea0d4c8c832aac10d28c0"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"954f0fe903a656b5030c49919604c5abbad4b199","unresolved":true,"context_lines":[{"line_number":42,"context_line":"        obj \u003d super(SharedZoneAPIv2Adapter, cls).render_object("},{"line_number":43,"context_line":"            object, *args, **kwargs)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        if obj[\u0027zone_id\u0027] is not None:"},{"line_number":46,"context_line":"            obj[\u0027links\u0027][\u0027self\u0027] \u003d ("},{"line_number":47,"context_line":"                \u0027%s/v2/zones/%s/shares/%s\u0027 % ("},{"line_number":48,"context_line":"                    cls._get_base_url(kwargs[\u0027request\u0027]), obj[\u0027zone_id\u0027],"}],"source_content_type":"text/x-python","patch_set":49,"id":"be549a41_4352a279","line":45,"in_reply_to":"4ffe2c1b_fe58df2e","updated":"2023-02-06 20:08:34.000000000","message":"I don\u0027t think so because \"parent_zone_id\" has a different meaning in Designate already: https://github.com/openstack/designate/blob/master/designate/objects/zone.py#L44","commit_id":"cc3882f3ed892bc6d5dea0d4c8c832aac10d28c0"}],"designate/objects/adapters/api_v2/zone.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a5df1260894dffdee85504ad3fe3728dd1235b01","unresolved":true,"context_lines":[{"line_number":95,"context_line":"        # NOTE(imalinovskiy): Do not show \u0027shared\u0027 attribute for not-shared"},{"line_number":96,"context_line":"        # zones to maintain API compatibility with old clients."},{"line_number":97,"context_line":"        if \u0027shared\u0027 in result and not result.get(\u0027shared\u0027, False):"},{"line_number":98,"context_line":"            result.pop(\"shared\")"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        return result"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"efcbaa21_231216ab","line":98,"updated":"2021-05-06 18:38:33.000000000","message":"We cannot do this, OpenStack does not allow polymorphic APIs.\nThe API results inside a version must be consistent.\nThis should return shared with False if it is not shared.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        # NOTE(imalinovskiy): Do not show \u0027shared\u0027 attribute for not-shared"},{"line_number":96,"context_line":"        # zones to maintain API compatibility with old clients."},{"line_number":97,"context_line":"        if \u0027shared\u0027 in result and not result.get(\u0027shared\u0027, False):"},{"line_number":98,"context_line":"            result.pop(\"shared\")"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        return result"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"47c05bb5_6c22ec13","line":98,"in_reply_to":"efcbaa21_231216ab","updated":"2022-10-01 13:38:43.000000000","message":"deleted","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"}],"designate/objects/shared_zone.py":[{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"87b893b5cc0575e569f5cf023ab3416427c15679","unresolved":true,"context_lines":[{"line_number":19,"context_line":"class SharedZone(base.DictObjectMixin, base.PersistentObjectMixin,"},{"line_number":20,"context_line":"                 base.DesignateObject):"},{"line_number":21,"context_line":"    fields \u003d {"},{"line_number":22,"context_line":"        \u0027zone_id\u0027: fields.UUIDFields(nullable\u003dFalse),"},{"line_number":23,"context_line":"        \u0027project_id\u0027: fields.StringFields(maxLength\u003d36, nullable\u003dFalse),"},{"line_number":24,"context_line":"        \u0027target_project_id\u0027: fields.StringFields(maxLength\u003d36, nullable\u003dFalse),"},{"line_number":25,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":49,"id":"fb965769_d4b917e0","line":22,"updated":"2023-02-06 19:11:30.000000000","message":"Would be a bit clearer if it was parent_zone_id.","commit_id":"cc3882f3ed892bc6d5dea0d4c8c832aac10d28c0"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"954f0fe903a656b5030c49919604c5abbad4b199","unresolved":true,"context_lines":[{"line_number":19,"context_line":"class SharedZone(base.DictObjectMixin, base.PersistentObjectMixin,"},{"line_number":20,"context_line":"                 base.DesignateObject):"},{"line_number":21,"context_line":"    fields \u003d {"},{"line_number":22,"context_line":"        \u0027zone_id\u0027: fields.UUIDFields(nullable\u003dFalse),"},{"line_number":23,"context_line":"        \u0027project_id\u0027: fields.StringFields(maxLength\u003d36, nullable\u003dFalse),"},{"line_number":24,"context_line":"        \u0027target_project_id\u0027: fields.StringFields(maxLength\u003d36, nullable\u003dFalse),"},{"line_number":25,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":49,"id":"5fe5a0da_f7dffe82","line":22,"in_reply_to":"fb965769_d4b917e0","updated":"2023-02-06 20:08:34.000000000","message":"I don\u0027t think so because \"parent_zone_id\" has a different meaning in Designate already: https://github.com/openstack/designate/blob/master/designate/objects/zone.py#L44","commit_id":"cc3882f3ed892bc6d5dea0d4c8c832aac10d28c0"}],"designate/sqlalchemy/base.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":163,"context_line":"                    tenant_condition |\u003d table.c.tenant_id \u003d\u003d None # NOQA"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"                shared_zones_query \u003d ("},{"line_number":166,"context_line":"                    isinstance(query, SelectQueryCls) and"},{"line_number":167,"context_line":"                    \u0027target_tenant_id\u0027 in query.columns or"},{"line_number":168,"context_line":"                    isinstance(query, UpdateQueryCls) and"},{"line_number":169,"context_line":"                    table.name \u003d\u003d \u0027zones\u0027"}],"source_content_type":"text/x-python","patch_set":30,"id":"5a5d7b4f_1fd2b0cb","line":166,"updated":"2022-10-14 23:27:18.000000000","message":"I think instead of inferring the intent, maybe this should be it\u0027s own method/modifier.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"b9a6252f6d3cf3686e9f69d6b1bf254656d63743","unresolved":false,"context_lines":[{"line_number":163,"context_line":"                    tenant_condition |\u003d table.c.tenant_id \u003d\u003d None # NOQA"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"                shared_zones_query \u003d ("},{"line_number":166,"context_line":"                    isinstance(query, SelectQueryCls) and"},{"line_number":167,"context_line":"                    \u0027target_tenant_id\u0027 in query.columns or"},{"line_number":168,"context_line":"                    isinstance(query, UpdateQueryCls) and"},{"line_number":169,"context_line":"                    table.name \u003d\u003d \u0027zones\u0027"}],"source_content_type":"text/x-python","patch_set":30,"id":"7b283c8f_a9890235","line":166,"in_reply_to":"5a5d7b4f_1fd2b0cb","updated":"2023-01-28 03:40:22.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"}],"designate/storage/impl_sqlalchemy/__init__.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a5df1260894dffdee85504ad3fe3728dd1235b01","unresolved":true,"context_lines":[{"line_number":246,"context_line":"            zone.attributes \u003d self._find_zone_attributes("},{"line_number":247,"context_line":"                context, {\u0027zone_id\u0027: zone.id, \"key\": \"!master\"})"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"            zone.shared \u003d self._find_zone_share(context, zone) is not None"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"            zone.obj_reset_changes([\u0027masters\u0027, \u0027attributes\u0027, \u0027shared\u0027])"},{"line_number":252,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"b755a135_6358554d","line":249,"updated":"2021-05-06 18:38:33.000000000","message":"This has a sizable performance penalty implemented this way. It means you are doing an additional database round trip for each zone returned in list.\nPersonally I would have a simply added the shared column to the table so it can be optimally used in queries, but if you don\u0027t want to do that, since you are doing an outer join on the shared_zones table in the above query already, why don\u0027t you materialized this column in the above select statement.\nSomething like:\n(tables.shared_zones.c.target_tenant_id IS NOT NULL) as shared","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"b9a6252f6d3cf3686e9f69d6b1bf254656d63743","unresolved":false,"context_lines":[{"line_number":246,"context_line":"            zone.attributes \u003d self._find_zone_attributes("},{"line_number":247,"context_line":"                context, {\u0027zone_id\u0027: zone.id, \"key\": \"!master\"})"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"            zone.shared \u003d self._find_zone_share(context, zone) is not None"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"            zone.obj_reset_changes([\u0027masters\u0027, \u0027attributes\u0027, \u0027shared\u0027])"},{"line_number":252,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"7614b400_372a73d0","line":249,"in_reply_to":"955d6319_c57f7d03","updated":"2023-01-28 03:40:22.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":true,"context_lines":[{"line_number":246,"context_line":"            zone.attributes \u003d self._find_zone_attributes("},{"line_number":247,"context_line":"                context, {\u0027zone_id\u0027: zone.id, \"key\": \"!master\"})"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"            zone.shared \u003d self._find_zone_share(context, zone) is not None"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"            zone.obj_reset_changes([\u0027masters\u0027, \u0027attributes\u0027, \u0027shared\u0027])"},{"line_number":252,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"f7c28f7c_61d5c2b5","line":249,"in_reply_to":"b755a135_6358554d","updated":"2022-10-01 13:38:43.000000000","message":"I don\u0027t mind adding a shared column and rewriting. Equally I could implement as per your latter suggestion. Which would be best ?","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":246,"context_line":"            zone.attributes \u003d self._find_zone_attributes("},{"line_number":247,"context_line":"                context, {\u0027zone_id\u0027: zone.id, \"key\": \"!master\"})"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"            zone.shared \u003d self._find_zone_share(context, zone) is not None"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"            zone.obj_reset_changes([\u0027masters\u0027, \u0027attributes\u0027, \u0027shared\u0027])"},{"line_number":252,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"955d6319_c57f7d03","line":249,"in_reply_to":"f7c28f7c_61d5c2b5","updated":"2022-10-14 23:27:18.000000000","message":"Probably the second option, adding it to the select.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a5df1260894dffdee85504ad3fe3728dd1235b01","unresolved":true,"context_lines":[{"line_number":313,"context_line":"        )"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"        if zone.shared:"},{"line_number":316,"context_line":"            query \u003d query.where("},{"line_number":317,"context_line":"                tables.zones.c.id \u003d\u003d tables.shared_zones.c.zone_id"},{"line_number":318,"context_line":"            )"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"3205ebae_21e0bdba","line":316,"updated":"2021-05-06 18:38:33.000000000","message":"This code is missing coverage in the unit tests. The branch is not being called in the tests.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":true,"context_lines":[{"line_number":313,"context_line":"        )"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"        if zone.shared:"},{"line_number":316,"context_line":"            query \u003d query.where("},{"line_number":317,"context_line":"                tables.zones.c.id \u003d\u003d tables.shared_zones.c.zone_id"},{"line_number":318,"context_line":"            )"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"cbdf0f58_ad4b05d3","line":316,"in_reply_to":"3205ebae_21e0bdba","updated":"2022-10-01 13:38:43.000000000","message":"Unsure how to test; any ideas ?","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"321f45b850f443dbb2c3648eb0a34e5ec560cc5a","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        )"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"        if zone.shared:"},{"line_number":316,"context_line":"            query \u003d query.where("},{"line_number":317,"context_line":"                tables.zones.c.id \u003d\u003d tables.shared_zones.c.zone_id"},{"line_number":318,"context_line":"            )"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"9690e36c_0424ad67","line":316,"in_reply_to":"43c924e9_ae308bc8","updated":"2023-01-28 21:59:56.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6b96cba277d3d2c5f9da1183fa018535406a0ec4","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        )"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"        if zone.shared:"},{"line_number":316,"context_line":"            query \u003d query.where("},{"line_number":317,"context_line":"                tables.zones.c.id \u003d\u003d tables.shared_zones.c.zone_id"},{"line_number":318,"context_line":"            )"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"c013b808_14e3be76","line":316,"in_reply_to":"43c924e9_ae308bc8","updated":"2023-01-29 00:11:36.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":313,"context_line":"        )"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"        if zone.shared:"},{"line_number":316,"context_line":"            query \u003d query.where("},{"line_number":317,"context_line":"                tables.zones.c.id \u003d\u003d tables.shared_zones.c.zone_id"},{"line_number":318,"context_line":"            )"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"43c924e9_ae308bc8","line":316,"in_reply_to":"cbdf0f58_ad4b05d3","updated":"2022-10-14 23:27:18.000000000","message":"It is probably just going to be another test case where \"zone.shared\" is true.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a5df1260894dffdee85504ad3fe3728dd1235b01","unresolved":true,"context_lines":[{"line_number":452,"context_line":"        query \u003d None"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"        if zone.shared:"},{"line_number":455,"context_line":"            query \u003d ("},{"line_number":456,"context_line":"                tables.zones.update()"},{"line_number":457,"context_line":"                .where(tables.zones.c.id \u003d\u003d zone.id)"},{"line_number":458,"context_line":"                .where("}],"source_content_type":"text/x-python","patch_set":29,"id":"13b6606c_8489f7c6","line":455,"updated":"2021-05-06 18:38:33.000000000","message":"This code is missing unit test coverage.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":452,"context_line":"        query \u003d None"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"        if zone.shared:"},{"line_number":455,"context_line":"            query \u003d ("},{"line_number":456,"context_line":"                tables.zones.update()"},{"line_number":457,"context_line":"                .where(tables.zones.c.id \u003d\u003d zone.id)"},{"line_number":458,"context_line":"                .where("}],"source_content_type":"text/x-python","patch_set":29,"id":"a8b678a0_aa1273ad","line":455,"in_reply_to":"13b6606c_8489f7c6","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a5df1260894dffdee85504ad3fe3728dd1235b01","unresolved":true,"context_lines":[{"line_number":759,"context_line":"        zone \u003d self._find_zones(context, {\u0027id\u0027: zone_id}, one\u003dTrue)"},{"line_number":760,"context_line":""},{"line_number":761,"context_line":"        if zone.shared:"},{"line_number":762,"context_line":"            recordset.tenant_id \u003d context.project_id"},{"line_number":763,"context_line":"        else:"},{"line_number":764,"context_line":"            recordset.tenant_id \u003d zone.tenant_id"},{"line_number":765,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"dd252d87_caa39add","line":762,"updated":"2021-05-06 18:38:33.000000000","message":"This code is missing test coverage.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":759,"context_line":"        zone \u003d self._find_zones(context, {\u0027id\u0027: zone_id}, one\u003dTrue)"},{"line_number":760,"context_line":""},{"line_number":761,"context_line":"        if zone.shared:"},{"line_number":762,"context_line":"            recordset.tenant_id \u003d context.project_id"},{"line_number":763,"context_line":"        else:"},{"line_number":764,"context_line":"            recordset.tenant_id \u003d zone.tenant_id"},{"line_number":765,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"6b1a693c_0a158bee","line":762,"in_reply_to":"dd252d87_caa39add","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a5df1260894dffdee85504ad3fe3728dd1235b01","unresolved":true,"context_lines":[{"line_number":917,"context_line":"        zone \u003d self._find_zones(context, {\u0027id\u0027: zone_id}, one\u003dTrue)"},{"line_number":918,"context_line":""},{"line_number":919,"context_line":"        if zone.shared:"},{"line_number":920,"context_line":"            record.tenant_id \u003d context.project_id"},{"line_number":921,"context_line":"        else:"},{"line_number":922,"context_line":"            record.tenant_id \u003d zone.tenant_id"},{"line_number":923,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"775547e5_4e3973ac","line":920,"updated":"2021-05-06 18:38:33.000000000","message":"This code is missing test coverage.","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":917,"context_line":"        zone \u003d self._find_zones(context, {\u0027id\u0027: zone_id}, one\u003dTrue)"},{"line_number":918,"context_line":""},{"line_number":919,"context_line":"        if zone.shared:"},{"line_number":920,"context_line":"            record.tenant_id \u003d context.project_id"},{"line_number":921,"context_line":"        else:"},{"line_number":922,"context_line":"            record.tenant_id \u003d zone.tenant_id"},{"line_number":923,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"58daf333_ef369758","line":920,"in_reply_to":"775547e5_4e3973ac","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"171c2f846fd6c0f6cd14ed7815b9891089569a64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":454,"context_line":"                tables.zones.update()"},{"line_number":455,"context_line":"                .where(tables.zones.c.id \u003d\u003d zone.id)"},{"line_number":456,"context_line":"                .where("},{"line_number":457,"context_line":"                    tables.zones.c.id \u003d\u003d tables.shared_zones.c.zone_id"},{"line_number":458,"context_line":"                )"},{"line_number":459,"context_line":"            )"},{"line_number":460,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"d5b8b491_bc6166fc","line":457,"updated":"2022-10-14 23:27:18.000000000","message":"Why is this AND criteria needed?","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6b96cba277d3d2c5f9da1183fa018535406a0ec4","unresolved":false,"context_lines":[{"line_number":454,"context_line":"                tables.zones.update()"},{"line_number":455,"context_line":"                .where(tables.zones.c.id \u003d\u003d zone.id)"},{"line_number":456,"context_line":"                .where("},{"line_number":457,"context_line":"                    tables.zones.c.id \u003d\u003d tables.shared_zones.c.zone_id"},{"line_number":458,"context_line":"                )"},{"line_number":459,"context_line":"            )"},{"line_number":460,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"2fc724f2_46ca601d","line":457,"in_reply_to":"d5b8b491_bc6166fc","updated":"2023-01-29 00:11:36.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"321f45b850f443dbb2c3648eb0a34e5ec560cc5a","unresolved":false,"context_lines":[{"line_number":454,"context_line":"                tables.zones.update()"},{"line_number":455,"context_line":"                .where(tables.zones.c.id \u003d\u003d zone.id)"},{"line_number":456,"context_line":"                .where("},{"line_number":457,"context_line":"                    tables.zones.c.id \u003d\u003d tables.shared_zones.c.zone_id"},{"line_number":458,"context_line":"                )"},{"line_number":459,"context_line":"            )"},{"line_number":460,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"53b83eea_b62486ef","line":457,"in_reply_to":"d5b8b491_bc6166fc","updated":"2023-01-28 21:59:56.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":526,"context_line":"            outerjoin("},{"line_number":527,"context_line":"                tables.zones, tables.shared_zones,"},{"line_number":528,"context_line":"                (tables.zones.c.id \u003d\u003d tables.shared_zones.c.zone_id) \u0026"},{"line_number":529,"context_line":"                (tables.shared_zones.c.target_tenant_id \u003d\u003d context.project_id)"},{"line_number":530,"context_line":"            )"},{"line_number":531,"context_line":"        )"},{"line_number":532,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"95c4ee76_7c1389ee","line":529,"updated":"2022-10-14 23:27:18.000000000","message":"This implies that zones shared with the project will count against the project quota. Is that really what we want here?","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6b96cba277d3d2c5f9da1183fa018535406a0ec4","unresolved":false,"context_lines":[{"line_number":526,"context_line":"            outerjoin("},{"line_number":527,"context_line":"                tables.zones, tables.shared_zones,"},{"line_number":528,"context_line":"                (tables.zones.c.id \u003d\u003d tables.shared_zones.c.zone_id) \u0026"},{"line_number":529,"context_line":"                (tables.shared_zones.c.target_tenant_id \u003d\u003d context.project_id)"},{"line_number":530,"context_line":"            )"},{"line_number":531,"context_line":"        )"},{"line_number":532,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"97f3058c_ac0b58ba","line":529,"in_reply_to":"95c4ee76_7c1389ee","updated":"2023-01-29 00:11:36.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"}],"designate/storage/impl_sqlalchemy/alembic/versions/b20189fd288e_shared_zone.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    op.create_table("},{"line_number":37,"context_line":"        \u0027shared_zones\u0027, meta,"},{"line_number":38,"context_line":"        sa.Column(\u0027id\u0027, UUID(), default\u003dutils.generate_uuid, primary_key\u003dTrue),"},{"line_number":39,"context_line":"        sa.Column(\u0027created_at\u0027, sa.DateTime),"},{"line_number":40,"context_line":"        sa.Column(\u0027updated_at\u0027, sa.DateTime),"},{"line_number":41,"context_line":"        sa.Column(\u0027zone_id\u0027, UUID(), nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":30,"id":"f9f57ac0_b562d281","line":38,"updated":"2022-10-14 23:27:18.000000000","message":"UUID() should be just UUID","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fc48cb209b7c9764e356f61f333fd9dba6fe4748","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    op.create_table("},{"line_number":37,"context_line":"        \u0027shared_zones\u0027, meta,"},{"line_number":38,"context_line":"        sa.Column(\u0027id\u0027, UUID(), default\u003dutils.generate_uuid, primary_key\u003dTrue),"},{"line_number":39,"context_line":"        sa.Column(\u0027created_at\u0027, sa.DateTime),"},{"line_number":40,"context_line":"        sa.Column(\u0027updated_at\u0027, sa.DateTime),"},{"line_number":41,"context_line":"        sa.Column(\u0027zone_id\u0027, UUID(), nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":30,"id":"36e4f050_1c6ec69d","line":38,"in_reply_to":"f9f57ac0_b562d281","updated":"2022-11-24 00:31:47.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":38,"context_line":"        sa.Column(\u0027id\u0027, UUID(), default\u003dutils.generate_uuid, primary_key\u003dTrue),"},{"line_number":39,"context_line":"        sa.Column(\u0027created_at\u0027, sa.DateTime),"},{"line_number":40,"context_line":"        sa.Column(\u0027updated_at\u0027, sa.DateTime),"},{"line_number":41,"context_line":"        sa.Column(\u0027zone_id\u0027, UUID(), nullable\u003dFalse),"},{"line_number":42,"context_line":"        sa.Column(\u0027tenant_id\u0027, sa.String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":43,"context_line":"        sa.Column(\u0027target_tenant_id\u0027,"},{"line_number":44,"context_line":"                  sa.String(36),"}],"source_content_type":"text/x-python","patch_set":30,"id":"0763120a_01d68723","line":41,"updated":"2022-10-14 23:27:18.000000000","message":"Same here, just UUID","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fc48cb209b7c9764e356f61f333fd9dba6fe4748","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        sa.Column(\u0027id\u0027, UUID(), default\u003dutils.generate_uuid, primary_key\u003dTrue),"},{"line_number":39,"context_line":"        sa.Column(\u0027created_at\u0027, sa.DateTime),"},{"line_number":40,"context_line":"        sa.Column(\u0027updated_at\u0027, sa.DateTime),"},{"line_number":41,"context_line":"        sa.Column(\u0027zone_id\u0027, UUID(), nullable\u003dFalse),"},{"line_number":42,"context_line":"        sa.Column(\u0027tenant_id\u0027, sa.String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":43,"context_line":"        sa.Column(\u0027target_tenant_id\u0027,"},{"line_number":44,"context_line":"                  sa.String(36),"}],"source_content_type":"text/x-python","patch_set":30,"id":"743c36ea_791abf11","line":41,"in_reply_to":"0763120a_01d68723","updated":"2022-11-24 00:31:47.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":39,"context_line":"        sa.Column(\u0027created_at\u0027, sa.DateTime),"},{"line_number":40,"context_line":"        sa.Column(\u0027updated_at\u0027, sa.DateTime),"},{"line_number":41,"context_line":"        sa.Column(\u0027zone_id\u0027, UUID(), nullable\u003dFalse),"},{"line_number":42,"context_line":"        sa.Column(\u0027tenant_id\u0027, sa.String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":43,"context_line":"        sa.Column(\u0027target_tenant_id\u0027,"},{"line_number":44,"context_line":"                  sa.String(36),"},{"line_number":45,"context_line":"                  default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":30,"id":"d68b218f_5ef86e71","line":42,"updated":"2022-10-14 23:27:18.000000000","message":"No need for \"default\u003dNone\" here.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fc48cb209b7c9764e356f61f333fd9dba6fe4748","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        sa.Column(\u0027created_at\u0027, sa.DateTime),"},{"line_number":40,"context_line":"        sa.Column(\u0027updated_at\u0027, sa.DateTime),"},{"line_number":41,"context_line":"        sa.Column(\u0027zone_id\u0027, UUID(), nullable\u003dFalse),"},{"line_number":42,"context_line":"        sa.Column(\u0027tenant_id\u0027, sa.String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":43,"context_line":"        sa.Column(\u0027target_tenant_id\u0027,"},{"line_number":44,"context_line":"                  sa.String(36),"},{"line_number":45,"context_line":"                  default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":30,"id":"822446f5_aa742324","line":42,"in_reply_to":"d68b218f_5ef86e71","updated":"2022-11-24 00:31:47.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":42,"context_line":"        sa.Column(\u0027tenant_id\u0027, sa.String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":43,"context_line":"        sa.Column(\u0027target_tenant_id\u0027,"},{"line_number":44,"context_line":"                  sa.String(36),"},{"line_number":45,"context_line":"                  default\u003dNone,"},{"line_number":46,"context_line":"                  nullable\u003dFalse),"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        sa.UniqueConstraint(\u0027zone_id\u0027, \u0027tenant_id\u0027, \u0027target_tenant_id\u0027,"}],"source_content_type":"text/x-python","patch_set":30,"id":"6fffdb92_7b0fef17","line":45,"updated":"2022-10-14 23:27:18.000000000","message":"No need for \"default\u003dNone\" here.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fc48cb209b7c9764e356f61f333fd9dba6fe4748","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        sa.Column(\u0027tenant_id\u0027, sa.String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":43,"context_line":"        sa.Column(\u0027target_tenant_id\u0027,"},{"line_number":44,"context_line":"                  sa.String(36),"},{"line_number":45,"context_line":"                  default\u003dNone,"},{"line_number":46,"context_line":"                  nullable\u003dFalse),"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        sa.UniqueConstraint(\u0027zone_id\u0027, \u0027tenant_id\u0027, \u0027target_tenant_id\u0027,"}],"source_content_type":"text/x-python","patch_set":30,"id":"cafb3745_0d0c0660","line":45,"in_reply_to":"6fffdb92_7b0fef17","updated":"2022-11-24 00:31:47.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":49,"context_line":"                         name\u003d\u0027unique_shared_zone\u0027),"},{"line_number":50,"context_line":"        sa.ForeignKeyConstraint([\u0027zone_id\u0027], [\u0027zones.id\u0027], ondelete\u003d\u0027CASCADE\u0027),"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027,"},{"line_number":53,"context_line":"        mysql_charset\u003d\u0027utf8\u0027"},{"line_number":54,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":30,"id":"72a2f5a4_79afebbb","line":52,"updated":"2022-10-14 23:27:18.000000000","message":"These two lines can be removed.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fc48cb209b7c9764e356f61f333fd9dba6fe4748","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                         name\u003d\u0027unique_shared_zone\u0027),"},{"line_number":50,"context_line":"        sa.ForeignKeyConstraint([\u0027zone_id\u0027], [\u0027zones.id\u0027], ondelete\u003d\u0027CASCADE\u0027),"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027,"},{"line_number":53,"context_line":"        mysql_charset\u003d\u0027utf8\u0027"},{"line_number":54,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":30,"id":"95a0b039_f2e40943","line":52,"in_reply_to":"72a2f5a4_79afebbb","updated":"2022-11-24 00:31:47.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"87b893b5cc0575e569f5cf023ab3416427c15679","unresolved":true,"context_lines":[{"line_number":39,"context_line":"        sa.Column(\u0027created_at\u0027, sa.DateTime),"},{"line_number":40,"context_line":"        sa.Column(\u0027updated_at\u0027, sa.DateTime),"},{"line_number":41,"context_line":"        sa.Column(\u0027zone_id\u0027, UUID, nullable\u003dFalse),"},{"line_number":42,"context_line":"        sa.Column(\u0027project_id\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":43,"context_line":"        sa.Column(\u0027target_project_id\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        sa.UniqueConstraint(\u0027zone_id\u0027, \u0027project_id\u0027, \u0027target_project_id\u0027,"}],"source_content_type":"text/x-python","patch_set":49,"id":"010cdfbf_d4712ca8","line":42,"updated":"2023-02-06 19:11:30.000000000","message":"The zone_id I\u0027m assuming this is a parent zone_id, given the foreign key constraint? To clarify a bit maybe call it a parent_zone_id? Would make it clearer throughout the code when referencing it, i.e. api, etc..","commit_id":"cc3882f3ed892bc6d5dea0d4c8c832aac10d28c0"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"954f0fe903a656b5030c49919604c5abbad4b199","unresolved":true,"context_lines":[{"line_number":39,"context_line":"        sa.Column(\u0027created_at\u0027, sa.DateTime),"},{"line_number":40,"context_line":"        sa.Column(\u0027updated_at\u0027, sa.DateTime),"},{"line_number":41,"context_line":"        sa.Column(\u0027zone_id\u0027, UUID, nullable\u003dFalse),"},{"line_number":42,"context_line":"        sa.Column(\u0027project_id\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":43,"context_line":"        sa.Column(\u0027target_project_id\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        sa.UniqueConstraint(\u0027zone_id\u0027, \u0027project_id\u0027, \u0027target_project_id\u0027,"}],"source_content_type":"text/x-python","patch_set":49,"id":"69fcfbb6_8dda2475","line":42,"in_reply_to":"010cdfbf_d4712ca8","updated":"2023-02-06 20:08:34.000000000","message":"I don\u0027t think so because \"parent_zone_id\" has a different meaning in Designate already: https://github.com/openstack/designate/blob/master/designate/objects/zone.py#L44","commit_id":"cc3882f3ed892bc6d5dea0d4c8c832aac10d28c0"}],"designate/storage/impl_sqlalchemy/tables.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"shared_zones \u003d Table("},{"line_number":187,"context_line":"    \u0027shared_zones\u0027, metadata,"},{"line_number":188,"context_line":"    Column(\u0027id\u0027, UUID(), default\u003dutils.generate_uuid, primary_key\u003dTrue),"},{"line_number":189,"context_line":"    Column(\u0027created_at\u0027, DateTime, default\u003dlambda: timeutils.utcnow()),"},{"line_number":190,"context_line":"    Column(\u0027updated_at\u0027, DateTime, onupdate\u003dlambda: timeutils.utcnow()),"},{"line_number":191,"context_line":"    Column(\u0027zone_id\u0027, UUID, nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":30,"id":"0c150b22_33001b75","line":188,"updated":"2022-10-14 23:27:18.000000000","message":"UUID() -\u003e UUID","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fc48cb209b7c9764e356f61f333fd9dba6fe4748","unresolved":false,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"shared_zones \u003d Table("},{"line_number":187,"context_line":"    \u0027shared_zones\u0027, metadata,"},{"line_number":188,"context_line":"    Column(\u0027id\u0027, UUID(), default\u003dutils.generate_uuid, primary_key\u003dTrue),"},{"line_number":189,"context_line":"    Column(\u0027created_at\u0027, DateTime, default\u003dlambda: timeutils.utcnow()),"},{"line_number":190,"context_line":"    Column(\u0027updated_at\u0027, DateTime, onupdate\u003dlambda: timeutils.utcnow()),"},{"line_number":191,"context_line":"    Column(\u0027zone_id\u0027, UUID, nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":30,"id":"eb0c6296_6b4c5b62","line":188,"in_reply_to":"0c150b22_33001b75","updated":"2022-11-24 00:31:47.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":189,"context_line":"    Column(\u0027created_at\u0027, DateTime, default\u003dlambda: timeutils.utcnow()),"},{"line_number":190,"context_line":"    Column(\u0027updated_at\u0027, DateTime, onupdate\u003dlambda: timeutils.utcnow()),"},{"line_number":191,"context_line":"    Column(\u0027zone_id\u0027, UUID, nullable\u003dFalse),"},{"line_number":192,"context_line":"    Column(\u0027tenant_id\u0027, String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":193,"context_line":"    Column(\u0027target_tenant_id\u0027, String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    UniqueConstraint(\u0027zone_id\u0027, \u0027tenant_id\u0027, \u0027target_tenant_id\u0027,"}],"source_content_type":"text/x-python","patch_set":30,"id":"7ec69cf1_be569e71","line":192,"updated":"2022-10-14 23:27:18.000000000","message":"There should be no need for \"default\u003dNone\" here.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fc48cb209b7c9764e356f61f333fd9dba6fe4748","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    Column(\u0027created_at\u0027, DateTime, default\u003dlambda: timeutils.utcnow()),"},{"line_number":190,"context_line":"    Column(\u0027updated_at\u0027, DateTime, onupdate\u003dlambda: timeutils.utcnow()),"},{"line_number":191,"context_line":"    Column(\u0027zone_id\u0027, UUID, nullable\u003dFalse),"},{"line_number":192,"context_line":"    Column(\u0027tenant_id\u0027, String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":193,"context_line":"    Column(\u0027target_tenant_id\u0027, String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    UniqueConstraint(\u0027zone_id\u0027, \u0027tenant_id\u0027, \u0027target_tenant_id\u0027,"}],"source_content_type":"text/x-python","patch_set":30,"id":"6b2e1b67_0564552f","line":192,"in_reply_to":"7ec69cf1_be569e71","updated":"2022-11-24 00:31:47.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":190,"context_line":"    Column(\u0027updated_at\u0027, DateTime, onupdate\u003dlambda: timeutils.utcnow()),"},{"line_number":191,"context_line":"    Column(\u0027zone_id\u0027, UUID, nullable\u003dFalse),"},{"line_number":192,"context_line":"    Column(\u0027tenant_id\u0027, String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":193,"context_line":"    Column(\u0027target_tenant_id\u0027, String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    UniqueConstraint(\u0027zone_id\u0027, \u0027tenant_id\u0027, \u0027target_tenant_id\u0027,"},{"line_number":196,"context_line":"                     name\u003d\u0027unique_shared_zone\u0027),"}],"source_content_type":"text/x-python","patch_set":30,"id":"df780ed3_d50a7365","line":193,"updated":"2022-10-14 23:27:18.000000000","message":"Same here, There should be no need for \"default\u003dNone\" here.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fc48cb209b7c9764e356f61f333fd9dba6fe4748","unresolved":false,"context_lines":[{"line_number":190,"context_line":"    Column(\u0027updated_at\u0027, DateTime, onupdate\u003dlambda: timeutils.utcnow()),"},{"line_number":191,"context_line":"    Column(\u0027zone_id\u0027, UUID, nullable\u003dFalse),"},{"line_number":192,"context_line":"    Column(\u0027tenant_id\u0027, String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":193,"context_line":"    Column(\u0027target_tenant_id\u0027, String(36), default\u003dNone, nullable\u003dFalse),"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    UniqueConstraint(\u0027zone_id\u0027, \u0027tenant_id\u0027, \u0027target_tenant_id\u0027,"},{"line_number":196,"context_line":"                     name\u003d\u0027unique_shared_zone\u0027),"}],"source_content_type":"text/x-python","patch_set":30,"id":"a5c6472b_da217929","line":193,"in_reply_to":"df780ed3_d50a7365","updated":"2022-11-24 00:31:47.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"87b893b5cc0575e569f5cf023ab3416427c15679","unresolved":true,"context_lines":[{"line_number":188,"context_line":"    Column(\u0027id\u0027, UUID, default\u003dutils.generate_uuid, primary_key\u003dTrue),"},{"line_number":189,"context_line":"    Column(\u0027created_at\u0027, DateTime, default\u003dlambda: timeutils.utcnow()),"},{"line_number":190,"context_line":"    Column(\u0027updated_at\u0027, DateTime, onupdate\u003dlambda: timeutils.utcnow()),"},{"line_number":191,"context_line":"    Column(\u0027zone_id\u0027, UUID, nullable\u003dFalse),"},{"line_number":192,"context_line":"    Column(\u0027project_id\u0027, String(36), nullable\u003dFalse),"},{"line_number":193,"context_line":"    Column(\u0027target_project_id\u0027, String(36), nullable\u003dFalse),"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":49,"id":"0f234336_f28ae3a5","line":191,"updated":"2023-02-06 19:11:30.000000000","message":"The zone_id I\u0027m assuming this is a parent zone_id, given the foreign key constraint? To clarify a bit maybe call it a parent_zone_id? Would make it clearer throughout the code when referencing it, i.e. api, etc..","commit_id":"cc3882f3ed892bc6d5dea0d4c8c832aac10d28c0"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"954f0fe903a656b5030c49919604c5abbad4b199","unresolved":true,"context_lines":[{"line_number":188,"context_line":"    Column(\u0027id\u0027, UUID, default\u003dutils.generate_uuid, primary_key\u003dTrue),"},{"line_number":189,"context_line":"    Column(\u0027created_at\u0027, DateTime, default\u003dlambda: timeutils.utcnow()),"},{"line_number":190,"context_line":"    Column(\u0027updated_at\u0027, DateTime, onupdate\u003dlambda: timeutils.utcnow()),"},{"line_number":191,"context_line":"    Column(\u0027zone_id\u0027, UUID, nullable\u003dFalse),"},{"line_number":192,"context_line":"    Column(\u0027project_id\u0027, String(36), nullable\u003dFalse),"},{"line_number":193,"context_line":"    Column(\u0027target_project_id\u0027, String(36), nullable\u003dFalse),"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":49,"id":"53dc29a5_be723b92","line":191,"in_reply_to":"0f234336_f28ae3a5","updated":"2023-02-06 20:08:34.000000000","message":"I don\u0027t think so because \"parent_zone_id\" has a different meaning in Designate already: https://github.com/openstack/designate/blob/master/designate/objects/zone.py#L44","commit_id":"cc3882f3ed892bc6d5dea0d4c8c832aac10d28c0"}],"designate/tests/__init__.py":[{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"87b893b5cc0575e569f5cf023ab3416427c15679","unresolved":true,"context_lines":[{"line_number":287,"context_line":"        {"},{"line_number":288,"context_line":"            \"target_project_id\": \"target_project_id\","},{"line_number":289,"context_line":"            \"zone_id\": None,"},{"line_number":290,"context_line":"            \"project_id\": \"project_id\","},{"line_number":291,"context_line":"        }"},{"line_number":292,"context_line":"    ]"},{"line_number":293,"context_line":""}],"source_content_type":"text/x-python","patch_set":49,"id":"da5dd571_49d55f6f","line":290,"updated":"2023-02-06 19:11:30.000000000","message":"See naming reference in table definitions.","commit_id":"cc3882f3ed892bc6d5dea0d4c8c832aac10d28c0"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"b46d8c363864309cccb86ce08300be8c0afe03af","unresolved":true,"context_lines":[{"line_number":287,"context_line":"        {"},{"line_number":288,"context_line":"            \"target_project_id\": \"target_project_id\","},{"line_number":289,"context_line":"            \"zone_id\": None,"},{"line_number":290,"context_line":"            \"project_id\": \"project_id\","},{"line_number":291,"context_line":"        }"},{"line_number":292,"context_line":"    ]"},{"line_number":293,"context_line":""}],"source_content_type":"text/x-python","patch_set":49,"id":"5f18cb34_3a9a0079","line":290,"in_reply_to":"0f6ba4c8_dceb136c","updated":"2023-02-07 15:29:21.000000000","message":"Probably mean the zone_id","commit_id":"cc3882f3ed892bc6d5dea0d4c8c832aac10d28c0"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"954f0fe903a656b5030c49919604c5abbad4b199","unresolved":true,"context_lines":[{"line_number":287,"context_line":"        {"},{"line_number":288,"context_line":"            \"target_project_id\": \"target_project_id\","},{"line_number":289,"context_line":"            \"zone_id\": None,"},{"line_number":290,"context_line":"            \"project_id\": \"project_id\","},{"line_number":291,"context_line":"        }"},{"line_number":292,"context_line":"    ]"},{"line_number":293,"context_line":""}],"source_content_type":"text/x-python","patch_set":49,"id":"0f6ba4c8_dceb136c","line":290,"in_reply_to":"da5dd571_49d55f6f","updated":"2023-02-06 20:08:34.000000000","message":"I\u0027m not sure what your comment here means.\nOpenStack is moving to use \"project_id\" instead of \"tenant_id\". Legacy tables in Designate use the \"tenant_id\" term, but since this is a new table and code, I used the new \"project_id\" terminology.","commit_id":"cc3882f3ed892bc6d5dea0d4c8c832aac10d28c0"}],"doc/source/admin/shared-zones.rst":[{"author":{"_account_id":6994,"name":"Michael Chapman","email":"woppin@gmail.com","username":"michaeltchapman"},"change_message_id":"47c42bce7322f956c049d1840f793d286389a83c","unresolved":true,"context_lines":[{"line_number":16,"context_line":"Shared zones"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Shared zones allow to share a particular zone across tenants. This is"},{"line_number":20,"context_line":"useful in cases when records for one zone should be managed by"},{"line_number":21,"context_line":"multiple projects. For example when a Designate zone is assigned to a"},{"line_number":22,"context_line":"shared network in Neutron."}],"source_content_type":"text/x-rst","patch_set":26,"id":"17dacedf_89465837","line":19,"updated":"2021-02-12 05:32:10.000000000","message":"allow to share -\u003e allow sharing","commit_id":"57852954d01e176aa235322e014f5f0d3d90dee3"},{"author":{"_account_id":20104,"name":"Dmitrii Galkin","display_name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","username":"galkindmitrii"},"change_message_id":"2706282302abb8e01e2a692bf72ed9939f8dc218","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Shared zones"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Shared zones allow to share a particular zone across tenants. This is"},{"line_number":20,"context_line":"useful in cases when records for one zone should be managed by"},{"line_number":21,"context_line":"multiple projects. For example when a Designate zone is assigned to a"},{"line_number":22,"context_line":"shared network in Neutron."}],"source_content_type":"text/x-rst","patch_set":26,"id":"440c8e61_1c2a6151","line":19,"in_reply_to":"17dacedf_89465837","updated":"2021-02-23 16:43:27.000000000","message":"Done","commit_id":"57852954d01e176aa235322e014f5f0d3d90dee3"},{"author":{"_account_id":6994,"name":"Michael Chapman","email":"woppin@gmail.com","username":"michaeltchapman"},"change_message_id":"47c42bce7322f956c049d1840f793d286389a83c","unresolved":true,"context_lines":[{"line_number":77,"context_line":"How to list all zones shared to other projects"},{"line_number":78,"context_line":"----------------------------------------------"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"All shared zones owned by current project can be listed with the"},{"line_number":81,"context_line":"`openstack zone share list` command"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":26,"id":"899a5aad_98959bfe","line":80,"updated":"2021-02-12 05:32:10.000000000","message":"by current project -\u003e by the current project","commit_id":"57852954d01e176aa235322e014f5f0d3d90dee3"},{"author":{"_account_id":20104,"name":"Dmitrii Galkin","display_name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","username":"galkindmitrii"},"change_message_id":"2706282302abb8e01e2a692bf72ed9939f8dc218","unresolved":false,"context_lines":[{"line_number":77,"context_line":"How to list all zones shared to other projects"},{"line_number":78,"context_line":"----------------------------------------------"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"All shared zones owned by current project can be listed with the"},{"line_number":81,"context_line":"`openstack zone share list` command"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":26,"id":"5c71f47a_aacb0579","line":80,"in_reply_to":"899a5aad_98959bfe","updated":"2021-02-23 16:43:27.000000000","message":"Done","commit_id":"57852954d01e176aa235322e014f5f0d3d90dee3"},{"author":{"_account_id":6994,"name":"Michael Chapman","email":"woppin@gmail.com","username":"michaeltchapman"},"change_message_id":"47c42bce7322f956c049d1840f793d286389a83c","unresolved":true,"context_lines":[{"line_number":89,"context_line":"    | f3c93de2-dc71-4767-a6d5-803c0f701c36 | 92b2214f-8a57-4ed3-95f0-a64099f3b516 | 356df8e6c7564b5bb107f5de26cdb8ea |"},{"line_number":90,"context_line":"    +--------------------------------------+--------------------------------------+----------------------------------+"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"How to unshare zone"},{"line_number":93,"context_line":"-------------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"To unshare zone owner or admin should use the `openstack zone share"}],"source_content_type":"text/x-rst","patch_set":26,"id":"e4da647d_59353e81","line":92,"updated":"2021-02-12 05:32:10.000000000","message":"unshare zone -\u003e unshare a zone","commit_id":"57852954d01e176aa235322e014f5f0d3d90dee3"},{"author":{"_account_id":20104,"name":"Dmitrii Galkin","display_name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","username":"galkindmitrii"},"change_message_id":"2706282302abb8e01e2a692bf72ed9939f8dc218","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    | f3c93de2-dc71-4767-a6d5-803c0f701c36 | 92b2214f-8a57-4ed3-95f0-a64099f3b516 | 356df8e6c7564b5bb107f5de26cdb8ea |"},{"line_number":90,"context_line":"    +--------------------------------------+--------------------------------------+----------------------------------+"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"How to unshare zone"},{"line_number":93,"context_line":"-------------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"To unshare zone owner or admin should use the `openstack zone share"}],"source_content_type":"text/x-rst","patch_set":26,"id":"49fa0db9_1d3e1bce","line":92,"in_reply_to":"e4da647d_59353e81","updated":"2021-02-23 16:43:27.000000000","message":"Done","commit_id":"57852954d01e176aa235322e014f5f0d3d90dee3"},{"author":{"_account_id":6994,"name":"Michael Chapman","email":"woppin@gmail.com","username":"michaeltchapman"},"change_message_id":"47c42bce7322f956c049d1840f793d286389a83c","unresolved":true,"context_lines":[{"line_number":92,"context_line":"How to unshare zone"},{"line_number":93,"context_line":"-------------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"To unshare zone owner or admin should use the `openstack zone share"},{"line_number":96,"context_line":"delete` command:"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":26,"id":"5b968de2_141a7b80","line":95,"updated":"2021-02-12 05:32:10.000000000","message":"unshare zone -\u003e unshare a zone\n\nowner or admin -\u003e the owner or admin","commit_id":"57852954d01e176aa235322e014f5f0d3d90dee3"},{"author":{"_account_id":20104,"name":"Dmitrii Galkin","display_name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","username":"galkindmitrii"},"change_message_id":"2706282302abb8e01e2a692bf72ed9939f8dc218","unresolved":false,"context_lines":[{"line_number":92,"context_line":"How to unshare zone"},{"line_number":93,"context_line":"-------------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"To unshare zone owner or admin should use the `openstack zone share"},{"line_number":96,"context_line":"delete` command:"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":26,"id":"187982c0_dbc62810","line":95,"in_reply_to":"5b968de2_141a7b80","updated":"2021-02-23 16:43:27.000000000","message":"Done","commit_id":"57852954d01e176aa235322e014f5f0d3d90dee3"},{"author":{"_account_id":35041,"name":"Sergey Drozdov","email":"sergey.drozdov.dev@gmail.com","username":"drozdov"},"change_message_id":"debf6331ccdd9d1db811a639eb0c8450f7dd39f1","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    +--------------------------------------+--------------------------------------+----------------------------------+"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"How to unshare a zone"},{"line_number":93,"context_line":"-------------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"To unshare a zone the owner or admin should use the `openstack zone share"},{"line_number":96,"context_line":"delete` command:"}],"source_content_type":"text/x-rst","patch_set":28,"id":"de9675b1_3601c119","line":93,"in_reply_to":"2be0ad88_6b7de8e2","updated":"2022-10-01 13:38:43.000000000","message":"Done","commit_id":"bc7b0752258af71ed41ef2f807285f8d2a61689a"},{"author":{"_account_id":19298,"name":"Nicolas Bock","email":"nicolas.bock@canonical.com","username":"nicolasbock"},"change_message_id":"8a9e743ff66c68ac1ac08a4bcf30faccbaa48169","unresolved":true,"context_lines":[{"line_number":90,"context_line":"    +--------------------------------------+--------------------------------------+----------------------------------+"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"How to unshare a zone"},{"line_number":93,"context_line":"-------------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"To unshare a zone the owner or admin should use the `openstack zone share"},{"line_number":96,"context_line":"delete` command:"}],"source_content_type":"text/x-rst","patch_set":28,"id":"2be0ad88_6b7de8e2","line":93,"in_reply_to":"aa0297ad_7f824f66","updated":"2021-02-23 21:16:55.000000000","message":"\u003e docs: Title underline too short.\n\nPlease fix.","commit_id":"bc7b0752258af71ed41ef2f807285f8d2a61689a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":30,"id":"ceef433d_0f1d40a8","updated":"2022-10-14 23:27:18.000000000","message":"The policy for this new API includes zone owner, so I think this document should be in the user guide section of the docs instead of the admin guide.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[{"line_number":71,"context_line":"    +--------------------------------------+--------------+---------+------------+--------+--------+--------+"},{"line_number":72,"context_line":"    | id                                   | name         | type    |     serial | status | shared | action |"},{"line_number":73,"context_line":"    +--------------------------------------+--------------+---------+------------+--------+--------+--------+"},{"line_number":74,"context_line":"    | 92b2214f-8a57-4ed3-95f0-a64099f3b516 | example.com. | PRIMARY | 1596186919 | ACTIVE | Yes    | NONE   |"},{"line_number":75,"context_line":"    +--------------------------------------+--------------+---------+------------+--------+--------+--------+"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"How to list all zones shared to other projects"}],"source_content_type":"text/x-rst","patch_set":30,"id":"94a46f7d_c78f14fa","line":74,"updated":"2022-10-14 23:27:18.000000000","message":"As commented in another file, I think the shared column should use \"True\" or \"False\" to be consistent with other services, such as shared networks in neutron.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"}],"etc/designate/policy.yaml.sample":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ede02fa43bb6b33c3a6c0713344080b6c3cde217","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":30,"id":"0f40b8a1_cabf44fa","updated":"2022-10-14 23:27:18.000000000","message":"This file will need to be regenerated after the policy files are updated.","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"dc2658d934f7a315b9aa0864051805ae091ce55f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"430945fb_7d892e19","in_reply_to":"0f40b8a1_cabf44fa","updated":"2023-01-31 00:09:50.000000000","message":"Done","commit_id":"4df28292b77b369fcde34fe0e7e756dd0bbfce0a"}]}
