| Index: testing/legion/client_controller.py
|
| diff --git a/testing/legion/client_controller.py b/testing/legion/client_controller.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..dd80c2948d073251603ea7113fec08b016494c91
|
| --- /dev/null
|
| +++ b/testing/legion/client_controller.py
|
| @@ -0,0 +1,51 @@
|
| +#!/usr/bin/env python
|
| +# Copyright 2015 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +"""The main client_controller code.
|
| +
|
| +This code is the main entry point for the client machines and handles
|
| +registering with the host server and running the local RPC server.
|
| +"""
|
| +
|
| +import argparse
|
| +import logging
|
| +import socket
|
| +import sys
|
| +import time
|
| +
|
| +#pylint: disable=relative-import
|
| +import client_rpc_server
|
| +import common_lib
|
| +
|
| +
|
| +def main():
|
| + print ' '.join(sys.argv)
|
| + common_lib.InitLogging()
|
| + logging.info('Client controller starting')
|
| +
|
| + parser = argparse.ArgumentParser()
|
| + parser.add_argument('--otp',
|
| + help='One time token used to authenticate with the host')
|
| + parser.add_argument('--host',
|
| + help='The ip address of the host')
|
| + parser.add_argument('--idle-timeout', type=int,
|
| + default=common_lib.DEFAULT_TIMEOUT_SECS,
|
| + help='The idle timeout for the rpc server in seconds')
|
| + args, _ = parser.parse_known_args()
|
| +
|
| + logging.info(
|
| + 'Registering with discovery server at %s using OTP %s', args.host,
|
| + args.otp)
|
| + server = common_lib.ConnectToServer(args.host).RegisterClient(
|
| + args.otp, common_lib.MY_IP)
|
| +
|
| + server = client_rpc_server.RPCServer(args.host, args.idle_timeout)
|
| +
|
| + server.serve_forever()
|
| + return 0
|
| +
|
| +
|
| +if __name__ == '__main__':
|
| + sys.exit(main())
|
|
|