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