ReleaseEngineering/How To/Manage Buildbot with Fabric: Difference between revisions

Jump to navigation Jump to search
(more explicit mention of ssh-agent requirements)
Line 46: Line 46:
Fabric works on individual hosts, and supports organizing these hosts into groups.  This is mostly a good fit for how we need to work, except we often have multiple buildbot masters on a single host, so there is a bit of hacking in master_fabric.py to pick out the right hosts to operate on depending on what the user has selected.
Fabric works on individual hosts, and supports organizing these hosts into groups.  This is mostly a good fit for how we need to work, except we often have multiple buildbot masters on a single host, so there is a bit of hacking in master_fabric.py to pick out the right hosts to operate on depending on what the user has selected.


Hosts are selected with the -H flag, and roles are selected with the -R flag.  Hosts correspond to the 'name' field in the masters json file, and are short abbreviations to refer to each master, e.g. pm01-bm, pm01-sm, pm02-try.  We have 4 roles defined: '''build''', '''scheduler''', '''try''', and '''tests'''.  Selecting a role will restrict fabric to only operate on masters that operate on that role.
Hosts are selected with the -H flag, and roles are selected with the -R flag.  Hosts correspond to the 'name' field in the masters json file, and are short abbreviations to refer to each master, e.g. bm13-build1, bm19-tests1-tegra, bm33-try1, bm36-build_scheduler.  We have 4 roles defined: '''build''', '''scheduler''', '''try''', and '''tests'''.  Selecting a role will restrict fabric to only operate on masters that operate on that role.


The string 'all' when specified via -H or -R means that all masters in the masters file will be operated on.
The string 'all' when specified via -H or -R means that all masters in the masters file will be operated on. You can also use -M flag to match on strings in the master name, eg -M tests1-windows to pick up all the windows test masters.


Fabric relies on being able to ssh to the masters without password authentication, so be sure to have your ssh keys set up! Which means have the needed keys added into the running instance of your ssh-agent (your "<tt>~/.ssh/config</tt>" file is ''not'' consulted by Paramiko.) If you don't have the keys set up, you'll be asked for your password one time per invocation, so use multiple commands per invocation where appropriate.
Fabric relies on being able to ssh to the masters without password authentication, so be sure to have your ssh keys set up! Which means have the needed keys added into the running instance of your ssh-agent (your "<tt>~/.ssh/config</tt>" file is ''not'' consulted by Paramiko.) If you don't have the keys set up, you'll be asked for your password one time per invocation, so use multiple commands per invocation where appropriate.
Confirmed users
4,293

edits

Navigation menu