evacuate?iallocator=[iallocator]
evacuate?remote_node=[nodeX.example.com]
+``/2/nodes/[node_name]/migrate``
++++++++++++++++++++++++++++++++++
+
+Migrates all primary instances from a node.
+
+It supports the following commands: ``POST``.
+
+``POST``
+~~~~~~~~
+
+No parameters are required, but ``live`` can be set to a boolean value.
+
+ migrate?live=[0|1]
+
``/2/nodes/[node_name]/role``
+++++++++++++++++++++++++++++
re.compile(r'^/2/nodes/([\w\._-]+)/role$'): rlib2.R_2_nodes_name_role,
re.compile(r'^/2/nodes/([\w\._-]+)/evacuate$'):
rlib2.R_2_nodes_name_evacuate,
+ re.compile(r'^/2/nodes/([\w\._-]+)/migrate$'):
+ rlib2.R_2_nodes_name_migrate,
"/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,
return baserlib.SubmitJob([op])
+class R_2_nodes_name_migrate(baserlib.R_Generic):
+ """/2/nodes/[node_name]/evacuate migrate.
+
+ """
+ def POST(self):
+ """Migrate all primary instances from a node.
+
+ """
+ node_name = self.items[0]
+ live = bool(self._checkIntVariable("live", default=1))
+
+ op = opcodes.OpMigrateNode(node_name=node_name, live=live)
+
+ return baserlib.SubmitJob([op])
+
+
class R_2_instances(baserlib.R_Generic):
"""/2/instances resource.