</para>
</refsect3>
+ <refsect3>
+ <title>MOVE</title>
+
+ <cmdsynopsis>
+ <command>move</command>
+ <arg>-f</arg>
+ <arg>-n <replaceable>node</replaceable></arg>
+ <arg>--submit</arg>
+ <arg choice="req"><replaceable>instance</replaceable></arg>
+ </cmdsynopsis>
+
+ <para>
+ Move will move the instance to an arbitrary node in the
+ cluster. This works only for instances having a plain or
+ file disk template.
+ </para>
+
+ <para>
+ Note that since this operation is done via data copy, it
+ will take a long time for big disks (similar to
+ replace-disks for a drbd instance).
+ </para>
+
+ <para>
+ The <option>--submit</option> option is used to send the job to
+ the master daemon but not wait for its completion. The job
+ ID will be shown so that it can be examined via
+ <command>gnt-job info</command>.
+ </para>
+
+ <para>
+ Example:
+ <screen>
+# gnt-instance move -n node3.example.com instance1.example.com
+ </screen>
+ </para>
+ </refsect3>
+
</refsect2>
<refsect2>
return 0
+def MoveInstance(opts, args):
+ """Move an instance.
+
+ @param opts: the command line options selected by the user
+ @type args: list
+ @param args: should contain only one element, the instance name
+ @rtype: int
+ @return: the desired exit code
+
+ """
+ cl = GetClient()
+ instance_name = args[0]
+ force = opts.force
+
+ if not force:
+ usertext = ("Instance %s will be moved."
+ " This requires a shutdown of the instance. Continue?" %
+ (instance_name,))
+ if not AskUser(usertext):
+ return 1
+
+ op = opcodes.OpMoveInstance(instance_name=instance_name,
+ target_node=opts.target_node)
+ SubmitOrSend(op, opts, cl=cl)
+ return 0
+
+
def ConnectToInstanceConsole(opts, args):
"""Connect to the console of an instance.
"[-f] <instance>",
"Migrate instance to its secondary node"
" (only for instances of type drbd)"),
+ 'move': (MoveInstance, ARGS_ONE,
+ [DEBUG_OPT, FORCE_OPT, SUBMIT_OPT,
+ make_option("-n", "--new-node", dest="target_node",
+ help="Destinattion node", metavar="NODE",
+ default=None),
+ ],
+ "[-f] <instance>",
+ "Move instance to an arbitrary node"
+ " (only for instances of type file and lv)"),
'info': (ShowInstanceConfig, ARGS_ANY,
[DEBUG_OPT,
make_option("-s", "--static", dest="static",