Revision 539d65ba lib/rapi/rlib2.py
b/lib/rapi/rlib2.py | ||
---|---|---|
999 | 999 |
|
1000 | 1000 |
# Parse disks |
1001 | 1001 |
try: |
1002 |
raw_disks = data["disks"]
|
|
1002 |
raw_disks = data.pop("disks")
|
|
1003 | 1003 |
except KeyError: |
1004 | 1004 |
pass |
1005 | 1005 |
else: |
1006 |
if not ht.TListOf(ht.TInt)(raw_disks): # pylint: disable=E1102 |
|
1007 |
# Backwards compatibility for strings of the format "1, 2, 3" |
|
1008 |
try: |
|
1009 |
data["disks"] = [int(part) for part in raw_disks.split(",")] |
|
1010 |
except (TypeError, ValueError), err: |
|
1011 |
raise http.HttpBadRequest("Invalid disk index passed: %s" % str(err)) |
|
1006 |
if raw_disks: |
|
1007 |
if ht.TListOf(ht.TInt)(raw_disks): # pylint: disable=E1102 |
|
1008 |
data["disks"] = raw_disks |
|
1009 |
else: |
|
1010 |
# Backwards compatibility for strings of the format "1, 2, 3" |
|
1011 |
try: |
|
1012 |
data["disks"] = [int(part) for part in raw_disks.split(",")] |
|
1013 |
except (TypeError, ValueError), err: |
|
1014 |
raise http.HttpBadRequest("Invalid disk index passed: %s" % str(err)) |
|
1012 | 1015 |
|
1013 | 1016 |
return baserlib.FillOpcode(opcodes.OpInstanceReplaceDisks, data, override) |
1014 | 1017 |
|
... | ... | |
1021 | 1024 |
"""Replaces disks on an instance. |
1022 | 1025 |
|
1023 | 1026 |
""" |
1024 |
op = _ParseInstanceReplaceDisksRequest(self.items[0], self.request_body) |
|
1027 |
if self.request_body: |
|
1028 |
body = self.request_body |
|
1029 |
elif self.queryargs: |
|
1030 |
# Legacy interface, do not modify/extend |
|
1031 |
body = { |
|
1032 |
"remote_node": self._checkStringVariable("remote_node", default=None), |
|
1033 |
"mode": self._checkStringVariable("mode", default=None), |
|
1034 |
"disks": self._checkStringVariable("disks", default=None), |
|
1035 |
"iallocator": self._checkStringVariable("iallocator", default=None), |
|
1036 |
} |
|
1037 |
else: |
|
1038 |
body = {} |
|
1039 |
|
|
1040 |
op = _ParseInstanceReplaceDisksRequest(self.items[0], body) |
|
1025 | 1041 |
|
1026 | 1042 |
return baserlib.SubmitJob([op]) |
1027 | 1043 |
|
Also available in: Unified diff