Commit 723f4565 authored by Michael Hanselmann's avatar Michael Hanselmann
Browse files

rapi: Add /2/nodes/[node_name]/storage/repair resource


Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
Reviewed-by: default avatarIustin Pop <iustin@google.com>
parent 1e3463f1
......@@ -570,6 +570,18 @@ Modifies parameters of storage units on the node. Requires the parameters
of the storage unit). Parameters can be passed additionally. Currently only
``allocatable`` (bool) is supported. The result will be a job id.
``/2/nodes/[node_name]/storage/repair``
+++++++++++++++++++++++++++++++++++++++
Repairs a storage unit on the node.
``PUT``
~~~~~~~
Repairs a storage unit on the node. Requires the parameters ``storage_type``
(currently only ``lvm-vg`` can be repaired) and ``name`` (name of the storage
unit). The result will be a job id.
``/2/nodes/[node_name]/tags``
+++++++++++++++++++++++++++++
......
......@@ -163,6 +163,8 @@ CONNECTOR.update({
rlib2.R_2_nodes_name_storage,
re.compile(r'^/2/nodes/([\w\._-]+)/storage/modify$'):
rlib2.R_2_nodes_name_storage_modify,
re.compile(r'^/2/nodes/([\w\._-]+)/storage/repair$'):
rlib2.R_2_nodes_name_storage_repair,
"/2/instances": rlib2.R_2_instances,
re.compile(r'^/2/instances/([\w\._-]+)$'): rlib2.R_2_instances_name,
re.compile(r'^/2/instances/([\w\._-]+)/tags$'): rlib2.R_2_instances_name_tags,
......
......@@ -353,6 +353,29 @@ class R_2_nodes_name_storage_modify(baserlib.R_Generic):
return baserlib.SubmitJob([op])
class R_2_nodes_name_storage_repair(baserlib.R_Generic):
"""/2/nodes/[node_name]/storage/repair ressource.
"""
def PUT(self):
node_name = self.items[0]
storage_type = self._checkStringVariable("storage_type", None)
if not storage_type:
raise http.HttpBadRequest("Missing the required 'storage_type'"
" parameter")
name = self._checkStringVariable("name", None)
if not name:
raise http.HttpBadRequest("Missing the required 'name'"
" parameter")
op = opcodes.OpRepairNodeStorage(node_name=node_name,
storage_type=storage_type,
name=name)
return baserlib.SubmitJob([op])
class R_2_instances(baserlib.R_Generic):
"""/2/instances resource.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment