An AppEngine service to do task scheduling on highly hetegeneous fleets at medium (10000s) scale. It is focused to survive network with low reliability, high latency while still having low bot maintenance, and no server maintenance at all since it's running on AppEngine.
Swarming is purely a task scheduler service. File I/O is done through RBE-CAS (google internal) .
Visit https://goto.google.com/swarming-releases for the Chrome Operations release process.
<appid>
below with your project id.us-central
.Add Member
and add someone else so you can safely be hit by a bus.OAuth client ID
.Configure consent screen
if required.<appid>.appspot.com
https://<appid>.appspot.com
.Save
. You need to create the token before requesting validation...Web application
.https://<appid>.appspot.com
.https://<appid>.appspot.com/oauth2callback
.Create
.Enable API
.Change
.Dedicated
.Edit
:Save
../tools/gae upl -x -A <appid>
swarming.*
tables and grant write access to the AppEngine app. The cron job will fail meanwhile.ui_client_id: "<client_id>"
client_ids: "<client_id>"
Proceed
.You still need an OAuth2 client id if you want to use the Web UI:
Visit http://console.cloud.google.com and create a project.
Visit Google Cloud Console
http://localhost:9050
is an authorized JavaScript origin and http://localhost:9050/oauth2callback
is an authorized redirect URL. You can add multiple ports as needed. 9050 is the default port used by start_server.py
. Replace <client_id> below with the created client id. It will look like 012345678901-abcdefghijklmnopqrstuvwxyzabcdef.apps.googleusercontent.com
.Configure to use this client ID using FS mode. Create configs/services/swarming-local/CONFIGS/settings.cfg
with:
mkdir -p configs/services/swarming-local/CONFIGS/ echo 'ui_client_id: "<client_id>"' > configs/services/swarming-local/CONFIGS/settings.cfg
If you want to access it from another workstation, since the cliend id is allowed to localhost, you can ssh workstation -L 9050:localhost:9050
. Make sure that any corp proxy is bypassed as needed.
You can run a swarming+RBE-CAS local setup with:
./tools/start_servers.py
Then run a bot with:
./tools/start_bot.py http://localhost:9050