Repro:
1. Trigger a task
2. Bot grab the task and starts execution
3. Default server version is switched by an administrator
Expected:
Bot continue communicating the old server for the duration of the task.
Actual:
Bot running the old bot code talks to the new server.
Goal:
Make bot API breaking changes more trivial to roll out and back. Right now it
requires a small amount of compatibility shim, only because of not breaking
currently running tasks.
Action Items:
- When a bot /poll a task, the server returns 'host' to use for the
communication for the remainder of this task. It's the fully qualified hostname
including the version.
- Bot must assert it's the same base host name, e.g.
new_server.endswith(old_server), e.g.
'1000-12345678-dot-chromium-swarm.appspot.com'.endswith('chromium-swarm.appspot.
com' is True.
- bot_main.py run_manifest() is provided this new remote. This is also passed
to task_runner, which will never see the unqualified host name.
Original issue reported on code.google.com by maruel@chromium.org on 16 Oct 2014 at 12:45
Original issue reported on code.google.com by
maruel@chromium.org
on 16 Oct 2014 at 12:45