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