)]}'
{"id":"openstack%2Fdesignate~1001994","triplet_id":"openstack%2Fdesignate~master~Iba323792cede36a85d2d3d1000c3bf35f19607cd","project":"openstack/designate","branch":"master","attention_set":{"31664":{"account":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"last_update":"2026-09-14 05:49:43.000000000","reason":"Someone else replied on a comment you posted"}},"removed_from_attention_set":{"36710":{"account":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"last_update":"2026-09-14 05:49:43.000000000","reason":"removed on reply"}},"hashtags":[],"change_id":"Iba323792cede36a85d2d3d1000c3bf35f19607cd","subject":"Expire cached pool definitions in the worker","status":"NEW","created":"2026-08-24 01:07:10.000000000","updated":"2026-09-14 07:00:05.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"a1bb9d7f146f3f5b7222038833071433983d7ac4","_number":1001994,"virtual_id_number":1001994,"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-09-14 07:00:05.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":{"all":[{"value":0,"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"]}],"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"]}],"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"]}],"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":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-24 01:10:56.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 02:35:35.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"}],"messages":[{"id":"43317dc2cfa10cc7f4b0d1178c9a407cd0bd08ec","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 01:07:10.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"4c030282077bc90f6b61d4f65c84ae76ee3b1175","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 02:35:35.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/490d6b1e03bc4e2eaa6087285f63254d\n\n- designate-bind9-core https://zuul.opendev.org/t/openstack/build/bc4051f307304f8faf8e97630af3aabf : SUCCESS in 36m 44s\n- designate-bind9-with-keystone-default-roles https://zuul.opendev.org/t/openstack/build/13100a7dd1b346e1ba25598582874d45 : SUCCESS in 44m 08s\n- designate-pdns4-core https://zuul.opendev.org/t/openstack/build/23c7b9418c7c453492946b0f0902bfb9 : SUCCESS in 32m 30s\n- designate-bind9-multipool https://zuul.opendev.org/t/openstack/build/d368e27f1ea14b63a4c368df4e2d189b : SUCCESS in 14m 07s\n- designate-grenade-bind9 https://zuul.opendev.org/t/openstack/build/f06c61010cc24fe797a14a077a773a50 : SUCCESS in 49m 56s\n- designate-grenade-pdns4 https://zuul.opendev.org/t/openstack/build/ee8cea84f46c44c086602b2fba6cdc53 : SUCCESS in 1h 14m 14s\n- designate-grenade-bind9-skip-level https://zuul.opendev.org/t/openstack/build/b6892863fbba4dedb566fb800ac46706 : SUCCESS in 1h 05m 10s\n- designate-grenade-pdns4-skip-level https://zuul.opendev.org/t/openstack/build/f47e2bace5294139809ddf313699b6e4 : SUCCESS in 1h 02m 45s\n- designate-bind9-core-catalog-zones https://zuul.opendev.org/t/openstack/build/7e46ba7ffeb14623b31ba269f8c66ee8 : SUCCESS in 41m 20s (non-voting)\n- designate-only-ipv6-pdns4 https://zuul.opendev.org/t/openstack/build/27296d0c787b45cabc493b67afddccfc : SUCCESS in 29m 19s\n- designate-only-ipv6-bind9 https://zuul.opendev.org/t/openstack/build/d1f9ef2f197e4166a266d9493dc4b4bb : SUCCESS in 39m 58s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/59c336103c464a3ca1af8d93ade3ff8c : SUCCESS in 5m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7ec6dfae59244fd7b9b7ad3f37639e4e : SUCCESS in 2m 17s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e3158a217ae7405b8f246f0932e2871d : SUCCESS in 4m 34s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f9fdeeecf52b40a0ad70042f85696180 : SUCCESS in 3m 43s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/1e8838df65164921b013358425e26f58 : SUCCESS in 5m 17s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d8aca0a848c4468ea617e9dc63e3ac68 : SUCCESS in 8m 32s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7e4c4a3b6cad451f87c473f6225e8be6 : SUCCESS in 6m 10s\n- neutron-tempest-plugin-designate-scenario https://zuul.opendev.org/t/openstack/build/91761f42dc4346f6bc0a46f337d10a4c : SUCCESS in 30m 15s\n- designate-tox-dnspython-latest https://zuul.opendev.org/t/openstack/build/814d68c5f7794e86bdd2e7b73bf1fd06 : SUCCESS in 4m 46s","accounts_in_message":[],"_revision_number":1},{"id":"53c05421671421ea0b99ef7a8d1121019679cf37","author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"date":"2026-09-04 11:32:03.000000000","message":"Patch Set 1: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"ec3491dc42d0021e52e30a5658f7ea0a92fdec66","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"date":"2026-09-14 05:49:16.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"3a2fdc972e7c377f4e7744fd529a2bfbe897ccd0","author":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"date":"2026-09-14 05:49:43.000000000","message":"Patch Set 2:\n\n(1 comment)\n\nThank you for the detailed review, and for reproducing it on devstack - you are right on both counts. The commit message was wrong to describe the cost as one RPC: load_pool() also runs _setup_target_backends(), so patch set 1 rebuilt every target\u0027s backend instance on each zone action.\n\nPatch set 2 keeps the cache and gives it a lifetime instead of removing it. Entries are stored with the monotonic time they were loaded at and reused while younger than [service:worker] pool_cache_ttl, which defaults to 60 seconds. The backend instances hang off the cached pool, so the pdns4 _verify_ssl()/check_pqc_compliance() work you pointed at is reused as well - worth noting that [pqc] check_mode defaults to permissive, so that path is on by default for an https api_endpoint, which makes your point stronger than the commit message allowed for.\n\nIn the steady state a worker now does at most one central RPC and one backend setup per pool per minute, and the extra load is bounded by min(zone action rate, pools x worker processes / ttl), so it can never exceed patch set 1. The cache is lazy, so only pools that actually receive zone actions are loaded. Setting the option to 0 restores the patch set 1 behaviour.\n\nWhat this does not close is the staleness window itself: for up to one TTL, different worker processes can hold different versions of a pool. Having central invalidate the workers\u0027 entry when update_pool() succeeds would remove that, but it needs a fanout cast and a worker RPC API bump, so I kept it out of a bug fix. Happy to do it as a follow-up if you would prefer that shape.\n\nAlso rebased onto current master.","accounts_in_message":[],"_revision_number":2},{"id":"a1bb9d7f146f3f5b7222038833071433983d7ac4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-14 07:00:05.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/01d2587220424f9f86719a6c91fcc03f\n\n- designate-bind9-core https://zuul.opendev.org/t/openstack/build/1dd26ab2485d430fb2a44c18efd0a98e : SUCCESS in 41m 47s\n- designate-bind9-with-keystone-default-roles https://zuul.opendev.org/t/openstack/build/68aa7fa997a445ddade1c00035565ba9 : SUCCESS in 35m 34s\n- designate-pdns4-core https://zuul.opendev.org/t/openstack/build/b942f58029e945598c27f5b5faeb46a9 : SUCCESS in 38m 16s\n- designate-bind9-multipool https://zuul.opendev.org/t/openstack/build/f67152be3f354124a7a42305b0a464be : SUCCESS in 31m 27s\n- designate-grenade-bind9 https://zuul.opendev.org/t/openstack/build/4e7e13e707b14df883e3f521139f081f : SUCCESS in 43m 44s\n- designate-grenade-pdns4 https://zuul.opendev.org/t/openstack/build/fe61a4e1bf6d4ec980d7521b6eeabb57 : SUCCESS in 1h 07m 47s\n- designate-grenade-bind9-skip-level https://zuul.opendev.org/t/openstack/build/467ea6a7a1644b0e92e1908fde774f40 : SUCCESS in 55m 14s\n- designate-grenade-pdns4-skip-level https://zuul.opendev.org/t/openstack/build/b4d205809acc429495d29eef8f799edb : SUCCESS in 44m 51s\n- designate-bind9-core-catalog-zones https://zuul.opendev.org/t/openstack/build/6155f41ded9a41b680b31fede0d6132d : SUCCESS in 43m 12s (non-voting)\n- designate-only-ipv6-pdns4 https://zuul.opendev.org/t/openstack/build/0297d518a8784400a7de9cbbc263351f : SUCCESS in 42m 43s\n- designate-only-ipv6-bind9 https://zuul.opendev.org/t/openstack/build/71e6ee5d8b2b4d8cbaa14c3c11044abb : SUCCESS in 42m 35s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/80f12bf658be45d383cc854771d03b0d : SUCCESS in 6m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a34d844b907b4d79876f30862f598dee : SUCCESS in 1m 57s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b6e45afa6b0b4ae0b8b6fff3dae5bb34 : SUCCESS in 4m 46s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ef029d3dcf754c7d928f693abce2a616 : SUCCESS in 4m 44s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/6c8ce9136f2e4a80abd43e3dd7e6e412 : SUCCESS in 4m 43s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/39c7d691235b457692f1a4d28eab6cfd : SUCCESS in 9m 03s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6255f63fc1224ff692827e94633f53c2 : SUCCESS in 3m 29s\n- neutron-tempest-plugin-designate-scenario https://zuul.opendev.org/t/openstack/build/b46b3df7939846079cc459c10c5b350d : SUCCESS in 30m 07s\n- designate-tox-dnspython-latest https://zuul.opendev.org/t/openstack/build/a00514a37bfa4457b3ec88281d668bb7 : SUCCESS in 6m 08s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"ba50b00c9b2407c36a4c50fd47285d6878ec7edb","revisions":{"15f6bfc08b542c65f4a2b7f1fce8bafe1e1d1ced":{"kind":"REWORK","_number":1,"created":"2026-08-24 01:07:10.000000000","uploader":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"ref":"refs/changes/94/1001994/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/designate","ref":"refs/changes/94/1001994/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/designate refs/changes/94/1001994/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/designate refs/changes/94/1001994/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/designate refs/changes/94/1001994/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/designate refs/changes/94/1001994/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 00:42:24.000000000","tz":540},"committer":{"name":"JeongJiho","email":"jiho.jeong@samsung.com","date":"2026-08-24 01:04:50.000000000","tz":540},"subject":"Do not cache pool definitions in designate-worker","message":"Do not cache pool definitions in designate-worker\n\nService.get_pool() memoised each pool into self.pools_map and nothing\never invalidated that map, so the pool was read from the database exactly\nonce per worker process. Adding a new pool worked - it was a cache miss -\nbut editing an existing one did not take effect until the worker was\nrestarted.\n\nThat contradicts what we document. doc/source/admin/pools.rst says\n\n  Control plane does not need to be restarted after designate-manage pool\n  command changes.\n\nand doc/source/cli/designate-manage.rst describes \"pool update\" as\nupdating \"the running pool config from a YAML file\". Appending a target,\nchanging a nameserver or rotating a pool\u0027s TSIG key are all normal\nruntime operations for a deployment that provisions pools as tenants are\nonboarded, and all of them were silently ignored by the worker.\n\nDrop the cache and read the pool when it is needed. The existing\ntest_get_pool could not catch this because it pre-seeded pools_map and\nreturned the same object for every load; a regression test is added that\nloads a pool, changes it, and asserts the second lookup sees the change.\n\nThe cost is one central RPC per zone action, which is small next to the\nDNS queries and polling a zone action already performs. If that is still\nconsidered too much, a short TTL or invalidating on pool update would\nboth work - I am happy to rework it that way, but the current behaviour\ndoes not match the documentation either way.\n\nChange-Id: Iba323792cede36a85d2d3d1000c3bf35f19607cd\nCloses-Bug: #2164859\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/15f6bfc08b542c65f4a2b7f1fce8bafe1e1d1ced"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/designate/commit/15f6bfc08b542c65f4a2b7f1fce8bafe1e1d1ced"}]},"branch":"refs/heads/master"},"ba50b00c9b2407c36a4c50fd47285d6878ec7edb":{"kind":"REWORK","_number":2,"created":"2026-09-14 05:49:16.000000000","uploader":{"_account_id":36710,"name":"Jeong Jiho","display_name":"jiho","email":"jiho.jeong@samsung.com","username":"jihoJeong"},"ref":"refs/changes/94/1001994/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/designate","ref":"refs/changes/94/1001994/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/designate refs/changes/94/1001994/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/designate refs/changes/94/1001994/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/designate refs/changes/94/1001994/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/designate refs/changes/94/1001994/2"}}},"commit":{"parents":[{"commit":"5190025f184487986da85a79dcaf6c48dad345f8","subject":"Update master for stable/2026.2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/designate/commit/5190025f184487986da85a79dcaf6c48dad345f8"}]}],"author":{"name":"JeongJiho","email":"jiho.jeong@samsung.com","date":"2026-09-14 02:18:12.000000000","tz":540},"committer":{"name":"JeongJiho","email":"jiho.jeong@samsung.com","date":"2026-09-14 05:49:09.000000000","tz":540},"subject":"Expire cached pool definitions in the worker","message":"Expire cached pool definitions in the worker\n\nService.get_pool() memoised each pool into self.pools_map and nothing\never invalidated that map, so a pool was read from the database exactly\nonce per worker process. Adding a new pool worked - it was a cache miss -\nbut editing an existing one did not take effect until the worker was\nrestarted.\n\nThat contradicts what we document. doc/source/admin/pools.rst says\n\n  Control plane does not need to be restarted after designate-manage pool\n  command changes.\n\nand doc/source/cli/designate-manage.rst describes \"pool update\" as\nupdating \"the running pool config from a YAML file\". Appending a target,\nchanging a nameserver or rotating a pool\u0027s TSIG key are all normal\nruntime operations for a deployment that provisions pools as tenants are\nonboarded, and all of them were silently ignored by the worker.\n\nPatch set 1 dropped the cache outright. As pointed out in review, that\nturned pool loading from once per process into once per zone action: a\nsynchronous central RPC plus a fresh backend instance for every target on\nevery create, update and delete. pdns4Backend.__init__ does file I/O and\ncertificate parsing when PQC check mode is enabled, so that cost is real\nand depends on the backend.\n\nKeep the cache and give it a lifetime instead. Each entry is stored with\nthe monotonic time it was loaded at and is reused while it is younger\nthan [service:worker] pool_cache_ttl, which defaults to 60 seconds. A\npool edit is therefore picked up within a minute without a restart, and\nin the steady state a worker still performs at most one central RPC and\none backend setup per pool per minute. Setting the option to 0 loads the\npool on every zone action, which is what patch set 1 did unconditionally.\n\nIn the worst case the extra load is bounded by min(zone action rate,\npools x worker processes / pool_cache_ttl), so it can never exceed what\npatch set 1 did, and a deployment with many pools can raise the TTL. The\ncache is also lazy: only pools that actually receive zone actions are\never loaded, and nothing expires in the background.\n\nHaving central invalidate the workers\u0027 entry when update_pool() succeeds\nwould remove the staleness window altogether, but it needs a fanout cast\nand a worker RPC API bump, so it seems better as a follow-up than folded\ninto a bug fix.\n\nThe existing test_get_pool could not catch the original bug because it\npre-seeded pools_map and returned the same object for every load. Tests\nare added for the three cases that matter: the pool is reused within the\nTTL, it is loaded again once the TTL has passed, and a TTL of 0 disables\nthe cache.\n\nChange-Id: Iba323792cede36a85d2d3d1000c3bf35f19607cd\nCloses-Bug: #2164859\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/ba50b00c9b2407c36a4c50fd47285d6878ec7edb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/designate/commit/ba50b00c9b2407c36a4c50fd47285d6878ec7edb"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"},{"label":"Review-Priority","status":"MAY"}]}],"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":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"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":""}}}]}
