Revision 83e7af18
b/lib/rpc.py | ||
---|---|---|
417 | 417 |
@param read_timeout: Read timeout for request |
418 | 418 |
|
419 | 419 |
""" |
420 |
assert procedure in _TIMEOUTS, "RPC call not declared in the timeouts table" |
|
421 |
|
|
422 | 420 |
if read_timeout is None: |
423 |
read_timeout = _TIMEOUTS[procedure] |
|
421 |
read_timeout = _TIMEOUTS.get(procedure, None) |
|
422 |
|
|
423 |
assert read_timeout is not None, \ |
|
424 |
"Missing RPC read timeout for procedure '%s'" % procedure |
|
424 | 425 |
|
425 | 426 |
(results, requests) = \ |
426 | 427 |
self._PrepareRequests(self._resolver(hosts), self._port, procedure, |
b/test/ganeti.rpc_unittest.py | ||
---|---|---|
36 | 36 |
import testutils |
37 | 37 |
|
38 | 38 |
|
39 |
class TestTimeouts(unittest.TestCase): |
|
40 |
def test(self): |
|
41 |
names = [name[len("call_"):] for name in dir(rpc.RpcRunner) |
|
42 |
if name.startswith("call_")] |
|
43 |
self.assertEqual(len(names), len(rpc._TIMEOUTS)) |
|
44 |
self.assertFalse([name for name in names |
|
45 |
if not (rpc._TIMEOUTS[name] is None or |
|
46 |
rpc._TIMEOUTS[name] > 0)]) |
|
47 |
|
|
48 |
|
|
49 | 39 |
class _FakeRequestProcessor: |
50 | 40 |
def __init__(self, response_fn): |
51 | 41 |
self._response_fn = response_fn |
... | ... | |
229 | 219 |
http_proc = \ |
230 | 220 |
_FakeRequestProcessor(compat.partial(self._GetHttpErrorResponse, |
231 | 221 |
httperrnodes, failnodes)) |
232 |
result = proc(nodes, "vg_list", None, _req_process_fn=http_proc) |
|
222 |
result = proc(nodes, "vg_list", None, _req_process_fn=http_proc, |
|
223 |
read_timeout=rpc._TMO_URGENT) |
|
233 | 224 |
self.assertEqual(sorted(result.keys()), sorted(nodes)) |
234 | 225 |
|
235 | 226 |
for name in nodes: |
Also available in: Unified diff