[openstack-dev] [Nova] [Cyborg] why cyborg can not support an accelerators info list for more than one host?
Ed Leafe
ed at leafe.com
Wed Mar 21 16:50:33 UTC 2018
On Mar 21, 2018, at 11:35 AM, 少合冯 <lvmxhster at gmail.com> wrote:
>
>> By default, hosts are weighed one by one. You can subclass the BaseWeigher (in nova/weights.py) to weigh all objects at once.
>
> Does that means it require call cyborg accelerator one by one? the pseudo code as follow:
> for host in hosts:
> accelerator = cyborg.http_get_ accelerator(host)
> do_weight_by_accelerator
>
> Instead of call cyborg accelerators once, the pseudo code as follow :
> accelerators = cyborg.http_get_ accelerator(hosts)
> for acc in accelerators:
> do_weight_by_accelerator
What it means is that if you override the weigh_objects() method of the BaseWeigher class, you can make a single call to Cyborg with a list of all the hosts. That call could then create a list of weights for all the hosts and return that. So if you have 100 hosts, you don’t need to make 100 calls to Cyborg; only 1.
-- Ed Leafe
More information about the OpenStack-dev
mailing list