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