)]}'
{"id":"openstack%2Fnova~997283","triplet_id":"openstack%2Fnova~master~Ic3b8a7d5e2f4a6b9d1e0c7f8a3b4d5e6f7a8b9c0","project":"openstack/nova","branch":"master","hashtags":[],"change_id":"Ic3b8a7d5e2f4a6b9d1e0c7f8a3b4d5e6f7a8b9c0","subject":"vmware: optionally combine host+datastore inventory query","status":"NEW","created":"2026-07-14 18:28:59.000000000","updated":"2026-07-16 17:09:44.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"work_in_progress":true,"has_review_started":false,"meta_rev_id":"1d280879426d67e55ece898803f0de11c5df7556","_number":997283,"virtual_id_number":997283,"owner":{"_account_id":24434,"name":"Fabian Wiesel","email":"fabian.wiesel@sap.com","username":"fwiesel"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-07-14 20:46: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":-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":[{"_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":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{"CC":[{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"reviewer_updates":[{"updated":"2026-07-14 19:27:25.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":"CC"},{"updated":"2026-07-14 19:34:16.000000000","updated_by":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-07-14 20:46:36.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-07-16 17:09:44.000000000","updated_by":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"reviewer":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"state":"CC"}],"messages":[{"id":"91e7e37ba8ccf9afdf4981ff8c3c13907c82c5bb","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":24434,"name":"Fabian Wiesel","email":"fabian.wiesel@sap.com","username":"fwiesel"},"date":"2026-07-14 18:28:59.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"a65a93711a4f45c709a43eb96672fb42809a8f15","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-14 19:27:25.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7389f2078f4e4cb196a6c320acbb316b\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/3a5b4e702a794faf9269b496291b5fec : SUCCESS in 21m 51s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/9889ebf814364a478c137c90f7aec2cd : SUCCESS in 22m 20s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/eef9607c94d4411986e572a05cec32e3 : SUCCESS in 35m 01s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"32424146712a6ba771c67f622044b828b200e6db","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-07-14 19:34:16.000000000","message":"Patch Set 1:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/Ic3b8a7d5e2f4a6b9d1e0c7f8a3b4d5e6f7a8b9c0 .","accounts_in_message":[],"_revision_number":1},{"id":"abbbb4b4a95132dc7998dbbd80c49e52b5c4a1a5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-14 20:46:36.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/4f15353aa096465fbc662a1dcf077ba7\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/a6c36a2babf14e969d1cbe8d48d0db3e : SUCCESS in 1h 07m 45s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/153fe37baa7e480fa3e6ae6eda7264b3 : SUCCESS in 1h 43m 49s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/6fd5a8e67fb24bec9e76d40fee78c841 : SUCCESS in 1h 05m 26s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/5f406bb7dfb74cbdb3fbc8199298cd28 : SUCCESS in 1h 23m 06s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c2fded4909ff43da8a9c4bc12d9776b5 : SUCCESS in 7m 47s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/4d3e24eb5fc54d98ba506bb58f0d60b2 : SUCCESS in 11m 25s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7aac20bd824843d2adff87537beafcfb : SUCCESS in 14m 53s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/8ab28c5c8b1f427e9d83f8209086b7da : SUCCESS in 19m 53s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/47a362f94a524f2e95a1000110523187 : SUCCESS in 13m 23s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/274828efc7ce406887eb16562f817303 : SUCCESS in 7m 30s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/3d609cf20e9e42a4b9cc28c5cc0c0c1f : SUCCESS in 1h 05m 45s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/249f68d0241b4209bb81e19e2e770721 : SUCCESS in 1h 56m 24s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/8645790cd6cb4efebc7517dd07b96d98 : SUCCESS in 24m 11s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/41ed62bb1e2b466fa93984d9c99f867f : SUCCESS in 37m 03s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/d625bb47cfbd4ead8517a648c6d09de7 : SUCCESS in 1h 03m 37s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/0ebbcb1147244bdbbe9c02e0d952209d : SUCCESS in 29m 29s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/10916576fdf2480e9a199e8715f4a725 : SUCCESS in 1h 48m 14s\n- nova-next https://zuul.opendev.org/t/openstack/build/2c61204bfb7c414d9c2aa6a0ece981ae : SUCCESS in 1h 57m 41s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/cc0fd63809434dfab9fcb2762e9b9ebe : POST_FAILURE in 43m 03s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/5c1d78a9f05347ad9c1f5fbd1525a379 : SUCCESS in 5m 36s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/28db6b1170e048a19fdf46c47800f4c1 : SUCCESS in 26m 32s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/901ca03ee34845ce83c281cc4c470263 : SUCCESS in 27m 08s\n- nova-tox-functional-py313-threading https://zuul.opendev.org/t/openstack/build/fedfe665dc7849fe9241fab4debecb6b : FAILURE in 41m 51s (non-voting)\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/b43268d25638407caabb4b129fa3913c : SUCCESS in 1h 30m 30s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b28016d14eaf47ad9b571ac2cc592c5f : SUCCESS in 1h 07m 23s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/4d651d28a50a4ed9856c83ec9df1265a : SUCCESS in 38m 38s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/db09b3e8f0944030a6234b75a8653927 : SUCCESS in 17m 22s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/b5321ab54678455cbd0d46f179289539 : SUCCESS in 14m 29s","accounts_in_message":[],"_revision_number":1},{"id":"1d280879426d67e55ece898803f0de11c5df7556","tag":"autogenerated:sap-openstack-ci~result","author":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"date":"2026-07-16 17:09:44.000000000","message":"Patch Set 1:\n\nIgnore for now: Test failed. Logs on \u003chttp://openstack-ci-logs.global.cloud.sap/openstack-nova-997283-jhrv7/index.html\u003e","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"d5f5e1221363d1916e5ef2da00f4a44fbf044e70","revisions":{"d5f5e1221363d1916e5ef2da00f4a44fbf044e70":{"kind":"REWORK","_number":1,"created":"2026-07-14 18:28:59.000000000","uploader":{"_account_id":24434,"name":"Fabian Wiesel","email":"fabian.wiesel@sap.com","username":"fwiesel"},"ref":"refs/changes/83/997283/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/83/997283/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/83/997283/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/83/997283/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/83/997283/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/83/997283/1"}}},"commit":{"parents":[{"commit":"c0c6c4c3e6f5235a2b65e7ffb0f58673f03ca315","subject":"Merge \"Reproducer for https://bugs.launchpad.net/nova/+bug/2160224\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/c0c6c4c3e6f5235a2b65e7ffb0f58673f03ca315"}]}],"author":{"name":"Fabian Wiesel","email":"fabian.wiesel@sap.com","date":"2026-07-14 18:28:49.000000000","tz":120},"committer":{"name":"Fabian Wiesel","email":"fabian.wiesel@sap.com","date":"2026-07-14 18:28:49.000000000","tz":120},"subject":"vmware: optionally combine host+datastore inventory query","message":"vmware: optionally combine host+datastore inventory query\n\nupdate_provider_tree issues four vCenter SOAP round-trips on every\ninvocation: two for get_stats_from_cluster (list host refs, then\nfetch host properties) and two for get_available_datastores (list\ndatastore refs, then fetch datastore properties).\n\nUnder eventlet these were cheap. Under native threading (nova-compute\ndefault since Nova 34.0.0) each SOAP call incurs a thread hand-off\nthrough oslo_service.loopingcall.RetryDecorator, adding hundreds of\nmilliseconds of overhead. With 32 concurrent builds the four calls\nhold the compute_resources semaphore for ~10-15s per acquisition\ninstead of ~1-2s, turning an 8-10 min tempest run into 90+ min.\n\nAdd a [vmware] use_combined_inventory_query option (default False).\nWhen enabled, a single PropertyCollector traversal rooted at the\nClusterComputeResource retrieves both HostSystem and Datastore\nobjects with their properties in one round-trip, reducing the SOAP\ncalls under the semaphore from four to one.\n\nFactor the host-stats aggregation out of get_stats_from_cluster into\n_aggregate_host_stats so both code paths share the same logic.\n\nThe oslo.vmware fix that eliminates the per-call thread overhead is\ntracked in Change Ida95f739d5f1c41595b07175fdb5239d7cf4d4fb; this\nchange is complementary and reduces the number of calls that go\nthrough that path.\n\nDepends-On: https://review.opendev.org/c/openstack/oslo.vmware/+/997269\nChange-Id: Ic3b8a7d5e2f4a6b9d1e0c7f8a3b4d5e6f7a8b9c0\nSigned-off-by: Fabian Wiesel \u003cfabian.wiesel@sap.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/d5f5e1221363d1916e5ef2da00f4a44fbf044e70"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/d5f5e1221363d1916e5ef2da00f4a44fbf044e70"}]},"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":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"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":""}}}]}
