)]}'
{"id":"zuul%2Fnodepool~877310","triplet_id":"zuul%2Fnodepool~master~I786daa20ca428039a44d14b1e389d4d3fd62a735","project":"zuul/nodepool","branch":"master","attention_set":{"28088":{"account":{"_account_id":28088,"name":"Benedikt Löffler","email":"benedikt.loeffler@bmw.de","username":"bloeffler"},"last_update":"2023-03-14 10:19:06.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{"16068":{"account":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"last_update":"2023-03-14 10:20:27.000000000","reason":"\u003cGERRIT_ACCOUNT_16068\u003e replied on the change","reason_account":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"}}},"hashtags":[],"change_id":"I786daa20ca428039a44d14b1e389d4d3fd62a735","subject":"Improve image build checking with many diskimages","status":"NEW","created":"2023-03-13 16:36:57.000000000","updated":"2023-03-14 12:05:36.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"619f523f3c2ea7ea5ad151db29818825cd651484","_number":877310,"virtual_id_number":877310,"owner":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},{"tag":"autogenerated:zuul:check","value":1,"date":"2023-03-14 12:05:36.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":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},{"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":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},{"_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}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2023-03-13 16:45:41.000000000","updated_by":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"reviewer":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"state":"REVIEWER"},{"updated":"2023-03-13 18:27:02.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":"6fd8d42d3e273ba61678cc26e53be7c751e6971e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"date":"2023-03-13 16:36:57.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"aee6763bbe5572e0fb624f41250809b7ab469a78","author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"date":"2023-03-13 16:45:41.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"81b0a086f6d14f401c1943de05d1d57696737aeb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-03-13 18:27:02.000000000","message":"Patch Set 1: Verified-1\n\n(3 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/zuul/buildset/fb8f603ad6734a1ab4c57e553342e733\n\n- opendev-buildset-registry https://zuul.opendev.org/t/zuul/build/b261d360fadf481c809aad79fba0eecc : SUCCESS in 1h 40m 42s\n- nodepool-build-image https://zuul.opendev.org/t/zuul/build/a5d6070382b34d6b90f2d3aaf20312b4 : SUCCESS in 53m 55s\n- zuul-nox-docs https://zuul.opendev.org/t/zuul/build/ff0dd3d159864c0eae4e502b624b6b42 : SUCCESS in 3m 46s\n- nox-linters https://zuul.opendev.org/t/zuul/build/097f3307f4dc47259af00ec0ddd70094 : FAILURE in 2m 27s\n- nodepool-nox-py38 https://zuul.opendev.org/t/zuul/build/6572877b2f974c009309f9ffcca54a38 : SUCCESS in 11m 11s\n- nodepool-nox-py311 https://zuul.opendev.org/t/zuul/build/242220dd146a4a1c8e3ea94fa75d9fd3 : SUCCESS in 11m 22s\n- nodepool-functional-container-openstack-release https://zuul.opendev.org/t/zuul/build/7e0a23a095334b04959d49d7efd12622 : SUCCESS in 33m 52s\n- nodepool-functional-k8s https://zuul.opendev.org/t/zuul/build/89951981b7e446f1be7694e8cad22f74 : SUCCESS in 6m 03s\n- nodepool-functional-openshift https://zuul.opendev.org/t/zuul/build/77acab0b8aaa45a290ad318e086ce377 : SUCCESS in 11m 36s\n- zuul-quick-start https://zuul.opendev.org/t/zuul/build/18e016b5af5a431ba2f05cb8394c1535 : SUCCESS in 10m 43s\n- build-python-release https://zuul.opendev.org/t/zuul/build/2821912b7cc849ec857f1289df29c8b8 : SUCCESS in 1m 37s","accounts_in_message":[],"_revision_number":1},{"id":"313b800869f15dec546ce0a549e440c070864a09","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28088,"name":"Benedikt Löffler","email":"benedikt.loeffler@bmw.de","username":"bloeffler"},"date":"2023-03-14 09:31:03.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"7fad4213096759562f950455899d6ad7cfde896b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-03-14 10:19:06.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/zuul/buildset/b93a7ec29b2e431bbad03dcb11c79bdb\n\n- opendev-buildset-registry https://zuul.opendev.org/t/zuul/build/699774f3dfaa4e8484a20e3d251e78db : SUCCESS in 43m 03s\n- nodepool-build-image https://zuul.opendev.org/t/zuul/build/44143a41b9604f0c97099f73840c7fdb : FAILURE in 34m 15s\n- zuul-nox-docs https://zuul.opendev.org/t/zuul/build/cd701209e2da48b09e5681c18339fa0c : SUCCESS in 4m 06s\n- nox-linters https://zuul.opendev.org/t/zuul/build/810f780a13f74d858e21c430b30913fa : SUCCESS in 2m 31s\n- nodepool-nox-py38 https://zuul.opendev.org/t/zuul/build/3036382b59a54327868a13d82809e927 : SUCCESS in 11m 32s\n- nodepool-nox-py311 https://zuul.opendev.org/t/zuul/build/c1022afa407f40b7aa593c8c07a41a90 : SUCCESS in 10m 31s\n- nodepool-functional-container-openstack-release https://zuul.opendev.org/t/zuul/build/9e345ba6adcd403988f0afa3be8444a7 : SKIPPED Skipped due to failed job nodepool-build-image\n- nodepool-functional-k8s https://zuul.opendev.org/t/zuul/build/2be0f61adcae434d8224b8e97d0d8b4e : SUCCESS in 6m 08s\n- nodepool-functional-openshift https://zuul.opendev.org/t/zuul/build/e532d2a95019491c88849fadb23c82d1 : SUCCESS in 14m 25s\n- zuul-quick-start https://zuul.opendev.org/t/zuul/build/722e372df2d8430980118c1cf917cc12 : SKIPPED Skipped due to failed job nodepool-build-image\n- build-python-release https://zuul.opendev.org/t/zuul/build/ad97bedda5754778bce3ff117f3011be : SUCCESS in 1m 41s","accounts_in_message":[],"_revision_number":2},{"id":"35c4169f43ce159c5a8b5eb85973d32c520a6023","author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"date":"2023-03-14 10:20:27.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"619f523f3c2ea7ea5ad151db29818825cd651484","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-03-14 12:05:36.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/zuul/buildset/9282c6f114f04701b70ff5d632db3c3e\n\n- opendev-buildset-registry https://zuul.opendev.org/t/zuul/build/2180f8de4c9d48538723acb30314dd2f : SUCCESS in 1h 38m 54s\n- nodepool-build-image https://zuul.opendev.org/t/zuul/build/3349217cc81e40649364b162ee12e890 : SUCCESS in 48m 19s\n- zuul-nox-docs https://zuul.opendev.org/t/zuul/build/c3feea3613f14014be9815182bd14a3f : SUCCESS in 3m 29s\n- nox-linters https://zuul.opendev.org/t/zuul/build/a21621e10cb042978d5c8e34ca7dfed2 : SUCCESS in 2m 33s\n- nodepool-nox-py38 https://zuul.opendev.org/t/zuul/build/7b1aaa2b29954ac092d93d475df4992a : SUCCESS in 11m 19s\n- nodepool-nox-py311 https://zuul.opendev.org/t/zuul/build/c6e47b0b16204d76b3255490bc6b1ef9 : SUCCESS in 12m 02s\n- nodepool-functional-container-openstack-release https://zuul.opendev.org/t/zuul/build/3c7d4b2f9129470d827c14d05da6d4c1 : SUCCESS in 37m 10s\n- nodepool-functional-k8s https://zuul.opendev.org/t/zuul/build/e0c09ced20394c5da813269c01ef8381 : SUCCESS in 6m 29s\n- nodepool-functional-openshift https://zuul.opendev.org/t/zuul/build/cc3c120326ed4f79b6c1174e07e999ad : SUCCESS in 15m 19s\n- zuul-quick-start https://zuul.opendev.org/t/zuul/build/cf92787c87fe4381bdc9dcd30b8b0507 : SUCCESS in 11m 47s\n- build-python-release https://zuul.opendev.org/t/zuul/build/895a73db642543d3a65ef0bc5d326b0c : SUCCESS in 1m 43s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"00d25045ea617bb5ecf0dc1a4c02d4faa52657ae","revisions":{"155f337fbf3f8ba730ef6578918019e0ea0c550c":{"kind":"REWORK","_number":1,"created":"2023-03-13 16:36:57.000000000","uploader":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"ref":"refs/changes/10/877310/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/zuul/nodepool","ref":"refs/changes/10/877310/1","commands":{"Checkout":"git fetch https://review.opendev.org/zuul/nodepool refs/changes/10/877310/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/zuul/nodepool refs/changes/10/877310/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/zuul/nodepool refs/changes/10/877310/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/zuul/nodepool refs/changes/10/877310/1"}}},"commit":{"parents":[{"commit":"0e7de19664c2dca9f717ac0e88ee5ff2ce839bcc","subject":"Merge \"Add support for specifying pod resource limits\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/zuul/nodepool/commit/0e7de19664c2dca9f717ac0e88ee5ff2ce839bcc"}]}],"author":{"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","date":"2023-03-13 15:08:28.000000000","tz":60},"committer":{"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","date":"2023-03-13 16:36:47.000000000","tz":60},"subject":"Improve image build checking with many diskimages","message":"Improve image build checking with many diskimages\n\nWe\u0027ve seen in production a huge delay between image builds that have\nbeen requested until the build has actually been started. This was\ndespite several free builders.\n\nProfiling showed that all of our builders are extremely busy with\nreloading and comparing their config [1]. This is with a ~2MB sized\nnodepool.yaml and accordingly many diskimages.\n\nThe reason for this bottleneck is that after every image we check\nwe\u0027re reloading the config and re-comparing it with the currently\nactive config. This config checking currently effectively grows\nquadratically with the number of diskimages (more iterations and\nslower config check).\n\nTo solve this problem we should perform this check less often.\n\n[1] Yappi data:\nname                                  ncall  tsub      ttot      tavg\n..er/__init__.py:852 AwsLabel.__eq__  468..  144.6263  252.2575  0.000054\n..odepool/config.py:276 Label.__eq__  1962   0.015242  251.5035  0.128187\n..py:866 AwsProviderDiskImage.__ne__  234..  3.761890  86.93310  0.000037\n../nodepool/config.py:425 loadConfig  4      0.000625  22.47684  5.619211\n..-packages/yaml/__init__.py:74 load  20     0.128956  21.65417  1.082708\n\nChange-Id: I786daa20ca428039a44d14b1e389d4d3fd62a735\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/zuul/nodepool/commit/155f337fbf3f8ba730ef6578918019e0ea0c550c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/zuul/nodepool/commit/155f337fbf3f8ba730ef6578918019e0ea0c550c"}]},"branch":"refs/heads/master"},"00d25045ea617bb5ecf0dc1a4c02d4faa52657ae":{"kind":"REWORK","_number":2,"created":"2023-03-14 09:31:03.000000000","uploader":{"_account_id":28088,"name":"Benedikt Löffler","email":"benedikt.loeffler@bmw.de","username":"bloeffler"},"ref":"refs/changes/10/877310/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/zuul/nodepool","ref":"refs/changes/10/877310/2","commands":{"Checkout":"git fetch https://review.opendev.org/zuul/nodepool refs/changes/10/877310/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/zuul/nodepool refs/changes/10/877310/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/zuul/nodepool refs/changes/10/877310/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/zuul/nodepool refs/changes/10/877310/2"}}},"commit":{"parents":[{"commit":"0e7de19664c2dca9f717ac0e88ee5ff2ce839bcc","subject":"Merge \"Add support for specifying pod resource limits\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/zuul/nodepool/commit/0e7de19664c2dca9f717ac0e88ee5ff2ce839bcc"}]}],"author":{"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","date":"2023-03-13 15:08:28.000000000","tz":60},"committer":{"name":"Benedikt Loeffler","email":"benedikt.loeffler@bmw.de","date":"2023-03-14 09:30:33.000000000","tz":60},"subject":"Improve image build checking with many diskimages","message":"Improve image build checking with many diskimages\n\nWe\u0027ve seen in production a huge delay between image builds that have\nbeen requested until the build has actually been started. This was\ndespite several free builders.\n\nProfiling showed that all of our builders are extremely busy with\nreloading and comparing their config [1]. This is with a ~2MB sized\nnodepool.yaml and accordingly many diskimages.\n\nThe reason for this bottleneck is that after every image we check\nwe\u0027re reloading the config and re-comparing it with the currently\nactive config. This config checking currently effectively grows\nquadratically with the number of diskimages (more iterations and\nslower config check).\n\nTo solve this problem we should perform this check less often.\n\n[1] Yappi data:\nname                                  ncall  tsub      ttot      tavg\n..er/__init__.py:852 AwsLabel.__eq__  468..  144.6263  252.2575  0.000054\n..odepool/config.py:276 Label.__eq__  1962   0.015242  251.5035  0.128187\n..py:866 AwsProviderDiskImage.__ne__  234..  3.761890  86.93310  0.000037\n../nodepool/config.py:425 loadConfig  4      0.000625  22.47684  5.619211\n..-packages/yaml/__init__.py:74 load  20     0.128956  21.65417  1.082708\n\nChange-Id: I786daa20ca428039a44d14b1e389d4d3fd62a735\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/zuul/nodepool/commit/00d25045ea617bb5ecf0dc1a4c02d4faa52657ae"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/zuul/nodepool/commit/00d25045ea617bb5ecf0dc1a4c02d4faa52657ae"}]},"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"}]}],"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":"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":""}}}]}
