#
#
-# Copyright (C) 2006, 2007 Google Inc.
+# Copyright (C) 2006, 2007, 2008, 2009, 2010 Google Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
"MAINTAIN_NODE_HEALTH_OPT",
"MASTER_NETDEV_OPT",
"MC_OPT",
- "MIGRATION_TYPE_OPT",
+ "MIGRATION_MODE_OPT",
"NET_OPT",
"NEW_CLUSTER_CERT_OPT",
"NEW_CLUSTER_DOMAIN_SECRET_OPT",
" freeze the instance, save the state, transfer and"
" only then resume running on the secondary node)")
-MIGRATION_TYPE_OPT = cli_option("--migration-type", dest="migration_type",
+MIGRATION_MODE_OPT = cli_option("--migration-mode", dest="migration_mode",
default=None,
- choices=list(constants.HT_MIGRATION_TYPES),
- help="Override default migration type (choose"
+ choices=list(constants.HT_MIGRATION_MODES),
+ help="Override default migration mode (choose"
" either live or non-live")
NODE_PLACEMENT_OPT = cli_option("-n", "--node", dest="node",
#
#
-# Copyright (C) 2006, 2007, 2008 Google Inc.
+# Copyright (C) 2006, 2007, 2008, 2009, 2010 Google Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#: the migration type (live/non-live)
_PMigrationLive = ("live", None, _TOr(_TNone,
- _TElemOf(constants.HT_MIGRATION_TYPES)))
+ _TElemOf(constants.HT_MIGRATION_MODES)))
# End types
if self.lu.op.live is None:
# read the default value from the hypervisor
i_hv = self.cfg.GetClusterInfo().FillHV(instance, skip_globals=False)
- self.lu.op.live = i_hv[constants.HV_MIGRATION_TYPE]
+ self.lu.op.live = i_hv[constants.HV_MIGRATION_MODE]
self.live = self.lu.op.live == constants.HT_MIGRATION_LIVE
HV_MIGRATION_PORT = "migration_port"
HV_MIGRATION_BANDWIDTH = "migration_bandwidth"
HV_MIGRATION_DOWNTIME = "migration_downtime"
-HV_MIGRATION_TYPE = "migration_type"
+HV_MIGRATION_MODE = "migration_mode"
HV_USE_LOCALTIME = "use_localtime"
HV_DISK_CACHE = "disk_cache"
HV_SECURITY_MODEL = "security_model"
HV_MIGRATION_PORT: VTYPE_INT,
HV_MIGRATION_BANDWIDTH: VTYPE_INT,
HV_MIGRATION_DOWNTIME: VTYPE_INT,
- HV_MIGRATION_TYPE: VTYPE_STRING,
+ HV_MIGRATION_MODE: VTYPE_STRING,
HV_USE_LOCALTIME: VTYPE_BOOL,
HV_DISK_CACHE: VTYPE_STRING,
HV_SECURITY_MODEL: VTYPE_STRING,
# Migration type
HT_MIGRATION_LIVE = "live"
HT_MIGRATION_NONLIVE = "non-live"
-HT_MIGRATION_TYPES = frozenset([HT_MIGRATION_LIVE, HT_MIGRATION_NONLIVE])
+HT_MIGRATION_MODES = frozenset([HT_MIGRATION_LIVE, HT_MIGRATION_NONLIVE])
# Cluster Verify steps
VERIFY_NPLUSONE_MEM = 'nplusone_mem'
HV_ROOT_PATH: '/dev/sda1',
HV_KERNEL_ARGS: 'ro',
HV_MIGRATION_PORT: 8002,
- HV_MIGRATION_TYPE: HT_MIGRATION_LIVE,
+ HV_MIGRATION_MODE: HT_MIGRATION_LIVE,
},
HT_XEN_HVM: {
HV_BOOT_ORDER: "cd",
HV_KERNEL_PATH: "/usr/lib/xen/boot/hvmloader",
HV_DEVICE_MODEL: "/usr/lib/xen/bin/qemu-dm",
HV_MIGRATION_PORT: 8002,
- HV_MIGRATION_TYPE: HT_MIGRATION_NONLIVE,
+ HV_MIGRATION_MODE: HT_MIGRATION_NONLIVE,
HV_USE_LOCALTIME: False,
},
HT_KVM: {
HV_MIGRATION_PORT: 8102,
HV_MIGRATION_BANDWIDTH: 32, # MiB/s
HV_MIGRATION_DOWNTIME: 30, # ms
- HV_MIGRATION_TYPE: HT_MIGRATION_LIVE,
+ HV_MIGRATION_MODE: HT_MIGRATION_LIVE,
HV_USE_LOCALTIME: False,
HV_DISK_CACHE: HT_CACHE_DEFAULT,
HV_SECURITY_MODEL: HT_SM_NONE,
HVC_GLOBALS = frozenset([
HV_MIGRATION_PORT,
HV_MIGRATION_BANDWIDTH,
- HV_MIGRATION_TYPE,
+ HV_MIGRATION_MODE,
])
BEC_DEFAULTS = {
#
#
-# Copyright (C) 2006, 2007, 2008 Google Inc.
+# Copyright (C) 2006, 2007, 2008, 2009, 2010 Google Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
REQUIRED_CHECK = (True, None, None, None, None)
# migration type
-MIGRATION_TYPE_CHECK = (True, lambda x: x in constants.HT_MIGRATION_TYPES,
- "invalid migration type", None, None)
+MIGRATION_MODE_CHECK = (True, lambda x: x in constants.HT_MIGRATION_MODES,
+ "invalid migration mode", None, None)
def ParamInSet(required, my_set):
#
#
-# Copyright (C) 2008 Google Inc.
+# Copyright (C) 2008, 2009, 2010 Google Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
constants.HV_MIGRATION_PORT: hv_base.NET_PORT_CHECK,
constants.HV_MIGRATION_BANDWIDTH: hv_base.NO_CHECK,
constants.HV_MIGRATION_DOWNTIME: hv_base.NO_CHECK,
- constants.HV_MIGRATION_TYPE: hv_base.MIGRATION_TYPE_CHECK,
+ constants.HV_MIGRATION_MODE: hv_base.MIGRATION_MODE_CHECK,
constants.HV_USE_LOCALTIME: hv_base.NO_CHECK,
constants.HV_DISK_CACHE:
hv_base.ParamInSet(True, constants.HT_VALID_CACHE_TYPES),
#
#
-# Copyright (C) 2006, 2007, 2008 Google Inc.
+# Copyright (C) 2006, 2007, 2008, 2009, 2010 Google Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
constants.HV_ROOT_PATH: hv_base.REQUIRED_CHECK,
constants.HV_KERNEL_ARGS: hv_base.NO_CHECK,
constants.HV_MIGRATION_PORT: hv_base.NET_PORT_CHECK,
- constants.HV_MIGRATION_TYPE: hv_base.MIGRATION_TYPE_CHECK,
+ constants.HV_MIGRATION_MODE: hv_base.MIGRATION_MODE_CHECK,
}
@classmethod
constants.HV_DEVICE_MODEL: hv_base.REQ_FILE_CHECK,
constants.HV_VNC_PASSWORD_FILE: hv_base.REQ_FILE_CHECK,
constants.HV_MIGRATION_PORT: hv_base.NET_PORT_CHECK,
- constants.HV_MIGRATION_TYPE: hv_base.MIGRATION_TYPE_CHECK,
+ constants.HV_MIGRATION_MODE: hv_base.MIGRATION_MODE_CHECK,
constants.HV_USE_LOCALTIME: hv_base.NO_CHECK,
}
<command>migrate</command>
<arg>-f</arg>
<arg>--non-live</arg>
- <arg>--migration-type=live|non-live</arg>
+ <arg>--migration-mode=live|non-live</arg>
<arg choice="req"><replaceable>instance</replaceable></arg>
</cmdsynopsis>
<para>
The <option>--non-live</option>
- and <option>--migration-type=non-live</option> options will
+ and <option>--migration-mode=non-live</option> options will
switch (for the hypervisors that support it) between a
"fully live" (i.e. the interruption is as minimal as
possible) migration and one in which the instance is frozen,
for two different methods. In any case, it is not an error
to pass this parameter (it will just be ignored if the
hypervisor doesn't support it). The
- option <option>--migration-type=live</option> option will
+ option <option>--migration-mode=live</option> option will
request a fully-live migration. The default, when neither
option is passed, depends on the hypervisor parameters (and
can be viewed with the <command>gnt-cluster info</command>
<command>migrate</command>
<arg>-f</arg>
<arg>--non-live</arg>
- <arg>--migration-type=live|non-live</arg>
+ <arg>--migration-mode=live|non-live</arg>
<arg choice="req"><replaceable>node</replaceable></arg>
</cmdsynopsis>
<para>
As for the <command>gnt-instance migrate</command> command,
the options <option>--no-live</option>
- and <option>--migration-type</option> can be given to
+ and <option>--migration-mode</option> can be given to
influence the migration type.
</para>
#!/usr/bin/python
#
-# Copyright (C) 2006, 2007 Google Inc.
+# Copyright (C) 2006, 2007, 2008, 2009, 2010 Google Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
return 1
# this should be removed once --non-live is deprecated
- if not opts.live and opts.migration_type is not None:
+ if not opts.live and opts.migration_mode is not None:
raise errors.OpPrereqError("Only one of the --non-live and "
- "--migration-type options can be passed",
+ "--migration-mode options can be passed",
errors.ECODE_INVAL)
if not opts.live: # --non-live passed
live = constants.HT_MIGRATION_NONLIVE
else:
- live = opts.migration_type
+ live = opts.migration_mode
op = opcodes.OpMigrateInstance(instance_name=instance_name, live=live,
cleanup=opts.cleanup)
" using the remote mirror (only for instances of type drbd)"),
'migrate': (
MigrateInstance, ARGS_ONE_INSTANCE,
- [FORCE_OPT, NONLIVE_OPT, MIGRATION_TYPE_OPT, CLEANUP_OPT],
+ [FORCE_OPT, NONLIVE_OPT, MIGRATION_MODE_OPT, CLEANUP_OPT],
"[-f] <instance>", "Migrate instance to its secondary node"
" (only for instances of type drbd)"),
'move': (
#!/usr/bin/python
#
-# Copyright (C) 2006, 2007, 2008 Google Inc.
+# Copyright (C) 2006, 2007, 2008, 2009, 2010 Google Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
return 2
# this should be removed once --non-live is deprecated
- if not opts.live and opts.migration_type is not None:
+ if not opts.live and opts.migration_mode is not None:
raise errors.OpPrereqError("Only one of the --non-live and "
- "--migration-type options can be passed",
+ "--migration-mode options can be passed",
errors.ECODE_INVAL)
if not opts.live: # --non-live passed
live = constants.HT_MIGRATION_NONLIVE
else:
- live = opts.migration_type
+ live = opts.migration_mode
op = opcodes.OpMigrateNode(node_name=args[0], live=live)
SubmitOpCode(op, cl=cl, opts=opts)
"Stops the primary instances on a node and start them on their"
" secondary node (only for instances with drbd disk template)"),
'migrate': (
- MigrateNode, ARGS_ONE_NODE, [FORCE_OPT, NONLIVE_OPT, MIGRATION_TYPE_OPT],
+ MigrateNode, ARGS_ONE_NODE, [FORCE_OPT, NONLIVE_OPT, MIGRATION_MODE_OPT],
"[-f] <node>",
"Migrate all the primary instance on a node away from it"
" (only for instances of type drbd)"),