Devil: Device Blacklist

What is it?

The device blacklist is a per-run list of devices detected to be in a known bad state along with the reason they are suspected of being in a bad state (offline, not responding, etc). It is stored as a json file. This gets reset every run during the device recovery step (currently part of bb_device_status_check).


On bots, this is normally found at //out/bad_devices.json. If you are having problems with blacklisted devices locally even though a device is in a good state, you can safely delete this file.

Tools for interacting with device black list.

You can interact with the device blacklist via This allows for any interaction you would need with a device blacklist:

  • Reading
  • Writing
  • Extending
  • Resetting

An example usecase of this is:

from import device_blacklist

blacklist = device_blacklist.Blacklist(blacklist_path)
blacklisted_devices = blacklist.Read()
for device in blacklisted_devices:
  print 'Device %s is blacklisted' % device
new_blacklist = {'device_id1': {'timestamp': ts, 'reason': reason}}
blacklist.Extend([device_2, device_3], reason='Reason for blacklisting')

Where it is used.

The blacklist file path is passed directly to the following scripts in chromium:

The blacklist is also used in the following scripts: