Revision 4c98b915 lib/rapi/rlib2.py
b/lib/rapi/rlib2.py | ||
---|---|---|
550 | 550 |
return baserlib.SubmitJob(ops) |
551 | 551 |
|
552 | 552 |
|
553 |
class R_2_instances_name_replace_disks(baserlib.R_Generic): |
|
554 |
"""/2/instances/[instance_name]/replace-disks resource. |
|
555 |
|
|
556 |
""" |
|
557 |
def POST(self): |
|
558 |
"""Replaces disks on an instance. |
|
559 |
|
|
560 |
""" |
|
561 |
instance_name = self.items[0] |
|
562 |
remote_node = self._checkStringVariable("remote_node", default=None) |
|
563 |
mode = self._checkStringVariable("mode", default=None) |
|
564 |
raw_disks = self._checkStringVariable("disks", default=None) |
|
565 |
iallocator = self._checkStringVariable("iallocator", default=None) |
|
566 |
|
|
567 |
if raw_disks: |
|
568 |
try: |
|
569 |
disks = [int(part) for part in raw_disks.split(",")] |
|
570 |
except ValueError, err: |
|
571 |
raise http.HttpBadRequest("Invalid disk index passed: %s" % str(err)) |
|
572 |
else: |
|
573 |
disks = [] |
|
574 |
|
|
575 |
op = opcodes.OpReplaceDisks(instance_name=instance_name, |
|
576 |
remote_node=remote_node, |
|
577 |
mode=mode, |
|
578 |
disks=disks, |
|
579 |
iallocator=iallocator) |
|
580 |
|
|
581 |
return baserlib.SubmitJob([op]) |
|
582 |
|
|
583 |
|
|
553 | 584 |
class _R_Tags(baserlib.R_Generic): |
554 | 585 |
""" Quasiclass for tagging resources |
555 | 586 |
|
Also available in: Unified diff