diff --git a/NEWS b/NEWS index 333a89109f657cbf208aee6f3a6999670e0b00b6..eed6c0ba4af828333ef3e4144bebd8ad4c24f17a 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,17 @@ News ==== +Version 2.2.0 rc2 +----------------- + +*(Released Wed, 22 Sep 2010)* + +- Fixed OS_VARIANT variable for OS scripts +- Fixed cluster tag operations via RAPI +- Made ``setup-ssh`` exit with non-zero code if an error occurred +- Disabled RAPI CA checks in watcher + + Version 2.2.0 rc1 ----------------- diff --git a/configure.ac b/configure.ac index 4796457477c411f14aa92520d85118089de1c704..eeece85488dbd5634a1af4428065c2c3761a03bd 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ m4_define([gnt_version_major], [2]) m4_define([gnt_version_minor], [2]) m4_define([gnt_version_revision], [0]) -m4_define([gnt_version_suffix], [~rc1]) +m4_define([gnt_version_suffix], [~rc2]) m4_define([gnt_version_full], m4_format([%d.%d.%d%s], gnt_version_major, gnt_version_minor, diff --git a/lib/cli.py b/lib/cli.py index e2d57024b60439b5b3f7cfecbce4a240c749f915..e339c4f98af0ac0109e37b81cd7099cf422461e1 100644 --- a/lib/cli.py +++ b/lib/cli.py @@ -391,7 +391,7 @@ def AddTags(opts, args): if not args: raise errors.OpPrereqError("No tags to be added") op = opcodes.OpAddTags(kind=kind, name=name, tags=args) - SubmitOpCode(op) + SubmitOpCode(op, opts=opts) def RemoveTags(opts, args): @@ -408,7 +408,7 @@ def RemoveTags(opts, args): if not args: raise errors.OpPrereqError("No tags to be removed") op = opcodes.OpDelTags(kind=kind, name=name, tags=args) - SubmitOpCode(op) + SubmitOpCode(op, opts=opts) def check_unit(option, opt, value): # pylint: disable-msg=W0613 diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py index 4091761372f90062f800494d3d40ec9ec3299e53..d2ac24c5ecf8830ad088984c7347ed14ff258e18 100644 --- a/lib/hypervisor/hv_kvm.py +++ b/lib/hypervisor/hv_kvm.py @@ -924,10 +924,6 @@ class KVMHypervisor(hv_base.BaseHypervisor): if not alive: raise errors.HypervisorError("Instance not running, cannot migrate") - if not netutils.TcpPing(target, port, live_port_needed=True): - raise errors.HypervisorError("Remote host %s not listening on port" - " %s, cannot migrate" % (target, port)) - if not live: self._CallMonitorCommand(instance_name, 'stop') diff --git a/lib/utils.py b/lib/utils.py index 9c43a388f8bd551d8d33d1c004bd38b3d3ef3fa2..13c49766aab940db13320ca6bf5d92078e081453 100644 --- a/lib/utils.py +++ b/lib/utils.py @@ -90,6 +90,9 @@ _VALID_SERVICE_NAME_RE = re.compile("^[-_.a-zA-Z0-9]{1,128}$") _MCL_CURRENT = 1 _MCL_FUTURE = 2 +#: MAC checker regexp +_MAC_CHECK = re.compile("^([0-9a-f]{2}:){5}[0-9a-f]{2}$", re.I) + class RunResult(object): """Holds the result of running external programs. @@ -2004,8 +2007,7 @@ def NormalizeAndValidateMac(mac): @raise errors.OpPrereqError: If the MAC isn't valid """ - mac_check = re.compile("^([0-9a-f]{2}(:|$)){6}$", re.I) - if not mac_check.match(mac): + if not _MAC_CHECK.match(mac): raise errors.OpPrereqError("Invalid MAC address specified: %s" % mac, errors.ECODE_INVAL) diff --git a/man/ganeti.sgml b/man/ganeti.sgml index abec403943b41e9d3636f19e0a628d9ede848c72..80b5a922a3624b3da55977351392bc09b5aff877 100644 --- a/man/ganeti.sgml +++ b/man/ganeti.sgml @@ -193,7 +193,7 @@ <varlistentry> <term>canceling</term> <listitem> - <para>The jos is waiting for locks, but is has been + <para>The job is waiting for locks, but is has been marked for cancellation. It will not transition to <emphasis>running</emphasis>, but to <emphasis>canceled</emphasis>. diff --git a/scripts/gnt-instance b/scripts/gnt-instance index 3c7e0663e9cf8cd4269b4a12dce738d55ae50d97..bbe570ce2842451779f6ed8a47b03481c8311e6b 100755 --- a/scripts/gnt-instance +++ b/scripts/gnt-instance @@ -1538,8 +1538,6 @@ commands = { #: dictionary with aliases for commands aliases = { - 'activate_block_devs': 'activate-disks', - 'replace_disks': 'replace-disks', 'start': 'startup', 'stop': 'shutdown', } diff --git a/scripts/gnt-os b/scripts/gnt-os index 6d0591bbf95299a8182ccb9698dd4197d675394d..9b30f2d4566313efd62d3bfa1e4954b6003c4e22 100755 --- a/scripts/gnt-os +++ b/scripts/gnt-os @@ -136,6 +136,7 @@ def _OsStatus(status, diagnose): else: return "invalid - %s" % diagnose + def DiagnoseOS(opts, args): """Analyse all OSes on this cluster.