Ganeti-htools release notes
===========================
+
+Version 0.2.7 (Thu, 07 Oct 2010)
+--------------------------------
+
+Bug fixes:
+
+- fixed the error message for hail multi-evacuation mode
+- improve evacuation mode for offline secondary nodes (ignore available
+ memory)
+
+New features:
+
+- add a new option ``-S`` to hbal and hspace that saves the cluster
+ state at the end of the processing in the text format used by the
+ ``-t`` option, for later re-processing
+- a two new options to hbal, -g and --min-gain-limit, that should help
+ in limiting the number of balances steps with a low gain in the final
+ stages
+- hbal, when executing jobs, will now wait for the current jobs to
+ finish at the first stop (e.g. ^C); if the user wants immediate exit,
+ another signal should be sent
+- added “normalized” physical CPU units in hspace output (NPU), which
+ represents units of physical CPUs free/used, based on the max-cpu
+ ratio
+
+
+Version 0.2.6 (Mon, 26 Jul 2010)
+--------------------------------
+
+Exactly three months since the last release. Many internal changes, plus
+a couple of important changes in the balancing algorithm.
+
+First, the balancing may now introduce N+1 errors, if this solves other,
+more critical problems. For the moment, this means that moving instances
+away from offline nodes is allowed even if it creates N+1 errors, and
+that means evacuation can be done in more cases.
+
+Second, the scoring for N+1 has changed. In previous versions, it simply
+counted the number of failing N+1 nodes, which means moving an instance
+away from a N+1 failed node (but without the node 'clearing' the N+1
+status) was not reflected in the cluster score. As such, the balancing
+algorithm managed to clear N+1 errors only sometimes, since usually it
+takes more than one move for this, and the first prerequisite move was
+not 'rewarded' appropriately and thus it was not selected. Now, it is
+possible to fix many more error cases than before: on a simulated 40
+node cluster full with instances (symmetrically allocated on all nodes),
+around five nodes can be evacuated before N+1 errors can be solved,
+whereas 0.2.5 could evacuate at best one node.
+
+There were some other internal changes to the scoring algorithm, such
+that now the metrics have associated weights, and they are not all of
+the same importance anymore. As of now, the only change is that offline
+instances have a higher weight, which should favour proper node
+evacuations.
+
+Among the other changes:
+
+- fixed the hspace KM_POOL_* metrics, which were returned as the final
+ state and not as the delta between the initial and final states
+- fixed hspace handling of N+1 failing clusters: before, it used to
+ generate a 'fake' response, and the structure of this response was not
+ always in sync with the real responses, leading to missing items;
+ currently it proceeds correctly through the code (skipping the
+ computation), and uses the same display mechanisms as the normal case
+- fixed hscan exit code for RAPI failures: previously it finished with
+ success even if all the clusters failed, which was creating issues
+ with the live-test script; now it exits with exit code 2 for RAPI
+ failures (unfortunately this is still not optimal as LUXI failures
+ will use exit code 1, the same as the command line)
+- changed the limit values for CPU/disk, which previously were used
+ optionally, whereas now they are always used; the default cpu ratio
+ limit is now 64 VCPUs per PCPU
+- changed the internal handling of the short name vs. original
+ (Ganeti-provided) name; now internally we always use the full name,
+ and only in display routines we show the shortened (called 'alias')
+ name; as a result, the -O and --excluded-instances options now accept
+ both the full name and the shortened name
+- changed internal handling of JSON conversions and errors, such that
+ now we show a better context for failure messages, which should help
+ with diagnosing the malformed message
+- changed the names for a few node fields, and added some more nodes;
+ this is most likely to help with debugging, and not with regular
+ operation though
+- changed the node fields option to allow the '+' prefix to mean 'extend
+ the default fields list' rather than start from fresh (similar to
+ Ganeti's implementation)
+- a few internal changes related to the LUXI protocol implementation,
+ which should make it more safe against potential bugs, one
+ optiomization that should help with large messages, and some patches
+ in preparation for potential expansion of the LUXI backend functionality
+
+And finally, many improvements on unittests and the live-test
+script. Test coverage is much enhanced, and the test infrastructure has
+better error reporting; this should lead down-the-road to better code
+and fewer bugs…
+
+
+Version 0.2.5 (Mon, 26 Apr 2010)
+--------------------------------
+
+Some internal cleanup plus a few user-visible changes:
+
+- new option for marking instances as 'do-not-move' during rebalancing
+- allow ``hscan`` to scan the local cluster via Luxi
+- add more metrics to ``hspace`` which show the delta between original
+ state and final state better (only valid for tiered allocation)
+
+
+Version 0.2.4 (Mon, 22 Feb 2010)
+--------------------------------
+
+Two improvements for node evacuation:
+
+- hbal takes a new parameter ``--evac-mode`` that restricts the
+ instances to be moved to the ones on offline/drained nodes, which
+ should reduce the work done
+- hail supports the new ``multi-evacuate`` mode of the IAllocator
+ protocol, that will be released in a minor release on the Ganeti 2.1
+ branch
+
+
+Version 0.2.3 (Thu, 4 Feb 2010)
+--------------------------------
+
+A small release:
+
+- Fixes selection of secondary node: previously, if the cluster had
+ many N+1 failures, a N+1 failed node could be selected as secondary
+ even if it did not have enough memory to allow the instance to be
+ migrated/failed over to it; this is bad for automated tools, since
+ we can get the cluster in an unhealthy state
+- Switch the text backend to a single input file, that is generated
+ now by hscan and shouldn't be generated manually via
+ gnt-node/instance list anymore; this allows richer information to be
+ kept in the file, and simplifies a little the internals of the text
+ backend
+
+
+Version 0.2.2 (Tue, 29 Dec 2009)
+--------------------------------
+
+Small release, 0.2.1 was broken and thus this was released earlier:
+
+- Release 0.2.1 broke the LUXI backend due to a typo, fixed
+- Added a live-test script that should catch errors like the above one
+ in the future (needs a working, non-empty cluster)
+- Changed RAPI and LUXI backends to treat drained nodes as offline,
+ similar to the IAllocator backend change in 0.2.0 (which was wrongly
+ marked as affecting all backends)
+- Changed the metrics for offline instances and N1 score from percent to
+ count, in order to increase the priority of evacuations
+- Added a new metric (offline primary instances) which should fix the
+ evacuation of a offline node in a 2-node cluster
+
+
+Version 0.2.1 (Wed, 2 Dec 2009)
+--------------------------------
+
+- Added instance exclusion defined via instance tags
+- Fixed the output of hspace to be again parseable from the shell
+
+
Version 0.2.0 (Tue, 10 Nov 2009)
--------------------------------
disparate functions
- Simplify the build system in relation to creation of archives
+
Version 0.1.8 (Tue, 29 Sep 2009)
--------------------------------
- Brown-paper-bag release fixing haddock issues
+
Version 0.1.7 (Mon, 28 Sep 2009)
--------------------------------
balancing
- Added support for building without curl (thus no RAPI backend)
+
Version 0.1.6 (Wed, 19 Aug 2009)
--------------------------------
- Fixed handling of errors while loading data
- The 'network' is a new dependency due to the Luxi addition
+
Version 0.1.5 (Thu, 09 Jul 2009)
--------------------------------
- Optimized the scoring algorithm (used by all tools) so that now
computations should be faster
+
Version 0.1.4 (Tue, 16 Jun 2009)
--------------------------------
was always falling back to summing the disk sizes)
- Internals: fixed most compile-time warnings
+
Version 0.1.3 (Fri, 05 Jun 2009)
--------------------------------
- Fix a bug in the ReplacePrimary instance moves, affecting most of the
tools
+
Version 0.1.2 (Tue, 02 Jun 2009)
--------------------------------
- Improvements in API docs and partially in the user docs
- Started adding unittests
+
Version 0.1.1 (Tue, 26 May 2009)
--------------------------------
by ganeti) as offline
- Small enhancement to the makefile for simpler packaging
+
Version 0.1.0 (Tue, 19 May 2009)
--------------------------------
- Add a --quiet option to hbal
- Add support for reading offline nodes directly from the cluster
+
Version 0.0.8 (Tue, 21 Apr 2009)
--------------------------------
- raise the accepted “missing” memory limit to 512MB, to cover usual Xen
reservations
+
Version 0.0.7 (Mon, 23 Mar 2009)
--------------------------------
- some small changes to the build system to make it more friendly; also
included the generated documentation in the source archive
+
Version 0.0.6 (Mon, 16 Mar 2009)
--------------------------------
migrate”
- added man pages for the two binaries
+
Version 0.0.5 (Mon, 09 Mar 2009)
--------------------------------
- strip common domain suffix from nodes and instances, so that output is
shorter and hopefully clearer
+
Version 0.0.4 (Sun, 15 Feb 2009)
--------------------------------
automatically via RAPI and doesn't need manual export of node and
instance list
+
Version 0.0.3 (Wed, 28 Jan 2009)
--------------------------------
- initial release of the hbal, a cluster rebalancing tool
- input data format changed due to hbal requirements
+
Version 0.0.2 (Tue, 06 Jan 2009)
--------------------------------
- add option to print the needed command list for reaching the proposed
solution
+
Version 0.0.1 (Tue, 06 Jan 2009)
--------------------------------