Revision 0ec2ce46 lib/cmdlib.py

b/lib/cmdlib.py
5414 5414
    self.op.node_name = _ExpandNodeName(self.cfg, self.op.node_name)
5415 5415
    all_mods = [self.op.offline, self.op.master_candidate, self.op.drained,
5416 5416
                self.op.master_capable, self.op.vm_capable,
5417
                self.op.secondary_ip, self.op.ndparams]
5417
                self.op.secondary_ip, self.op.ndparams, self.op.hv_state,
5418
                self.op.disk_state]
5418 5419
    if all_mods.count(None) == len(all_mods):
5419 5420
      raise errors.OpPrereqError("Please pass at least one modification",
5420 5421
                                 errors.ECODE_INVAL)
......
5655 5656
      utils.ForceDictType(new_ndparams, constants.NDS_PARAMETER_TYPES)
5656 5657
      self.new_ndparams = new_ndparams
5657 5658

  
5659
    if self.op.hv_state:
5660
      self.new_hv_state = _MergeAndVerifyHvState(self.op.hv_state,
5661
                                                 self.node.hv_state_static)
5662

  
5663
    if self.op.disk_state:
5664
      self.new_disk_state = \
5665
        _MergeAndVerifyDiskState(self.op.disk_state,
5666
                                 self.node.disk_state_static)
5667

  
5658 5668
  def Exec(self, feedback_fn):
5659 5669
    """Modifies a node.
5660 5670

  
......
5671 5681
    if self.op.powered is not None:
5672 5682
      node.powered = self.op.powered
5673 5683

  
5684
    if self.op.hv_state:
5685
      node.hv_state_static = self.new_hv_state
5686

  
5687
    if self.op.disk_state:
5688
      node.disk_state_static = self.new_disk_state
5689

  
5674 5690
    for attr in ["master_capable", "vm_capable"]:
5675 5691
      val = getattr(self.op, attr)
5676 5692
      if val is not None:

Also available in: Unified diff