Pools are useful to constrain a set of tasks to an arbitrary subset of the
bots. It could be to artificially restrain throughput, to better localize
problems, etc.
Right now if pools are desired, some form of static allocation must be done.
That's counter to the fundamental design of Swarming, where bots do not have to
be statically assigned upfront.
So for example, a single pool could be assigned 10 bots. This cannot be
determined bot side via bot_config.py; the bot doesn't know if there's already
10 other bots assigned to this pool and it doesn't know if one bot dies.
So the allocation has to be done server side via a set of rules. The logic
could be as follow;
- Minimum: 10
- Extra dimensions: {'foo': 'bar'}
So basically, the server would ensure that there is at least 10 bots with the
extra dimensions specified. They would be transparently added to the bot's
self-published dimensions. The bot has to be told that it has additional
server-provided dimensions in the poll's reply.
Workaround:
The current work around is to add the extraneous dimension in bot_config.py,
based on the hostname. That's not maintainable long term.
Original issue reported on code.google.com by maruel@chromium.org on 10 Oct 2014 at 7:03
Original issue reported on code.google.com by
maruel@chromium.org
on 10 Oct 2014 at 7:03