[Telemetry] Fix 'important' field of certain Values being non-boolean
[chromium-blink-merge.git] / testing / legion / client_controller.py
blobdd80c2948d073251603ea7113fec08b016494c91
1 #!/usr/bin/env python
2 # Copyright 2015 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
6 """The main client_controller code.
8 This code is the main entry point for the client machines and handles
9 registering with the host server and running the local RPC server.
10 """
12 import argparse
13 import logging
14 import socket
15 import sys
16 import time
18 #pylint: disable=relative-import
19 import client_rpc_server
20 import common_lib
23 def main():
24 print ' '.join(sys.argv)
25 common_lib.InitLogging()
26 logging.info('Client controller starting')
28 parser = argparse.ArgumentParser()
29 parser.add_argument('--otp',
30 help='One time token used to authenticate with the host')
31 parser.add_argument('--host',
32 help='The ip address of the host')
33 parser.add_argument('--idle-timeout', type=int,
34 default=common_lib.DEFAULT_TIMEOUT_SECS,
35 help='The idle timeout for the rpc server in seconds')
36 args, _ = parser.parse_known_args()
38 logging.info(
39 'Registering with discovery server at %s using OTP %s', args.host,
40 args.otp)
41 server = common_lib.ConnectToServer(args.host).RegisterClient(
42 args.otp, common_lib.MY_IP)
44 server = client_rpc_server.RPCServer(args.host, args.idle_timeout)
46 server.serve_forever()
47 return 0
50 if __name__ == '__main__':
51 sys.exit(main())