Revision d5ea30e8 lib/rpc.py

b/lib/rpc.py
584 584
  """RPC runner class.
585 585

  
586 586
  """
587
  def __init__(self, context):
587
  def __init__(self, cfg, lock_monitor_cb, _req_process_fn=None, _getents=None):
588 588
    """Initialized the RPC runner.
589 589

  
590
    @type context: C{masterd.GanetiContext}
591
    @param context: Ganeti context
590
    @type cfg: L{config.ConfigWriter}
591
    @param cfg: Configuration
592
    @type lock_monitor_cb: callable
593
    @param lock_monitor_cb: Lock monitor callback
592 594

  
593 595
    """
594
    self._cfg = context.cfg
596
    self._cfg = cfg
595 597

  
596 598
    encoders = _ENCODERS.copy()
597 599

  
......
603 605
      })
604 606

  
605 607
    # Resolver using configuration
606
    resolver = compat.partial(_NodeConfigResolver, self._cfg.GetNodeInfo,
607
                              self._cfg.GetAllNodesInfo)
608
    resolver = compat.partial(_NodeConfigResolver, cfg.GetNodeInfo,
609
                              cfg.GetAllNodesInfo)
608 610

  
609 611
    # Pylint doesn't recognize multiple inheritance properly, see
610 612
    # <http://www.logilab.org/ticket/36586> and
611 613
    # <http://www.logilab.org/ticket/35642>
612 614
    # pylint: disable=W0233
613 615
    _RpcClientBase.__init__(self, resolver, encoders.get,
614
                            lock_monitor_cb=context.glm.AddToLockMonitor)
616
                            lock_monitor_cb=lock_monitor_cb,
617
                            _req_process_fn=_req_process_fn)
615 618
    _generated_rpc.RpcClientConfig.__init__(self)
616 619
    _generated_rpc.RpcClientBootstrap.__init__(self)
617 620
    _generated_rpc.RpcClientDefault.__init__(self)

Also available in: Unified diff