@@ -0,0 +1,1219 @@
+#!/usr/bin/env python%0A# Copyright 2018 The LUCI Authors. All rights reserved.%0A# Use of this source code is governed under the Apache License, Version 2.0%0A# that can be found in the LICENSE file.%0A%0A%22%22%22Check the health of a Swarming version.%22%22%22%0A%0Aimport argparse%0Aimport os%0Aimport subprocess%0Aimport sys%0A%0AHERE = os.path.dirname(__file__)%0ASWARMING_TOOL = os.path.join(HERE, '..', '..', '..', 'client', 'swarming.py')%0A%0A# TODO(flowblok): remove this hard-coded pool%0APOOL = 'ChromeOS'%0A%0A%0Adef main():%0A  parser = argparse.ArgumentParser()%0A  parser.add_argument('application')%0A  parser.add_argument('server_version')%0A  args = parser.parse_args()%0A%0A  url = 'https://%7Bserver_version%7D-dot-%7Bapplication%7D.appspot.com'.format(%0A      application=args.application,%0A      server_version=args.server_version)%0A%0A  print 'Scheduling no-op task on', url%0A%0A  rv = subprocess.call(%5B%0A      SWARMING_TOOL, 'run',%0A      '-S', url,%0A      '--expiration', '120',%0A      '--hard-timeout', '120',%0A      '-d', 'pool', POOL,%0A      '-d', 'server_version', args.server_version,%0A      '--raw-cmd', '--', 'python', '-c', 'pass'%5D)%0A  if rv != 0:%0A    print%3E%3Esys.stderr, 'Failed to run no-op task'%0A    return 2%0A  return 0%0A%0A%0Aif __name__ == '__main__':%0A  sys.exit(main())%0A

Add a health check tool for use by the deployment tools.