Revision 7a8d0d76

b/lib/cmdlib/instance.py
2275 2275
      if constants.IDISK_SIZE in params:
2276 2276
        raise errors.OpPrereqError("Disk size change not possible, use"
2277 2277
                                   " grow-disk", errors.ECODE_INVAL)
2278
      if len(params) > 2:
2279
        raise errors.OpPrereqError("Disk modification doesn't support"
2280
                                   " additional arbitrary parameters",
2281
                                   errors.ECODE_INVAL)
2282 2278
      name = params.get(constants.IDISK_NAME, None)
2283 2279
      if name is not None and name.lower() == constants.VALUE_NONE:
2284 2280
        params[constants.IDISK_NAME] = None
......
3194 3190
      ("disk/%d" % idx, "add:size=%s,mode=%s" % (disk.size, disk.mode)),
3195 3191
      ])
3196 3192

  
3197
  @staticmethod
3198
  def _ModifyDisk(idx, disk, params, _):
3193
  def _ModifyDisk(self, idx, disk, params, _):
3199 3194
    """Modifies a disk.
3200 3195

  
3201 3196
    """
3202 3197
    changes = []
3203
    for key in [constants.IDISK_MODE, constants.IDISK_NAME]:
3204
      if key in params:
3205
        setattr(disk, key, params[key])
3206
        changes.append(("disk.%s/%d" % (key, idx), params[key]))
3198
    for key, value in params.iteritems():
3199
      if key in [constants.IDISK_MODE, constants.IDISK_NAME]:
3200
        setattr(disk, key, value)
3201
        changes.append(("disk.%s/%d" % (key, idx), value))
3202
      elif self.instance.disk_template == constants.DT_EXT:
3203
        disk.params[key] = value
3204
        changes.append(("disk.params:%s/%d" % (key, idx), value))
3207 3205

  
3208 3206
    return changes
3209 3207

  

Also available in: Unified diff