diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2011-06-01 09:50:25 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2011-06-01 09:50:46 -0400 |
commit | 927f5d957d76f8743b1ae812b5f915588fcb8de6 (patch) | |
tree | 3890a6b39d12bd4e84d128e5c3f3a7050c605672 | |
parent | 750f1faac80aa97714673abdb435cfb0ede5d734 (diff) | |
download | bcfg2-927f5d957d76f8743b1ae812b5f915588fcb8de6.tar.gz bcfg2-927f5d957d76f8743b1ae812b5f915588fcb8de6.tar.bz2 bcfg2-927f5d957d76f8743b1ae812b5f915588fcb8de6.zip |
added -t option to set client timeout
-rw-r--r-- | man/bcfg2.1 | 5 | ||||
-rw-r--r-- | src/lib/Options.py | 3 | ||||
-rw-r--r-- | src/lib/Server/Admin/Perf.py | 4 | ||||
-rw-r--r-- | src/lib/Server/Admin/Xcmd.py | 5 | ||||
-rwxr-xr-x | src/sbin/bcfg2 | 10 |
5 files changed, 20 insertions, 7 deletions
diff --git a/man/bcfg2.1 b/man/bcfg2.1 index 938d41dfe..7f108ed8f 100644 --- a/man/bcfg2.1 +++ b/man/bcfg2.1 @@ -147,6 +147,11 @@ Attempt to authenticate as 'user'. Use 'password' for client communication. .TP +.BR "\-t <timeout>" +Set the timeout (in seconds) for client communication. Default is 90 +seconds. + +.TP .BR "\-v" Run bcfg2 in verbose mode. .RE diff --git a/src/lib/Options.py b/src/lib/Options.py index 26d0fa349..e6eebb808 100644 --- a/src/lib/Options.py +++ b/src/lib/Options.py @@ -317,6 +317,9 @@ CLIENT_USER = Option('The user to provide for authentication', default='root', cmd='-u', cf=('communication', 'user'), odesc='<user>') CLIENT_SERVICE_MODE = Option('Set client service mode', default='default', cmd='-s', odesc='<default|disabled|build>') +CLIENT_TIMEOUT = Option('Set the client XML-RPC timeout', default=90, + cmd='-t', cf=('communication', 'timeout'), + odesc='<timeout>') # APT client tool options CLIENT_APT_TOOLS_INSTALL_PATH = Option('Apt tools install path', diff --git a/src/lib/Server/Admin/Perf.py b/src/lib/Server/Admin/Perf.py index af1c83072..d03b37d57 100644 --- a/src/lib/Server/Admin/Perf.py +++ b/src/lib/Server/Admin/Perf.py @@ -22,6 +22,7 @@ class Perf(Bcfg2.Server.Admin.Mode): 'password': Bcfg2.Options.SERVER_PASSWORD, 'server': Bcfg2.Options.SERVER_LOCATION, 'user': Bcfg2.Options.CLIENT_USER, + 'timeout': Bcfg2.Options.CLIENT_TIMEOUT, } setup = Bcfg2.Options.OptionParser(optinfo) setup.parse(sys.argv[2:]) @@ -30,7 +31,8 @@ class Perf(Bcfg2.Server.Admin.Mode): setup['password'], key=setup['key'], cert=setup['certificate'], - ca=setup['ca']) + ca=setup['ca'], + timeout=setup['timeout']) data = proxy.get_statistics() for key, value in list(data.items()): data = tuple(["%.06f" % (item) for item in value[:-1]] + [value[-1]]) diff --git a/src/lib/Server/Admin/Xcmd.py b/src/lib/Server/Admin/Xcmd.py index fd5794f88..2cb085346 100644 --- a/src/lib/Server/Admin/Xcmd.py +++ b/src/lib/Server/Admin/Xcmd.py @@ -20,7 +20,8 @@ class Xcmd(Bcfg2.Server.Admin.Mode): 'password': Bcfg2.Options.SERVER_PASSWORD, 'key': Bcfg2.Options.SERVER_KEY, 'certificate': Bcfg2.Options.CLIENT_CERT, - 'ca': Bcfg2.Options.CLIENT_CA + 'ca': Bcfg2.Options.CLIENT_CA, + 'timeout': Bcfg2.Options.CLIENT_TIMEOUT, } setup = Bcfg2.Options.OptionParser(optinfo) setup.parse(sys.argv[2:]) @@ -31,7 +32,7 @@ class Xcmd(Bcfg2.Server.Admin.Mode): key=setup['key'], cert=setup['certificate'], ca=setup['ca'], - timeout=180) + timeout=setup['timeout']) if len(setup['args']) == 0: print("Usage: xcmd <xmlrpc method> <optional arguments>") return diff --git a/src/sbin/bcfg2 b/src/sbin/bcfg2 index eb41af640..534ab8238 100755 --- a/src/sbin/bcfg2 +++ b/src/sbin/bcfg2 @@ -75,6 +75,7 @@ class Client: 'certificate': Bcfg2.Options.CLIENT_CERT, 'ca': Bcfg2.Options.CLIENT_CA, 'serverCN': Bcfg2.Options.CLIENT_SCNS, + 'timeout': Bcfg2.Options.CLIENT_TIMEOUT, } self.setup = Bcfg2.Options.OptionParser(optinfo) @@ -178,10 +179,11 @@ class Client: proxy = Bcfg2.Proxy.ComponentProxy(self.setup['server'], self.setup['user'], self.setup['password'], - key = self.setup['key'], - cert = self.setup['certificate'], - ca = self.setup['ca'], - allowedServerCNs = self.setup['serverCN']) + key=self.setup['key'], + cert=self.setup['certificate'], + ca=self.setup['ca'], + allowedServerCNs=self.setup['serverCN'], + timeout=self.setup['timeout']) if self.setup['profile']: try: |