Revision fb1ffbca lib/rpc.py

b/lib/rpc.py
781 781
    return self.call_test_delay(node_list, duration,
782 782
                                read_timeout=int(duration + 5))
783 783

  
784
  @classmethod
785
  @_RpcTimeout(_TMO_URGENT)
786
  def call_jobqueue_update(cls, node_list, address_list, file_name, content):
787
    """Update job queue.
788

  
789
    This is a multi-node call.
790

  
791
    """
792
    return cls._StaticMultiNodeCall(node_list, "jobqueue_update",
793
                                    [file_name, _Compress(content)],
794
                                    address_list=address_list)
795

  
796
  @classmethod
797
  @_RpcTimeout(_TMO_NORMAL)
798
  def call_jobqueue_purge(cls, node):
799
    """Purge job queue.
800

  
801
    This is a single-node call.
802

  
803
    """
804
    return cls._StaticSingleNodeCall(node, "jobqueue_purge", [])
805

  
806
  @classmethod
807
  @_RpcTimeout(_TMO_URGENT)
808
  def call_jobqueue_rename(cls, node_list, address_list, rename):
809
    """Rename a job queue file.
810

  
811
    This is a multi-node call.
812

  
813
    """
814
    return cls._StaticMultiNodeCall(node_list, "jobqueue_rename", rename,
815
                                    address_list=address_list)
816

  
817 784
  @_RpcTimeout(_TMO_NORMAL)
818 785
  def call_hypervisor_validate_params(self, node_list, hvname, hvparams):
819 786
    """Validate the hypervisor params.
......
832 799
    hv_full = objects.FillDict(cluster.hvparams.get(hvname, {}), hvparams)
833 800
    return self._MultiNodeCall(node_list, "hypervisor_validate_params",
834 801
                               [hvname, hv_full])
802

  
803

  
804
class JobQueueRunner(_generated_rpc.RpcClientJobQueue):
805
  """RPC wrappers for job queue.
806

  
807
  """
808
  _Compress = staticmethod(_Compress)
809

  
810
  def __init__(self, context, address_list):
811
    """Initializes this class.
812

  
813
    """
814
    _generated_rpc.RpcClientJobQueue.__init__(self)
815

  
816
    if address_list is None:
817
      resolver = _SsconfResolver
818
    else:
819
      # Caller provided an address list
820
      resolver = _StaticResolver(address_list)
821

  
822
    self._proc = _RpcProcessor(resolver,
823
                               netutils.GetDaemonPort(constants.NODED),
824
                               lock_monitor_cb=context.glm.AddToLockMonitor)
825

  
826
  def _Call(self, node_list, procedure, timeout, args):
827
    """Entry point for automatically generated RPC wrappers.
828

  
829
    """
830
    body = serializer.DumpJson(args, indent=False)
831

  
832
    return self._proc(node_list, procedure, body, read_timeout=timeout)

Also available in: Unified diff