Revision 73452f12
b/doc/rapi.rst | ||
---|---|---|
464 | 464 |
... |
465 | 465 |
] |
466 | 466 |
|
467 |
``/2/nodes/[node_name]/evacuate`` |
|
468 |
+++++++++++++++++++++++++++++++++ |
|
469 |
|
|
470 |
Evacuates all secondary instances off a node. |
|
471 |
|
|
472 |
It supports the following commands: ``POST``. |
|
473 |
|
|
474 |
``POST`` |
|
475 |
~~~~~~~~ |
|
476 |
|
|
477 |
To evacuate a node, either one of the ``iallocator`` or ``remote_node`` |
|
478 |
parameters must be passed: |
|
479 |
|
|
480 |
evacuate?iallocator=[iallocator] |
|
481 |
evacuate?remote_node=[nodeX.example.com] |
|
482 |
|
|
467 | 483 |
``/2/nodes/[node_name]/role`` |
468 | 484 |
+++++++++++++++++++++++++++++ |
469 | 485 |
|
b/lib/rapi/connector.py | ||
---|---|---|
155 | 155 |
re.compile(r'^/2/nodes/([\w\._-]+)$'): rlib2.R_2_nodes_name, |
156 | 156 |
re.compile(r'^/2/nodes/([\w\._-]+)/tags$'): rlib2.R_2_nodes_name_tags, |
157 | 157 |
re.compile(r'^/2/nodes/([\w\._-]+)/role$'): rlib2.R_2_nodes_name_role, |
158 |
re.compile(r'^/2/nodes/([\w\._-]+)/evacuate$'): |
|
159 |
rlib2.R_2_nodes_name_evacuate, |
|
158 | 160 |
"/2/instances": rlib2.R_2_instances, |
159 | 161 |
re.compile(r'^/2/instances/([\w\._-]+)$'): rlib2.R_2_instances_name, |
160 | 162 |
re.compile(r'^/2/instances/([\w\._-]+)/tags$'): rlib2.R_2_instances_name_tags, |
b/lib/rapi/rlib2.py | ||
---|---|---|
261 | 261 |
return baserlib.SubmitJob([op]) |
262 | 262 |
|
263 | 263 |
|
264 |
class R_2_nodes_name_evacuate(baserlib.R_Generic): |
|
265 |
"""/2/nodes/[node_name]/evacuate resource. |
|
266 |
|
|
267 |
""" |
|
268 |
def POST(self): |
|
269 |
"""Evacuate all secondary instances off a node. |
|
270 |
|
|
271 |
""" |
|
272 |
node_name = self.items[0] |
|
273 |
remote_node = self._checkStringVariable("remote_node", default=None) |
|
274 |
iallocator = self._checkStringVariable("iallocator", default=None) |
|
275 |
|
|
276 |
op = opcodes.OpEvacuateNode(node_name=node_name, |
|
277 |
remote_node=remote_node, |
|
278 |
iallocator=iallocator) |
|
279 |
|
|
280 |
return baserlib.SubmitJob([op]) |
|
281 |
|
|
282 |
|
|
264 | 283 |
class R_2_instances(baserlib.R_Generic): |
265 | 284 |
"""/2/instances resource. |
266 | 285 |
|
Also available in: Unified diff