)]}'
{"id":"openstack%2Fdesignate~1001996","triplet_id":"openstack%2Fdesignate~master~I7b63556942799995d66bb69de33744b0b919c9b7","project":"openstack/designate","branch":"master","attention_set":{},"removed_from_attention_set":{"31664":{"account":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"last_update":"2026-09-17 10:03:19.000000000","reason":"\u003cGERRIT_ACCOUNT_31664\u003e replied on the change","reason_account":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"}},"36710":{"account":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"last_update":"2026-09-18 01:38:20.000000000","reason":"removed on reply"},"22623":{"account":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"last_update":"2026-09-18 01:38:31.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"I7b63556942799995d66bb69de33744b0b919c9b7","subject":"Do not record the creating project on pool create","status":"ABANDONED","created":"2026-08-24 02:06:21.000000000","updated":"2026-09-18 01:38:31.000000000","total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"eb9250afe77469845719be89bae03651be6ea54e","_number":1001996,"virtual_id_number":1001996,"owner":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-08-24 04:05:13.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"rejected":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"all":[{"value":-2,"date":"2026-09-17 10:03:19.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":2},"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":2},"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-24 02:08:31.000000000","updated_by":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"reviewer":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"state":"REVIEWER"},{"updated":"2026-08-24 04:05:13.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-09-16 04:24:54.000000000","updated_by":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"reviewer":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"state":"REVIEWER"}],"messages":[{"id":"a65de6aa40936ee2fd0fec2acb8a85a95044524c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"date":"2026-08-24 02:06:21.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b82a0a8f5d10d588f1c43237005c5d0d1c4a63ff","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 04:05:13.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/74a245e7923c4eb58c9cf1c0e0eeee5a\n\n- designate-bind9-core https://zuul.opendev.org/t/openstack/build/5f21f88e102f4a1cbddb1a007984dc18 : SUCCESS in 37m 00s\n- designate-bind9-with-keystone-default-roles https://zuul.opendev.org/t/openstack/build/2c7ec2f52e7b491e95257c8287780712 : SUCCESS in 36m 22s\n- designate-pdns4-core https://zuul.opendev.org/t/openstack/build/32eaa96a8af64dee8fdbc88eb969ecc4 : SUCCESS in 32m 12s\n- designate-bind9-multipool https://zuul.opendev.org/t/openstack/build/a46d5e37a7dc4515829e1f38ba374097 : SUCCESS in 34m 16s\n- designate-grenade-bind9 https://zuul.opendev.org/t/openstack/build/f4bab756b9894856b1e97917ce8c05b3 : SUCCESS in 1h 09m 56s\n- designate-grenade-pdns4 https://zuul.opendev.org/t/openstack/build/ae24b00a673244a8b947c6310e95b932 : SUCCESS in 47m 06s\n- designate-grenade-bind9-skip-level https://zuul.opendev.org/t/openstack/build/851015de8aaa4d0aba0b43a80ae74ef8 : SUCCESS in 1h 04m 33s\n- designate-grenade-pdns4-skip-level https://zuul.opendev.org/t/openstack/build/5f57db998f4d4ee195aeb02a1fad8c6b : SUCCESS in 1h 09m 15s\n- designate-bind9-core-catalog-zones https://zuul.opendev.org/t/openstack/build/c0b41128fc174be79c3dba42e953b0b8 : SUCCESS in 37m 04s (non-voting)\n- designate-only-ipv6-pdns4 https://zuul.opendev.org/t/openstack/build/030293a341c040f18b5ebe59c10dd5ca : SUCCESS in 41m 19s\n- designate-only-ipv6-bind9 https://zuul.opendev.org/t/openstack/build/b18e3b22ac5b4ab4b3ecaf8e92aa3684 : SUCCESS in 45m 34s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4632d48d7cad4f0ca1cbf24a7784c833 : SUCCESS in 6m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0f5a7b6ca2fc49bfb7e82e5c9b36c3a4 : SUCCESS in 3m 41s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e29b6110c4a84b3992347c94d437c81c : SUCCESS in 3m 22s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f44e74078d5149efbc33bbb87782fe9e : SUCCESS in 4m 56s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/1e3116908cc742bba79449a08e69a3f1 : SUCCESS in 7m 54s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4f5cfcb9981b419092e633028519a40e : SUCCESS in 8m 10s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/16291073686d445fb842044ae3d06402 : SUCCESS in 3m 11s\n- neutron-tempest-plugin-designate-scenario https://zuul.opendev.org/t/openstack/build/a8f6788deb9944c9962634be32993367 : SUCCESS in 30m 12s\n- designate-tox-dnspython-latest https://zuul.opendev.org/t/openstack/build/861cc81bfd014dc38d5df86514c2fc64 : SUCCESS in 6m 06s","accounts_in_message":[],"_revision_number":1},{"id":"04572065f529e0dfb8568e02fed6f83db071a3c0","author":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"date":"2026-09-14 06:51:17.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"ba592d562445ae7dce65637336c537b4b63e7dbd","author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"date":"2026-09-17 10:03:19.000000000","message":"Patch Set 1: Code-Review-2\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"10252ae0883602e800b3b32af6e46d8d83c6acee","author":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"date":"2026-09-18 01:38:20.000000000","message":"Patch Set 1:\n\nThank you for the clear answer - that settles the question the commit message was asking, and I agree the project should not take on review and maintenance overhead for a deprecated API. Abandoning this change as wontfix.\n\nOne small follow-up I would still like to send, if you are open to it. The api-ref currently documents only GET /v2/pools and GET /v2/pools/{pool_id}, so POST, PATCH and DELETE are not mentioned at all, even though they are reachable and return a success response. The deprecation only shows up as a LOG.warning on the server side, which an operator never sees. So today there is no way to learn from the documentation what you just told me here.\n\nI would propose a short api-ref patch that lists the three write methods as deprecated and points at \u0027designate-manage pool update\u0027 as the supported path - no code, docs only. Happy to drop the idea if you would rather the reference stay silent about them.","accounts_in_message":[],"_revision_number":1},{"id":"eb9250afe77469845719be89bae03651be6ea54e","tag":"autogenerated:gerrit:abandon","author":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"date":"2026-09-18 01:38:31.000000000","message":"Abandoned\n\nAbandoning as wontfix per the review - the pool write API is deprecated and should not carry maintenance overhead. See the comment above for a docs-only follow-up I would like to propose.","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"5913eb4251bfd4cf7f847c412b8f92183529dda4","revisions":{"5913eb4251bfd4cf7f847c412b8f92183529dda4":{"kind":"REWORK","_number":1,"created":"2026-08-24 02:06:21.000000000","uploader":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"ref":"refs/changes/96/1001996/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/designate","ref":"refs/changes/96/1001996/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/designate refs/changes/96/1001996/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/designate refs/changes/96/1001996/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/designate refs/changes/96/1001996/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/designate refs/changes/96/1001996/1"}}},"commit":{"parents":[{"commit":"9f82089b2735878966322495beee604c0ffa0e30","subject":"Merge \"Fix newline validation gap in TXT/SPF/NAPTR causing AXFR DoS\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/designate/commit/9f82089b2735878966322495beee604c0ffa0e30"}]}],"author":{"name":"JeongJiho","email":"jiho.jeong@samsung.com","date":"2026-08-24 01:30:29.000000000","tz":540},"committer":{"name":"JeongJiho","email":"jiho.jeong@samsung.com","date":"2026-08-24 02:04:41.000000000","tz":540},"subject":"Do not record the creating project on pool create","message":"Do not record the creating project on pool create\n\nPOST /v2/pools logs a deprecation warning and the api-ref documents only\nthe GET methods, so this is a fix to a path the project has already\ndiscouraged. It is still reachable, still admin-only, and still returns\n200 - and what it returns is a pool that cannot be used, silently. That\nseems worth fixing even on a deprecated path, and it is four lines.\n\ncreate_pool() fills pool.tenant_id from the request context when the\ncaller does not supply one. Storage then filters pools by tenant -\n_apply_tenant_criteria() matches \"tenant_id \u003d\u003d project_id OR tenant_id IS\nNULL\" - so a pool created that way is only visible to the project that\ncreated it. The pool_id_attribute scheduler filter loads the pool with\nthe requester\u0027s context, gets PoolNotFound, returns an empty pool list,\nand the zone create fails with\n\n  NoValidPoolFound: There are no pools that matched your request\n\ndesignate-manage builds its context with no project_id, so tenant_id\ncomes out NULL there and pools created from pools.yaml are visible\neverywhere. The divergence is entirely on the API side.\n\ntenant_id is not load-bearing. Every pool policy - create, find, get,\nupdate, delete - is admin-only, and nothing in the tree authorises\nagainst pools.tenant_id; it is only written in create_pool() and rendered\nby the API adapter, where project_id is marked immutable so a request\ncannot set it either. Removing the assignment does not change who may\nread or modify a pool.\n\nThe alternative would be to not apply tenant criteria to pools at all,\nsince they are an admin resource, which fixes the same problem from the\nother side and also covers pools that already carry a tenant_id. I went\nwith the smaller change, but I do not know which one matches the intended\npool ownership model - happy to switch if the other is preferred, or to\nclose this as wontfix if the answer is that the write methods should not\nbe used at all. In that case I would still like to suggest marking them\ndeprecated in the api-ref, since today there is no way for an operator\nreading the docs to know.\n\ntest_create_pool asserted tenant_id was not None, which encoded the\nbehaviour being removed; it now asserts the opposite. Two tests are\nadded: one that a pool created the way the API creates one carries no\ntenant_id, and one that another project can schedule a zone to such a\npool.\n\nChange-Id: I7b63556942799995d66bb69de33744b0b919c9b7\nCloses-Bug: #2164864\nSigned-off-by: JeongJiho \u003cjiho.jeong@samsung.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/designate/commit/5913eb4251bfd4cf7f847c412b8f92183529dda4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/designate/commit/5913eb4251bfd4cf7f847c412b8f92183529dda4"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":["label:Code-Review\u003dMIN"],"failing_atoms":["label:Code-Review\u003dMAX"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Review-Priority","description":"Review priority","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"-label:Review-Priority\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":[],"failing_atoms":["label:Review-Priority\u003dMIN"],"atom_explanations":{"label:Review-Priority\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
