)]}'
{"id":"openstack%2Fwatcher~661121","triplet_id":"openstack%2Fwatcher~master~I5e0e88d7b2dd1a69117ab03e0e66851c687606da","project":"openstack/watcher","branch":"master","topic":"compute-cdm-perf-server-list-host-filter","hashtags":[],"change_id":"I5e0e88d7b2dd1a69117ab03e0e66851c687606da","subject":"Optimize hypervisor API calls","status":"MERGED","created":"2019-05-23 21:11:31.000000000","updated":"2019-06-24 13:31:10.000000000","submitted":"2019-06-14 02:28:51.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":19,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"661121-1560479331666-91b8215b","meta_rev_id":"95d4f09f4af86d4cf2359cf416a41484ca13e692","_number":661121,"virtual_id_number":661121,"owner":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},{"value":0,"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":2,"date":"2019-06-14 02:28:51.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},{"value":0,"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},{"value":0,"_account_id":9373,"name":"Vlad Gusev","email":"vlad.esten@gmail.com","username":"s10"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"all":[{"value":0,"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},{"value":0,"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2019-06-03 16:30:32.000000000","_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},{"value":2,"date":"2019-06-14 01:48:39.000000000","_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},{"value":0,"_account_id":9373,"name":"Vlad Gusev","email":"vlad.esten@gmail.com","username":"s10"}],"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":{"approved":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"all":[{"value":0,"date":"2019-06-06 16:03:36.000000000","_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},{"value":0,"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},{"value":0,"date":"2019-06-03 16:30:32.000000000","_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},{"value":1,"date":"2019-06-14 01:48:39.000000000","_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},{"value":0,"_account_id":9373,"name":"Vlad Gusev","email":"vlad.esten@gmail.com","username":"s10"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},{"value":0,"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},{"value":0,"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},{"value":0,"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},{"value":0,"_account_id":9373,"name":"Vlad Gusev","email":"vlad.esten@gmail.com","username":"s10"}],"values":{" 0":"Standard Change","+1":"Important Change","+2":"High Priority Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},{"_account_id":9373,"name":"Vlad Gusev","email":"vlad.esten@gmail.com","username":"s10"},{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-05-29 13:47:37.000000000","updated_by":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"reviewer":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"state":"REVIEWER"},{"updated":"2019-05-29 20:58:17.000000000","updated_by":{"_account_id":9373,"name":"Vlad Gusev","email":"vlad.esten@gmail.com","username":"s10"},"reviewer":{"_account_id":9373,"name":"Vlad Gusev","email":"vlad.esten@gmail.com","username":"s10"},"state":"REVIEWER"},{"updated":"2019-06-01 06:58:29.000000000","updated_by":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"reviewer":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"state":"REVIEWER"},{"updated":"2019-06-06 16:03:36.000000000","updated_by":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"reviewer":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"state":"REVIEWER"},{"updated":"2019-06-14 01:48:39.000000000","updated_by":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"reviewer":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"state":"REVIEWER"},{"updated":"2019-06-14 02:28:51.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":"8abd38c7530a9fa1749b4de4c5678bf74ed887ae","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-05-23 21:11:31.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"59747ebc7ef8ca78567995c39420d3f2885d613d","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-23 21:11:44.000000000","message":"Patch Set 1: Verified-1\n\nMerge Failed.\n\nThis change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.","accounts_in_message":[],"_revision_number":1},{"id":"15cf68c5a45e6e1b7320a4b55c6d89dfa56f04fc","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-05-23 21:17:27.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"6bf150465bc08b0409d95e493b750cb9d0233d5d","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-05-23 21:19:59.000000000","message":"Patch Set 2: Workflow-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"8f66a618202189109f309ea77f0272534a6aea4e","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-05-23 21:23:51.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"fc913ad162f5cdb7ebe7acad9afaf4b1e85ce6d2","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-05-23 21:40:45.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"97496ebc94e1eb71ac31eb48f3594053abd2328b","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-23 22:50:12.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover http://logs.openstack.org/21/661121/2/check/openstack-tox-cover/6dd632b/cover/ : SUCCESS in 5m 34s\n- openstack-tox-lower-constraints http://logs.openstack.org/21/661121/2/check/openstack-tox-lower-constraints/1cf6ca1/ : SUCCESS in 5m 30s\n- openstack-tox-pep8 http://logs.openstack.org/21/661121/2/check/openstack-tox-pep8/9dcf8ff/ : SUCCESS in 5m 08s\n- openstack-tox-py27 http://logs.openstack.org/21/661121/2/check/openstack-tox-py27/45d6be6/ : SUCCESS in 6m 12s\n- openstack-tox-py36 http://logs.openstack.org/21/661121/2/check/openstack-tox-py36/fe3cfb7/ : SUCCESS in 5m 35s\n- openstack-tox-py37 http://logs.openstack.org/21/661121/2/check/openstack-tox-py37/9feb5ed/ : SUCCESS in 6m 18s\n- openstack-tox-docs http://logs.openstack.org/21/661121/2/check/openstack-tox-docs/a075f82/html/ : SUCCESS in 6m 36s\n- watcher-tempest-functional http://logs.openstack.org/21/661121/2/check/watcher-tempest-functional/ed75b72/ : SUCCESS in 31m 51s\n- watcher-grenade http://logs.openstack.org/21/661121/2/check/watcher-grenade/6acc1f2/ : SUCCESS in 38m 59s\n- watcher-tempest-dummy_optim http://logs.openstack.org/21/661121/2/check/watcher-tempest-dummy_optim/bd90fcc/ : SUCCESS in 50m 32s\n- watcher-tempest-actuator http://logs.openstack.org/21/661121/2/check/watcher-tempest-actuator/1d078bf/ : SUCCESS in 49m 43s\n- watcher-tempest-basic_optim http://logs.openstack.org/21/661121/2/check/watcher-tempest-basic_optim/f8429dc/ : SUCCESS in 47m 07s\n- watcher-tempest-vm_workload_consolidation http://logs.openstack.org/21/661121/2/check/watcher-tempest-vm_workload_consolidation/346320e/ : SUCCESS in 46m 06s\n- watcher-tempest-workload_balancing http://logs.openstack.org/21/661121/2/check/watcher-tempest-workload_balancing/4d26153/ : SUCCESS in 48m 10s\n- watcherclient-tempest-functional http://logs.openstack.org/21/661121/2/check/watcherclient-tempest-functional/e4d2931/ : SUCCESS in 32m 59s\n- watcher-tempest-zone_migration http://logs.openstack.org/21/661121/2/check/watcher-tempest-zone_migration/80172e4/ : SUCCESS in 47m 04s\n- watcher-tempest-host_maintenance http://logs.openstack.org/21/661121/2/check/watcher-tempest-host_maintenance/a266bf9/ : SUCCESS in 1h 03m 59s\n- watcher-tempest-storage_balance http://logs.openstack.org/21/661121/2/check/watcher-tempest-storage_balance/bb047e7/ : SUCCESS in 44m 51s\n- watcher-tls-test http://logs.openstack.org/21/661121/2/check/watcher-tls-test/fc10aa2/ : SUCCESS in 48m 52s","accounts_in_message":[],"_revision_number":2},{"id":"61f946981eec557b95e16f0d8044bc7af5a6e4d7","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-05-28 20:04:09.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"4c8b4baa5958f3397dac94de5a5307490b1f02bd","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-05-28 20:19:05.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"d893a02a27b54c83725fa73020d958f066bcc9a2","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-05-28 20:20:25.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"ec0a38e98b400d46cd008756f706aa082dca6e71","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-28 21:26:42.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- requirements-check http://logs.openstack.org/21/661121/3/check/requirements-check/21e5431/ : SUCCESS in 4m 24s\n- openstack-tox-cover http://logs.openstack.org/21/661121/3/check/openstack-tox-cover/411d06a/cover/ : SUCCESS in 6m 21s\n- openstack-tox-lower-constraints http://logs.openstack.org/21/661121/3/check/openstack-tox-lower-constraints/bc80dd9/ : SUCCESS in 12m 06s\n- openstack-tox-pep8 http://logs.openstack.org/21/661121/3/check/openstack-tox-pep8/65bf078/ : SUCCESS in 5m 41s\n- openstack-tox-py27 http://logs.openstack.org/21/661121/3/check/openstack-tox-py27/6734f6f/ : SUCCESS in 5m 34s\n- openstack-tox-py36 http://logs.openstack.org/21/661121/3/check/openstack-tox-py36/f56b553/ : SUCCESS in 5m 32s\n- openstack-tox-py37 http://logs.openstack.org/21/661121/3/check/openstack-tox-py37/e18ec54/ : SUCCESS in 5m 53s\n- openstack-tox-docs http://logs.openstack.org/21/661121/3/check/openstack-tox-docs/ddde812/html/ : SUCCESS in 5m 43s\n- watcher-tempest-functional http://logs.openstack.org/21/661121/3/check/watcher-tempest-functional/1a3606d/ : SUCCESS in 32m 42s\n- watcher-grenade http://logs.openstack.org/21/661121/3/check/watcher-grenade/802158f/ : SUCCESS in 49m 52s\n- watcher-tempest-dummy_optim http://logs.openstack.org/21/661121/3/check/watcher-tempest-dummy_optim/b28e781/ : SUCCESS in 1h 03m 59s\n- watcher-tempest-actuator http://logs.openstack.org/21/661121/3/check/watcher-tempest-actuator/732711c/ : SUCCESS in 59m 20s\n- watcher-tempest-basic_optim http://logs.openstack.org/21/661121/3/check/watcher-tempest-basic_optim/c76c752/ : SUCCESS in 49m 03s\n- watcher-tempest-vm_workload_consolidation http://logs.openstack.org/21/661121/3/check/watcher-tempest-vm_workload_consolidation/a374f1d/ : SUCCESS in 44m 07s\n- watcher-tempest-workload_balancing http://logs.openstack.org/21/661121/3/check/watcher-tempest-workload_balancing/f0086e4/ : SUCCESS in 43m 35s\n- watcherclient-tempest-functional http://logs.openstack.org/21/661121/3/check/watcherclient-tempest-functional/119c30a/ : SUCCESS in 34m 25s\n- watcher-tempest-zone_migration http://logs.openstack.org/21/661121/3/check/watcher-tempest-zone_migration/8340543/ : SUCCESS in 49m 42s\n- watcher-tempest-host_maintenance http://logs.openstack.org/21/661121/3/check/watcher-tempest-host_maintenance/6649696/ : SUCCESS in 48m 35s\n- watcher-tempest-storage_balance http://logs.openstack.org/21/661121/3/check/watcher-tempest-storage_balance/8f2ef18/ : SUCCESS in 44m 09s\n- watcher-tls-test http://logs.openstack.org/21/661121/3/check/watcher-tls-test/86c867e/ : SUCCESS in 47m 58s","accounts_in_message":[],"_revision_number":3},{"id":"b9e0eb64f75ebdd73b169ab34570ba3dd3843eee","author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"date":"2019-05-29 13:47:37.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"9d1b4aedb7cdf8cfff20ed88b2c1f80534b77f21","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-05-29 19:41:38.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"86c58600145ba6717cca709034742e50d94fbec6","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-05-29 20:00:10.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"ca1b1ff1dd565984e9476459e604c158d8fe612f","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-05-29 20:09:19.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"5fbadbcb6ecf80d1f3e76c686ea45fe5dc6a0a82","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-05-29 20:47:47.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"e5ed1ad7fb0cc4c1584ce9990f6e30cb50418f6d","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-05-29 20:58:11.000000000","message":"Patch Set 3: Workflow-1\n\n(1 comment)\n\nWe might want to fix this in a backportable way and then fully optimize on top in a non-backportable way.","accounts_in_message":[],"_revision_number":3},{"id":"a8c8f84ec7eedd67ae3d4316510593b6829405f0","author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"date":"2019-06-01 06:30:45.000000000","message":"Patch Set 4: Patch Set 3 was rebased","accounts_in_message":[],"_revision_number":4},{"id":"3c8aa7eba11cfb40dccbec191a00570f05a7c468","author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"date":"2019-06-01 06:58:29.000000000","message":"Patch Set 4: Code-Review+2\n\nMatt, Thank you.","accounts_in_message":[],"_revision_number":4},{"id":"659fa96e8524b83def11b4512c3ac7a749273652","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-01 07:25:03.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- requirements-check http://logs.openstack.org/21/661121/4/check/requirements-check/0afb7a0/ : SUCCESS in 3m 24s\n- openstack-tox-cover http://logs.openstack.org/21/661121/4/check/openstack-tox-cover/d4d9ff4/cover/ : SUCCESS in 5m 51s\n- openstack-tox-lower-constraints http://logs.openstack.org/21/661121/4/check/openstack-tox-lower-constraints/59af6ba/ : SUCCESS in 4m 48s\n- openstack-tox-pep8 http://logs.openstack.org/21/661121/4/check/openstack-tox-pep8/03ca5ea/ : SUCCESS in 4m 56s\n- openstack-tox-py27 http://logs.openstack.org/21/661121/4/check/openstack-tox-py27/e7c6727/ : SUCCESS in 5m 09s\n- openstack-tox-py36 http://logs.openstack.org/21/661121/4/check/openstack-tox-py36/0729441/ : SUCCESS in 5m 24s\n- openstack-tox-py37 http://logs.openstack.org/21/661121/4/check/openstack-tox-py37/43918e4/ : SUCCESS in 5m 53s\n- openstack-tox-docs http://logs.openstack.org/21/661121/4/check/openstack-tox-docs/09a3379/html/ : SUCCESS in 5m 33s\n- watcher-tempest-functional http://logs.openstack.org/21/661121/4/check/watcher-tempest-functional/6722eed/ : SUCCESS in 31m 18s\n- watcher-grenade http://logs.openstack.org/21/661121/4/check/watcher-grenade/bd8b17a/ : SUCCESS in 43m 40s\n- watcher-tempest-dummy_optim http://logs.openstack.org/21/661121/4/check/watcher-tempest-dummy_optim/7bc14b5/ : SUCCESS in 45m 51s\n- watcher-tempest-actuator http://logs.openstack.org/21/661121/4/check/watcher-tempest-actuator/4ae53ca/ : SUCCESS in 46m 56s\n- watcher-tempest-basic_optim http://logs.openstack.org/21/661121/4/check/watcher-tempest-basic_optim/138235c/ : SUCCESS in 44m 53s\n- watcher-tempest-vm_workload_consolidation http://logs.openstack.org/21/661121/4/check/watcher-tempest-vm_workload_consolidation/2e23fdc/ : SUCCESS in 47m 41s\n- watcher-tempest-workload_balancing http://logs.openstack.org/21/661121/4/check/watcher-tempest-workload_balancing/abfe720/ : SUCCESS in 47m 29s\n- watcherclient-tempest-functional http://logs.openstack.org/21/661121/4/check/watcherclient-tempest-functional/94da86c/ : SUCCESS in 32m 01s\n- watcher-tempest-zone_migration http://logs.openstack.org/21/661121/4/check/watcher-tempest-zone_migration/65ec0ba/ : SUCCESS in 47m 45s\n- watcher-tempest-host_maintenance http://logs.openstack.org/21/661121/4/check/watcher-tempest-host_maintenance/bfb2f0b/ : SUCCESS in 45m 15s\n- watcher-tempest-storage_balance http://logs.openstack.org/21/661121/4/check/watcher-tempest-storage_balance/e274fe5/ : SUCCESS in 45m 38s\n- watcher-tls-test http://logs.openstack.org/21/661121/4/check/watcher-tls-test/b113c0e/ : SUCCESS in 44m 18s","accounts_in_message":[],"_revision_number":4},{"id":"59c310f0cc3979a175123b622d47cacc80f96e11","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-06-03 14:30:45.000000000","message":"Patch Set 4: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"02d3588d47daa36493e107f75562a25d422edeab","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-06-03 14:37:45.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"59e484952b2e6060ca10328d0f069a863cfa57ff","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-06-03 16:29:32.000000000","message":"Patch Set 4: -Workflow\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"3ce1348ab14684479f6e1f4d69fd36871b1a38d1","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-06-03 16:30:32.000000000","message":"Uploaded patch set 5: Patch Set 4 was rebased.","accounts_in_message":[],"_revision_number":5},{"id":"68b0e6647be190ec998237591f76ae7d0be676d6","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-03 17:52:32.000000000","message":"Patch Set 5: 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\n\n- requirements-check http://logs.openstack.org/21/661121/5/check/requirements-check/03444d5/ : SUCCESS in 3m 36s\n- openstack-tox-cover http://logs.openstack.org/21/661121/5/check/openstack-tox-cover/f795c27/cover/ : SUCCESS in 6m 15s\n- openstack-tox-lower-constraints http://logs.openstack.org/21/661121/5/check/openstack-tox-lower-constraints/d4042b7/ : SUCCESS in 5m 30s\n- openstack-tox-pep8 http://logs.openstack.org/21/661121/5/check/openstack-tox-pep8/85698a6/ : SUCCESS in 5m 24s\n- openstack-tox-py27 http://logs.openstack.org/21/661121/5/check/openstack-tox-py27/c884180/ : SUCCESS in 5m 28s\n- openstack-tox-py36 http://logs.openstack.org/21/661121/5/check/openstack-tox-py36/bd81418/ : SUCCESS in 9m 31s\n- openstack-tox-py37 http://logs.openstack.org/21/661121/5/check/openstack-tox-py37/3599026/ : SUCCESS in 5m 58s\n- openstack-tox-docs http://logs.openstack.org/21/661121/5/check/openstack-tox-docs/1dc503e/ : FAILURE in 4m 58s\n- watcher-tempest-functional http://logs.openstack.org/21/661121/5/check/watcher-tempest-functional/cdc385e/ : SUCCESS in 34m 06s\n- watcher-grenade http://logs.openstack.org/21/661121/5/check/watcher-grenade/8656be4/ : SUCCESS in 46m 24s\n- watcher-tempest-dummy_optim http://logs.openstack.org/21/661121/5/check/watcher-tempest-dummy_optim/679f1e2/ : SUCCESS in 1h 16m 57s\n- watcher-tempest-actuator http://logs.openstack.org/21/661121/5/check/watcher-tempest-actuator/effa310/ : SUCCESS in 49m 35s\n- watcher-tempest-basic_optim http://logs.openstack.org/21/661121/5/check/watcher-tempest-basic_optim/fb12421/ : SUCCESS in 51m 22s\n- watcher-tempest-vm_workload_consolidation http://logs.openstack.org/21/661121/5/check/watcher-tempest-vm_workload_consolidation/dea0276/ : SUCCESS in 52m 21s\n- watcher-tempest-workload_balancing http://logs.openstack.org/21/661121/5/check/watcher-tempest-workload_balancing/60e506c/ : SUCCESS in 49m 04s\n- watcherclient-tempest-functional http://logs.openstack.org/21/661121/5/check/watcherclient-tempest-functional/1f7fca7/ : SUCCESS in 1h 02m 00s\n- watcher-tempest-zone_migration http://logs.openstack.org/21/661121/5/check/watcher-tempest-zone_migration/b805dd8/ : SUCCESS in 45m 00s\n- watcher-tempest-host_maintenance http://logs.openstack.org/21/661121/5/check/watcher-tempest-host_maintenance/96fe617/ : SUCCESS in 44m 41s\n- watcher-tempest-storage_balance http://logs.openstack.org/21/661121/5/check/watcher-tempest-storage_balance/2c95a53/ : SUCCESS in 55m 44s\n- watcher-tls-test http://logs.openstack.org/21/661121/5/check/watcher-tls-test/e83ca0a/ : SUCCESS in 46m 35s","accounts_in_message":[],"_revision_number":5},{"id":"5d1c1e0b4720d4beb87fd309f7d5482d1a56408b","author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"date":"2019-06-04 07:12:35.000000000","message":"Patch Set 4:\n\nrecheck","accounts_in_message":[],"_revision_number":4},{"id":"236a1114956a443851d8a704bd17efa12d03bbb3","author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"date":"2019-06-04 11:17:13.000000000","message":"Patch Set 5:\n\nrecheck","accounts_in_message":[],"_revision_number":5},{"id":"95e65dc5137cf9a1fe4b6950469a1f965ac28cb0","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-04 12:48:37.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- requirements-check http://logs.openstack.org/21/661121/5/check/requirements-check/1f77e64/ : SUCCESS in 4m 25s\n- openstack-tox-cover http://logs.openstack.org/21/661121/5/check/openstack-tox-cover/a00a2a1/cover/ : SUCCESS in 6m 42s\n- openstack-tox-lower-constraints http://logs.openstack.org/21/661121/5/check/openstack-tox-lower-constraints/1b829ff/ : SUCCESS in 5m 15s\n- openstack-tox-pep8 http://logs.openstack.org/21/661121/5/check/openstack-tox-pep8/f7358dc/ : SUCCESS in 4m 46s\n- openstack-tox-py27 http://logs.openstack.org/21/661121/5/check/openstack-tox-py27/945db19/ : SUCCESS in 7m 32s\n- openstack-tox-py36 http://logs.openstack.org/21/661121/5/check/openstack-tox-py36/b8817c5/ : SUCCESS in 5m 36s\n- openstack-tox-py37 http://logs.openstack.org/21/661121/5/check/openstack-tox-py37/5912735/ : SUCCESS in 6m 08s\n- openstack-tox-docs http://logs.openstack.org/21/661121/5/check/openstack-tox-docs/9a5abc1/html/ : SUCCESS in 4m 44s\n- watcher-tempest-functional http://logs.openstack.org/21/661121/5/check/watcher-tempest-functional/6d3b4bc/ : SUCCESS in 30m 37s\n- watcher-grenade http://logs.openstack.org/21/661121/5/check/watcher-grenade/abbaa04/ : SUCCESS in 52m 14s\n- watcher-tempest-dummy_optim http://logs.openstack.org/21/661121/5/check/watcher-tempest-dummy_optim/7faf1e7/ : SUCCESS in 1h 06m 37s\n- watcher-tempest-actuator http://logs.openstack.org/21/661121/5/check/watcher-tempest-actuator/8f984f0/ : SUCCESS in 1h 15m 52s\n- watcher-tempest-basic_optim http://logs.openstack.org/21/661121/5/check/watcher-tempest-basic_optim/348c9e2/ : SUCCESS in 48m 32s\n- watcher-tempest-vm_workload_consolidation http://logs.openstack.org/21/661121/5/check/watcher-tempest-vm_workload_consolidation/0a0c9e2/ : SUCCESS in 49m 39s\n- watcher-tempest-workload_balancing http://logs.openstack.org/21/661121/5/check/watcher-tempest-workload_balancing/4e77b35/ : SUCCESS in 54m 47s\n- watcherclient-tempest-functional http://logs.openstack.org/21/661121/5/check/watcherclient-tempest-functional/27ab63c/ : SUCCESS in 36m 37s\n- watcher-tempest-zone_migration http://logs.openstack.org/21/661121/5/check/watcher-tempest-zone_migration/309e524/ : SUCCESS in 46m 39s\n- watcher-tempest-host_maintenance http://logs.openstack.org/21/661121/5/check/watcher-tempest-host_maintenance/eff48e4/ : SUCCESS in 48m 00s\n- watcher-tempest-storage_balance http://logs.openstack.org/21/661121/5/check/watcher-tempest-storage_balance/14ed863/ : SUCCESS in 47m 23s\n- watcher-tls-test http://logs.openstack.org/21/661121/5/check/watcher-tls-test/de4418d/ : SUCCESS in 45m 41s","accounts_in_message":[],"_revision_number":5},{"id":"a128578214dbfd8ec128209c9b7d3ff7c607605e","author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"date":"2019-06-14 01:48:39.000000000","message":"Patch Set 5: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":5},{"id":"1c1986d158e4845b354a900794da4056a337e22f","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-14 01:48:52.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":5},{"id":"0ca3a0c1ca818ef7e0f3cefa5e54935cb33d3048","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-14 02:28:51.000000000","message":"Patch Set 5: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- requirements-check http://logs.openstack.org/21/661121/5/gate/requirements-check/e638656/ : SUCCESS in 3m 50s\n- openstack-tox-lower-constraints http://logs.openstack.org/21/661121/5/gate/openstack-tox-lower-constraints/e232690/ : SUCCESS in 5m 42s\n- openstack-tox-pep8 http://logs.openstack.org/21/661121/5/gate/openstack-tox-pep8/68981be/ : SUCCESS in 5m 21s\n- openstack-tox-py27 http://logs.openstack.org/21/661121/5/gate/openstack-tox-py27/b76a573/ : SUCCESS in 5m 35s\n- openstack-tox-py36 http://logs.openstack.org/21/661121/5/gate/openstack-tox-py36/01c346c/ : SUCCESS in 6m 23s\n- openstack-tox-py37 http://logs.openstack.org/21/661121/5/gate/openstack-tox-py37/58262a6/ : SUCCESS in 6m 54s\n- openstack-tox-docs http://logs.openstack.org/21/661121/5/gate/openstack-tox-docs/38f451b/html/ : SUCCESS in 5m 19s\n- watcher-tempest-functional http://logs.openstack.org/21/661121/5/gate/watcher-tempest-functional/eb4f2d8/ : SUCCESS in 31m 14s","accounts_in_message":[],"_revision_number":5},{"id":"86f06e7aff57d6a946e9044732189befbce64645","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-14 02:28:51.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":5},{"id":"99027c7296d1688aaa51941d767e0c570fab325c","author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"date":"2019-06-24 09:21:27.000000000","message":"Patch Set 5:\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"097029311033dbc98c2b4b96d0c1fa7687cc3cbe","author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"date":"2019-06-24 09:26:07.000000000","message":"Patch Set 5:\n\nI have created a bug report to track or progress on using hypervisors.search with newer microversions https://bugs.launchpad.net/watcher/+bug/1833999","accounts_in_message":[],"_revision_number":5},{"id":"d2e1e848a0a64493c7ea8fc9f91e3772057aa0b2","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2019-06-24 13:31:10.000000000","message":"Patch Set 5:\n\n(1 comment)","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"3f76f9cfdb6a1ce4dd120fa3de6c7fb05761102a","revisions":{"0cf53c057ec61196e4748e4f826ef9925c073871":{"kind":"REWORK","_number":1,"created":"2019-05-23 21:11:31.000000000","uploader":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"ref":"refs/changes/21/661121/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/21/661121/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/21/661121/1"}}},"commit":{"parents":[{"commit":"4ee9a9fa6fb0c9d139882decc124b5e820a4f338","subject":"Optimize NovaClusterDataModelCollector.add_instance_node","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/4ee9a9fa6fb0c9d139882decc124b5e820a4f338"}]}],"author":{"name":"Matt Riedemann","email":"mriedem.os@gmail.com","date":"2019-05-23 21:00:57.000000000","tz":-240},"committer":{"name":"Matt Riedemann","email":"mriedem.os@gmail.com","date":"2019-05-23 21:00:57.000000000","tz":-240},"subject":"WIP: Optimize hypervisor API calls","message":"WIP: Optimize hypervisor API calls\n\nThe nova CDM builder code and notification handling\ncode had some inefficiencies when it came to looking\nup a hypevisor to get details. The general pattern\nused before was:\n\n1. get the minimal hypervisor information by hypervisor_hostname\n2. make another query to get the hypervisor details by id\n\nIn the notifications case, it was actually three calls because\nthe first is listing hyprvisors to filter client-side by service\nhost.\n\nThis change collapses 1 and 2 above into a single API call\nto get the hypervisor by hypervisor_hostname with details\nwhich will include the service (compute) host information\nwhich is what get_compute_node_by_id() was being used for.\nNow that nothing is using get_compute_node_by_id it is removed.\n\nThere is more work we could do in get_compute_node_by_hostname\nif the compute API allowed filtering hypervisors by service\nhost so a TODO is left for that.\n\nOne final thing: the TODO in get_compute_node_by_hostname about\nthere being more than one hypervisor per compute service host\nfor vmware vcenter is not accurate - nova\u0027s vcenter driver\nhasn\u0027t supported a host:node 1:M topology like that since the\nLiberty release [1]. The only in-tree driver in nova that supports\n1:M is the ironic baremetal driver, so the comment is updated.\n\n[1] Ifc17c5049e3ed29c8dd130339207907b00433960\n\nDepends-On: https://review.opendev.org/659886/\nChange-Id: I5e0e88d7b2dd1a69117ab03e0e66851c687606da\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/0cf53c057ec61196e4748e4f826ef9925c073871"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/0cf53c057ec61196e4748e4f826ef9925c073871"}]},"branch":"refs/heads/master"},"ef8c69c8c84ee0c2c53e0c78318cca32a986c75f":{"kind":"REWORK","_number":2,"created":"2019-05-23 21:17:27.000000000","uploader":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"ref":"refs/changes/21/661121/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/21/661121/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/21/661121/2"}}},"commit":{"parents":[{"commit":"e99924ac722c3de8971732d01bea52096db5cd38","subject":"Optimize NovaClusterDataModelCollector.add_instance_node","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/e99924ac722c3de8971732d01bea52096db5cd38"}]}],"author":{"name":"Matt Riedemann","email":"mriedem.os@gmail.com","date":"2019-05-23 21:00:57.000000000","tz":-240},"committer":{"name":"Matt Riedemann","email":"mriedem.os@gmail.com","date":"2019-05-23 21:17:19.000000000","tz":-240},"subject":"WIP: Optimize hypervisor API calls","message":"WIP: Optimize hypervisor API calls\n\nThe nova CDM builder code and notification handling\ncode had some inefficiencies when it came to looking\nup a hypevisor to get details. The general pattern\nused before was:\n\n1. get the minimal hypervisor information by hypervisor_hostname\n2. make another query to get the hypervisor details by id\n\nIn the notifications case, it was actually three calls because\nthe first is listing hyprvisors to filter client-side by service\nhost.\n\nThis change collapses 1 and 2 above into a single API call\nto get the hypervisor by hypervisor_hostname with details\nwhich will include the service (compute) host information\nwhich is what get_compute_node_by_id() was being used for.\nNow that nothing is using get_compute_node_by_id it is removed.\n\nThere is more work we could do in get_compute_node_by_hostname\nif the compute API allowed filtering hypervisors by service\nhost so a TODO is left for that.\n\nOne final thing: the TODO in get_compute_node_by_hostname about\nthere being more than one hypervisor per compute service host\nfor vmware vcenter is not accurate - nova\u0027s vcenter driver\nhasn\u0027t supported a host:node 1:M topology like that since the\nLiberty release [1]. The only in-tree driver in nova that supports\n1:M is the ironic baremetal driver, so the comment is updated.\n\n[1] Ifc17c5049e3ed29c8dd130339207907b00433960\n\nDepends-On: https://review.opendev.org/659886/\nChange-Id: I5e0e88d7b2dd1a69117ab03e0e66851c687606da\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/ef8c69c8c84ee0c2c53e0c78318cca32a986c75f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/ef8c69c8c84ee0c2c53e0c78318cca32a986c75f"}]},"branch":"refs/heads/master"},"0394005b91102ce5afc467782180b6899d244dc4":{"kind":"REWORK","_number":3,"created":"2019-05-28 20:04:09.000000000","uploader":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"ref":"refs/changes/21/661121/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/21/661121/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/21/661121/3"}}},"commit":{"parents":[{"commit":"855bfecf2f57786610d097a0c1b4ee4ee1f2a51c","subject":"Merge \"formal datasource interface implementation\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/855bfecf2f57786610d097a0c1b4ee4ee1f2a51c"}]}],"author":{"name":"Matt Riedemann","email":"mriedem.os@gmail.com","date":"2019-05-23 21:00:57.000000000","tz":-240},"committer":{"name":"Matt Riedemann","email":"mriedem.os@gmail.com","date":"2019-05-28 20:02:42.000000000","tz":-240},"subject":"Optimize hypervisor API calls","message":"Optimize hypervisor API calls\n\nThe nova CDM builder code and notification handling\ncode had some inefficiencies when it came to looking\nup a hypevisor to get details. The general pattern\nused before was:\n\n1. get the minimal hypervisor information by hypervisor_hostname\n2. make another query to get the hypervisor details by id\n\nIn the notifications case, it was actually three calls because\nthe first is listing hyprvisors to filter client-side by service\nhost.\n\nThis change collapses 1 and 2 above into a single API call\nto get the hypervisor by hypervisor_hostname with details\nwhich will include the service (compute) host information\nwhich is what get_compute_node_by_id() was being used for.\nNow that nothing is using get_compute_node_by_id it is removed.\n\nThere is more work we could do in get_compute_node_by_hostname\nif the compute API allowed filtering hypervisors by service\nhost so a TODO is left for that.\n\nOne final thing: the TODO in get_compute_node_by_hostname about\nthere being more than one hypervisor per compute service host\nfor vmware vcenter is not accurate - nova\u0027s vcenter driver\nhasn\u0027t supported a host:node 1:M topology like that since the\nLiberty release [1]. The only in-tree driver in nova that supports\n1:M is the ironic baremetal driver, so the comment is updated.\n\n[1] Ifc17c5049e3ed29c8dd130339207907b00433960\n\nDepends-On: https://review.opendev.org/661785/\nChange-Id: I5e0e88d7b2dd1a69117ab03e0e66851c687606da\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/0394005b91102ce5afc467782180b6899d244dc4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/0394005b91102ce5afc467782180b6899d244dc4"}]},"branch":"refs/heads/master"},"3091b587518d21c8c2835408389c935d4df29905":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2019-06-01 06:30:45.000000000","uploader":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"ref":"refs/changes/21/661121/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/21/661121/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/21/661121/4"}}},"commit":{"parents":[{"commit":"9c1b83e610dfc1616bc0242cc150f1444ace44be","subject":"Add missing ws separator between words","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/9c1b83e610dfc1616bc0242cc150f1444ace44be"}]}],"author":{"name":"Matt Riedemann","email":"mriedem.os@gmail.com","date":"2019-05-23 21:00:57.000000000","tz":-240},"committer":{"name":"chenker","email":"chen.ke14@zte.com.cn","date":"2019-06-01 06:30:45.000000000","tz":0},"subject":"Optimize hypervisor API calls","message":"Optimize hypervisor API calls\n\nThe nova CDM builder code and notification handling\ncode had some inefficiencies when it came to looking\nup a hypevisor to get details. The general pattern\nused before was:\n\n1. get the minimal hypervisor information by hypervisor_hostname\n2. make another query to get the hypervisor details by id\n\nIn the notifications case, it was actually three calls because\nthe first is listing hyprvisors to filter client-side by service\nhost.\n\nThis change collapses 1 and 2 above into a single API call\nto get the hypervisor by hypervisor_hostname with details\nwhich will include the service (compute) host information\nwhich is what get_compute_node_by_id() was being used for.\nNow that nothing is using get_compute_node_by_id it is removed.\n\nThere is more work we could do in get_compute_node_by_hostname\nif the compute API allowed filtering hypervisors by service\nhost so a TODO is left for that.\n\nOne final thing: the TODO in get_compute_node_by_hostname about\nthere being more than one hypervisor per compute service host\nfor vmware vcenter is not accurate - nova\u0027s vcenter driver\nhasn\u0027t supported a host:node 1:M topology like that since the\nLiberty release [1]. The only in-tree driver in nova that supports\n1:M is the ironic baremetal driver, so the comment is updated.\n\n[1] Ifc17c5049e3ed29c8dd130339207907b00433960\n\nDepends-On: https://review.opendev.org/661785/\nChange-Id: I5e0e88d7b2dd1a69117ab03e0e66851c687606da\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/3091b587518d21c8c2835408389c935d4df29905"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/3091b587518d21c8c2835408389c935d4df29905"}]},"branch":"refs/heads/master"},"3f76f9cfdb6a1ce4dd120fa3de6c7fb05761102a":{"kind":"NO_CHANGE","_number":5,"created":"2019-06-03 16:30:32.000000000","uploader":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"ref":"refs/changes/21/661121/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/21/661121/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/21/661121/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/21/661121/5"}}},"commit":{"parents":[{"commit":"9c1b83e610dfc1616bc0242cc150f1444ace44be","subject":"Add missing ws separator between words","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/9c1b83e610dfc1616bc0242cc150f1444ace44be"}]}],"author":{"name":"Matt Riedemann","email":"mriedem.os@gmail.com","date":"2019-05-23 21:00:57.000000000","tz":-240},"committer":{"name":"Matt Riedemann","email":"mriedem.os@gmail.com","date":"2019-06-03 16:18:54.000000000","tz":-240},"subject":"Optimize hypervisor API calls","message":"Optimize hypervisor API calls\n\nThe nova CDM builder code and notification handling\ncode had some inefficiencies when it came to looking\nup a hypevisor to get details. The general pattern\nused before was:\n\n1. get the minimal hypervisor information by hypervisor_hostname\n2. make another query to get the hypervisor details by id\n\nIn the notifications case, it was actually three calls because\nthe first is listing hyprvisors to filter client-side by service\nhost.\n\nThis change collapses 1 and 2 above into a single API call\nto get the hypervisor by hypervisor_hostname with details\nwhich will include the service (compute) host information\nwhich is what get_compute_node_by_id() was being used for.\nNow that nothing is using get_compute_node_by_id it is removed.\n\nThere is more work we could do in get_compute_node_by_hostname\nif the compute API allowed filtering hypervisors by service\nhost so a TODO is left for that.\n\nOne final thing: the TODO in get_compute_node_by_hostname about\nthere being more than one hypervisor per compute service host\nfor vmware vcenter is not accurate - nova\u0027s vcenter driver\nhasn\u0027t supported a host:node 1:M topology like that since the\nLiberty release [1]. The only in-tree driver in nova that supports\n1:M is the ironic baremetal driver, so the comment is updated.\n\n[1] Ifc17c5049e3ed29c8dd130339207907b00433960\n\nDepends-On: https://review.opendev.org/661785/\nChange-Id: I5e0e88d7b2dd1a69117ab03e0e66851c687606da\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/3f76f9cfdb6a1ce4dd120fa3de6c7fb05761102a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/3f76f9cfdb6a1ce4dd120fa3de6c7fb05761102a"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
