Statistics
| Branch: | Tag: | Revision:

root / htools / OLD-NEWS @ d02f941e

History | View | Annotate | Download (19 kB)

1 dc384cf0 Iustin Pop
Ganeti-htools release notes
2 dc384cf0 Iustin Pop
===========================
3 dc384cf0 Iustin Pop
4 dc384cf0 Iustin Pop
5 cc6d2673 Iustin Pop
**Note**: After version 0.3.1, the htools sources have been integrated
6 cc6d2673 Iustin Pop
into the ganeti core repository, and released together with the ganeti
7 cc6d2673 Iustin Pop
releases. Thus this NEWS file is obsolete.
8 cc6d2673 Iustin Pop
9 dc384cf0 Iustin Pop
Version 0.3.1 (Fri, 11 Mar 2011)
10 dc384cf0 Iustin Pop
--------------------------------
11 dc384cf0 Iustin Pop
12 dc384cf0 Iustin Pop
Minor bugfix release:
13 dc384cf0 Iustin Pop
14 dc384cf0 Iustin Pop
- Fixed source archive generation: the hscolour.css file was an invalid
15 dc384cf0 Iustin Pop
  symlink, and the man pages were not correctly timestamped (leading to
16 dc384cf0 Iustin Pop
  unneeded build-time rebuilds)
17 dc384cf0 Iustin Pop
- Improved the Luxi backend to show which attribute fails parsing
18 dc384cf0 Iustin Pop
- Small improvements to the man pages, and also ship the HTML version of
19 dc384cf0 Iustin Pop
  man pages in the source archive
20 dc384cf0 Iustin Pop
21 dc384cf0 Iustin Pop
22 dc384cf0 Iustin Pop
Version 0.3.0 (Fri, 04 Feb 2011)
23 dc384cf0 Iustin Pop
--------------------------------
24 dc384cf0 Iustin Pop
25 dc384cf0 Iustin Pop
A significant release that breaks compatibility with Ganeti versions
26 dc384cf0 Iustin Pop
below 2.4 due to the node group changes. Only the RAPI backend can talk
27 dc384cf0 Iustin Pop
to older clusters, but it is recommended to use this version only with
28 dc384cf0 Iustin Pop
Ganeti 2.4.
29 dc384cf0 Iustin Pop
30 dc384cf0 Iustin Pop
All commands are now multi-group aware (but to various degrees), so
31 dc384cf0 Iustin Pop
allocation, balancing and capacity calculation respects the group layout
32 dc384cf0 Iustin Pop
and will not create “broken” instances by using nodes from different
33 dc384cf0 Iustin Pop
groups.
34 dc384cf0 Iustin Pop
35 dc384cf0 Iustin Pop
For a regular, single-group cluster, no changes should be directly
36 dc384cf0 Iustin Pop
visible to the users. A multi-group cluster however will change some
37 dc384cf0 Iustin Pop
things slightly:
38 dc384cf0 Iustin Pop
39 dc384cf0 Iustin Pop
- hbal will require a target group to operate on (no cluster-wide
40 dc384cf0 Iustin Pop
  balancing yet)
41 dc384cf0 Iustin Pop
- evacuation of (DRBD) instances from a node will be restricted to nodes
42 dc384cf0 Iustin Pop
  in the same group, as inter-group moves are not implemented yet
43 dc384cf0 Iustin Pop
- capacity, while showing correct data, will not give per-group details
44 dc384cf0 Iustin Pop
  yet
45 dc384cf0 Iustin Pop
46 dc384cf0 Iustin Pop
There are other changes in this release:
47 dc384cf0 Iustin Pop
48 dc384cf0 Iustin Pop
- fixed a long-standing bug in hscan related to node memory data
49 dc384cf0 Iustin Pop
- changed the text backend format, which unfortunately invalidates old
50 dc384cf0 Iustin Pop
  files
51 dc384cf0 Iustin Pop
- error handling improvements, so that invalid input data reports better
52 dc384cf0 Iustin Pop
  where the error is
53 dc384cf0 Iustin Pop
- the simulation backend changes its syntax, now it takes the allocation
54 dc384cf0 Iustin Pop
  policy too, and can generate multiple groups
55 dc384cf0 Iustin Pop
- (internal) man page generation moved to pandoc from hand-written,
56 dc384cf0 Iustin Pop
  which is helpful as it can also generate HTML versions
57 dc384cf0 Iustin Pop
- the balancing algorithm has been changed to work in parallel, if the
58 dc384cf0 Iustin Pop
  code is linked against the multi-threaded runtime; this gives a very
59 dc384cf0 Iustin Pop
  good speedup (~80% on 4 cores, ~60-70% of 12 cores)
60 dc384cf0 Iustin Pop
61 dc384cf0 Iustin Pop
Version 0.2.8 (Thu, 23 Dec 2010)
62 dc384cf0 Iustin Pop
--------------------------------
63 dc384cf0 Iustin Pop
64 dc384cf0 Iustin Pop
A bug fix release:
65 dc384cf0 Iustin Pop
66 dc384cf0 Iustin Pop
- fixed balancing function for big clusters, which will improve corner
67 dc384cf0 Iustin Pop
  cases where hbal didn't see any solution even though the cluster was
68 dc384cf0 Iustin Pop
  obviously not well balanced
69 dc384cf0 Iustin Pop
- fixed exit code of hbal in case of (Luxi) job errors
70 dc384cf0 Iustin Pop
- changed the signal handling in hbal in order to make hbal control
71 dc384cf0 Iustin Pop
  easier: instead of synchronising on the count of signals, make SIGINT
72 dc384cf0 Iustin Pop
  cause graceful termination, and SIGTERM an immediate one
73 dc384cf0 Iustin Pop
- increased the tag exclusion weight so that it has greater importance
74 dc384cf0 Iustin Pop
  during the balancing
75 dc384cf0 Iustin Pop
- slight improvement to the speed of balancing via algorithm tweaks
76 dc384cf0 Iustin Pop
77 dc384cf0 Iustin Pop
78 dc384cf0 Iustin Pop
Version 0.2.7 (Thu, 07 Oct 2010)
79 dc384cf0 Iustin Pop
--------------------------------
80 dc384cf0 Iustin Pop
81 dc384cf0 Iustin Pop
Bug fixes:
82 dc384cf0 Iustin Pop
83 dc384cf0 Iustin Pop
- fixed the error message for hail multi-evacuation mode
84 dc384cf0 Iustin Pop
- improve evacuation mode for offline secondary nodes (ignore available
85 dc384cf0 Iustin Pop
  memory)
86 dc384cf0 Iustin Pop
87 dc384cf0 Iustin Pop
New features:
88 dc384cf0 Iustin Pop
89 dc384cf0 Iustin Pop
- add a new option ``-S`` to hbal and hspace that saves the cluster
90 dc384cf0 Iustin Pop
  state at the end of the processing in the text format used by the
91 dc384cf0 Iustin Pop
  ``-t`` option, for later re-processing
92 dc384cf0 Iustin Pop
- a two new options to hbal, -g and --min-gain-limit, that should help
93 dc384cf0 Iustin Pop
  in limiting the number of balances steps with a low gain in the final
94 dc384cf0 Iustin Pop
  stages
95 dc384cf0 Iustin Pop
- hbal, when executing jobs, will now wait for the current jobs to
96 dc384cf0 Iustin Pop
  finish at the first stop (e.g. ^C); if the user wants immediate exit,
97 dc384cf0 Iustin Pop
  another signal should be sent
98 dc384cf0 Iustin Pop
- added “normalized” physical CPU units in hspace output (NPU), which
99 dc384cf0 Iustin Pop
  represents units of physical CPUs free/used, based on the max-cpu
100 dc384cf0 Iustin Pop
  ratio
101 dc384cf0 Iustin Pop
102 dc384cf0 Iustin Pop
103 dc384cf0 Iustin Pop
Version 0.2.6 (Mon, 26 Jul 2010)
104 dc384cf0 Iustin Pop
--------------------------------
105 dc384cf0 Iustin Pop
106 dc384cf0 Iustin Pop
Exactly three months since the last release. Many internal changes, plus
107 dc384cf0 Iustin Pop
a couple of important changes in the balancing algorithm.
108 dc384cf0 Iustin Pop
109 dc384cf0 Iustin Pop
First, the balancing may now introduce N+1 errors, if this solves other,
110 dc384cf0 Iustin Pop
more critical problems. For the moment, this means that moving instances
111 dc384cf0 Iustin Pop
away from offline nodes is allowed even if it creates N+1 errors, and
112 dc384cf0 Iustin Pop
that means evacuation can be done in more cases.
113 dc384cf0 Iustin Pop
114 dc384cf0 Iustin Pop
Second, the scoring for N+1 has changed. In previous versions, it simply
115 dc384cf0 Iustin Pop
counted the number of failing N+1 nodes, which means moving an instance
116 dc384cf0 Iustin Pop
away from a N+1 failed node (but without the node 'clearing' the N+1
117 dc384cf0 Iustin Pop
status) was not reflected in the cluster score. As such, the balancing
118 dc384cf0 Iustin Pop
algorithm managed to clear N+1 errors only sometimes, since usually it
119 dc384cf0 Iustin Pop
takes more than one move for this, and the first prerequisite move was
120 dc384cf0 Iustin Pop
not 'rewarded' appropriately and thus it was not selected. Now, it is
121 dc384cf0 Iustin Pop
possible to fix many more error cases than before: on a simulated 40
122 dc384cf0 Iustin Pop
node cluster full with instances (symmetrically allocated on all nodes),
123 dc384cf0 Iustin Pop
around five nodes can be evacuated before N+1 errors can be solved,
124 dc384cf0 Iustin Pop
whereas 0.2.5 could evacuate at best one node.
125 dc384cf0 Iustin Pop
126 dc384cf0 Iustin Pop
There were some other internal changes to the scoring algorithm, such
127 dc384cf0 Iustin Pop
that now the metrics have associated weights, and they are not all of
128 dc384cf0 Iustin Pop
the same importance anymore. As of now, the only change is that offline
129 dc384cf0 Iustin Pop
instances have a higher weight, which should favour proper node
130 dc384cf0 Iustin Pop
evacuations.
131 dc384cf0 Iustin Pop
132 dc384cf0 Iustin Pop
Among the other changes:
133 dc384cf0 Iustin Pop
134 dc384cf0 Iustin Pop
- fixed the hspace KM_POOL_* metrics, which were returned as the final
135 dc384cf0 Iustin Pop
  state and not as the delta between the initial and final states
136 dc384cf0 Iustin Pop
- fixed hspace handling of N+1 failing clusters: before, it used to
137 dc384cf0 Iustin Pop
  generate a 'fake' response, and the structure of this response was not
138 dc384cf0 Iustin Pop
  always in sync with the real responses, leading to missing items;
139 dc384cf0 Iustin Pop
  currently it proceeds correctly through the code (skipping the
140 dc384cf0 Iustin Pop
  computation), and uses the same display mechanisms as the normal case
141 dc384cf0 Iustin Pop
- fixed hscan exit code for RAPI failures: previously it finished with
142 dc384cf0 Iustin Pop
  success even if all the clusters failed, which was creating issues
143 dc384cf0 Iustin Pop
  with the live-test script; now it exits with exit code 2 for RAPI
144 dc384cf0 Iustin Pop
  failures (unfortunately this is still not optimal as LUXI failures
145 dc384cf0 Iustin Pop
  will use exit code 1, the same as the command line)
146 dc384cf0 Iustin Pop
- changed the limit values for CPU/disk, which previously were used
147 dc384cf0 Iustin Pop
  optionally, whereas now they are always used; the default cpu ratio
148 dc384cf0 Iustin Pop
  limit is now 64 VCPUs per PCPU
149 dc384cf0 Iustin Pop
- changed the internal handling of the short name vs. original
150 dc384cf0 Iustin Pop
  (Ganeti-provided) name; now internally we always use the full name,
151 dc384cf0 Iustin Pop
  and only in display routines we show the shortened (called 'alias')
152 dc384cf0 Iustin Pop
  name; as a result, the -O and --excluded-instances options now accept
153 dc384cf0 Iustin Pop
  both the full name and the shortened name
154 dc384cf0 Iustin Pop
- changed internal handling of JSON conversions and errors, such that
155 dc384cf0 Iustin Pop
  now we show a better context for failure messages, which should help
156 dc384cf0 Iustin Pop
  with diagnosing the malformed message
157 dc384cf0 Iustin Pop
- changed the names for a few node fields, and added some more nodes;
158 dc384cf0 Iustin Pop
  this is most likely to help with debugging, and not with regular
159 dc384cf0 Iustin Pop
  operation though
160 dc384cf0 Iustin Pop
- changed the node fields option to allow the '+' prefix to mean 'extend
161 dc384cf0 Iustin Pop
  the default fields list' rather than start from fresh (similar to
162 dc384cf0 Iustin Pop
  Ganeti's implementation)
163 dc384cf0 Iustin Pop
- a few internal changes related to the LUXI protocol implementation,
164 dc384cf0 Iustin Pop
  which should make it more safe against potential bugs, one
165 dc384cf0 Iustin Pop
  optiomization that should help with large messages, and some patches
166 dc384cf0 Iustin Pop
  in preparation for potential expansion of the LUXI backend functionality
167 dc384cf0 Iustin Pop
168 dc384cf0 Iustin Pop
And finally, many improvements on unittests and the live-test
169 dc384cf0 Iustin Pop
script. Test coverage is much enhanced, and the test infrastructure has
170 dc384cf0 Iustin Pop
better error reporting; this should lead down-the-road to better code
171 dc384cf0 Iustin Pop
and fewer bugs…
172 dc384cf0 Iustin Pop
173 dc384cf0 Iustin Pop
174 dc384cf0 Iustin Pop
Version 0.2.5 (Mon, 26 Apr 2010)
175 dc384cf0 Iustin Pop
--------------------------------
176 dc384cf0 Iustin Pop
177 dc384cf0 Iustin Pop
Some internal cleanup plus a few user-visible changes:
178 dc384cf0 Iustin Pop
179 dc384cf0 Iustin Pop
- new option for marking instances as 'do-not-move' during rebalancing
180 dc384cf0 Iustin Pop
- allow ``hscan`` to scan the local cluster via Luxi
181 dc384cf0 Iustin Pop
- add more metrics to ``hspace`` which show the delta between original
182 dc384cf0 Iustin Pop
  state and final state better (only valid for tiered allocation)
183 dc384cf0 Iustin Pop
184 dc384cf0 Iustin Pop
185 dc384cf0 Iustin Pop
Version 0.2.4 (Mon, 22 Feb 2010)
186 dc384cf0 Iustin Pop
--------------------------------
187 dc384cf0 Iustin Pop
188 dc384cf0 Iustin Pop
Two improvements for node evacuation:
189 dc384cf0 Iustin Pop
190 dc384cf0 Iustin Pop
- hbal takes a new parameter ``--evac-mode`` that restricts the
191 dc384cf0 Iustin Pop
  instances to be moved to the ones on offline/drained nodes, which
192 dc384cf0 Iustin Pop
  should reduce the work done
193 dc384cf0 Iustin Pop
- hail supports the new ``multi-evacuate`` mode of the IAllocator
194 dc384cf0 Iustin Pop
  protocol, that will be released in a minor release on the Ganeti 2.1
195 dc384cf0 Iustin Pop
  branch
196 dc384cf0 Iustin Pop
197 dc384cf0 Iustin Pop
198 dc384cf0 Iustin Pop
Version 0.2.3 (Thu,  4 Feb 2010)
199 dc384cf0 Iustin Pop
--------------------------------
200 dc384cf0 Iustin Pop
201 dc384cf0 Iustin Pop
A small release:
202 dc384cf0 Iustin Pop
203 dc384cf0 Iustin Pop
- Fixes selection of secondary node: previously, if the cluster had
204 dc384cf0 Iustin Pop
  many N+1 failures, a N+1 failed node could be selected as secondary
205 dc384cf0 Iustin Pop
  even if it did not have enough memory to allow the instance to be
206 dc384cf0 Iustin Pop
  migrated/failed over to it; this is bad for automated tools, since
207 dc384cf0 Iustin Pop
  we can get the cluster in an unhealthy state
208 dc384cf0 Iustin Pop
- Switch the text backend to a single input file, that is generated
209 dc384cf0 Iustin Pop
  now by hscan and shouldn't be generated manually via
210 dc384cf0 Iustin Pop
  gnt-node/instance list anymore; this allows richer information to be
211 dc384cf0 Iustin Pop
  kept in the file, and simplifies a little the internals of the text
212 dc384cf0 Iustin Pop
  backend
213 dc384cf0 Iustin Pop
214 dc384cf0 Iustin Pop
215 dc384cf0 Iustin Pop
Version 0.2.2 (Tue, 29 Dec 2009)
216 dc384cf0 Iustin Pop
--------------------------------
217 dc384cf0 Iustin Pop
218 dc384cf0 Iustin Pop
Small release, 0.2.1 was broken and thus this was released earlier:
219 dc384cf0 Iustin Pop
220 dc384cf0 Iustin Pop
- Release 0.2.1 broke the LUXI backend due to a typo, fixed
221 dc384cf0 Iustin Pop
- Added a live-test script that should catch errors like the above one
222 dc384cf0 Iustin Pop
  in the future (needs a working, non-empty cluster)
223 dc384cf0 Iustin Pop
- Changed RAPI and LUXI backends to treat drained nodes as offline,
224 dc384cf0 Iustin Pop
  similar to the IAllocator backend change in 0.2.0 (which was wrongly
225 dc384cf0 Iustin Pop
  marked as affecting all backends)
226 dc384cf0 Iustin Pop
- Changed the metrics for offline instances and N1 score from percent to
227 dc384cf0 Iustin Pop
  count, in order to increase the priority of evacuations
228 dc384cf0 Iustin Pop
- Added a new metric (offline primary instances) which should fix the
229 dc384cf0 Iustin Pop
  evacuation of a offline node in a 2-node cluster
230 dc384cf0 Iustin Pop
231 dc384cf0 Iustin Pop
232 dc384cf0 Iustin Pop
Version 0.2.1 (Wed,  2 Dec 2009)
233 dc384cf0 Iustin Pop
--------------------------------
234 dc384cf0 Iustin Pop
235 dc384cf0 Iustin Pop
- Added instance exclusion defined via instance tags
236 dc384cf0 Iustin Pop
- Fixed the output of hspace to be again parseable from the shell
237 dc384cf0 Iustin Pop
238 dc384cf0 Iustin Pop
239 dc384cf0 Iustin Pop
Version 0.2.0 (Tue, 10 Nov 2009)
240 dc384cf0 Iustin Pop
--------------------------------
241 dc384cf0 Iustin Pop
242 dc384cf0 Iustin Pop
A significant release, with a few new major features:
243 dc384cf0 Iustin Pop
244 dc384cf0 Iustin Pop
- Added direct execution of the hbal solution when using the Luxi
245 dc384cf0 Iustin Pop
  backend; the steps for each instance moves are submitted as a single
246 dc384cf0 Iustin Pop
  jobs, and the different jobs are submitted as groups in order to
247 dc384cf0 Iustin Pop
  parallelise the execution of moves
248 dc384cf0 Iustin Pop
- Added support for balancing based on dynamic utilisation data for
249 dc384cf0 Iustin Pop
  instances, fed in via a text file; by default, all instances are
250 dc384cf0 Iustin Pop
  considered equal and this change also improves the equalisation of
251 dc384cf0 Iustin Pop
  secondary instances per node
252 dc384cf0 Iustin Pop
- Added support for tiered capacity calculation in hspace, where we
253 dc384cf0 Iustin Pop
  start from a maximum instance spec and decrease the spec when we run
254 dc384cf0 Iustin Pop
  out of resources; this should give a better measure of available
255 dc384cf0 Iustin Pop
  capacity on 'fragmented' clusters; this is done separately from the
256 dc384cf0 Iustin Pop
  current fixed-mode computation
257 dc384cf0 Iustin Pop
258 dc384cf0 Iustin Pop
Also there have been many minor improvements:
259 dc384cf0 Iustin Pop
260 dc384cf0 Iustin Pop
- Added option for showing instances (“--print-instances”), similar to
261 dc384cf0 Iustin Pop
  the print nodes option
262 dc384cf0 Iustin Pop
- Added support for customising the node list via an argument to the
263 dc384cf0 Iustin Pop
  print nodes option in the form of a comma-separated list of field
264 dc384cf0 Iustin Pop
  names; currently the field names are not documented, expecting further
265 dc384cf0 Iustin Pop
  changes in a next release
266 dc384cf0 Iustin Pop
- Enhanced the error reporting in the Luxi and Rapi backends
267 dc384cf0 Iustin Pop
- Changed the handling of drained nodes, now being treated the same as
268 dc384cf0 Iustin Pop
  offline nodes, for Ganeti 2.0.4+ compatibility
269 dc384cf0 Iustin Pop
- A number of internal changes, simplifying code and merging some
270 dc384cf0 Iustin Pop
  disparate functions
271 dc384cf0 Iustin Pop
- Simplify the build system in relation to creation of archives
272 dc384cf0 Iustin Pop
273 dc384cf0 Iustin Pop
274 dc384cf0 Iustin Pop
Version 0.1.8 (Tue, 29 Sep 2009)
275 dc384cf0 Iustin Pop
--------------------------------
276 dc384cf0 Iustin Pop
277 dc384cf0 Iustin Pop
- Brown-paper-bag release fixing haddock issues
278 dc384cf0 Iustin Pop
279 dc384cf0 Iustin Pop
280 dc384cf0 Iustin Pop
Version 0.1.7 (Mon, 28 Sep 2009)
281 dc384cf0 Iustin Pop
--------------------------------
282 dc384cf0 Iustin Pop
283 dc384cf0 Iustin Pop
- Fixed a bug in the Luxi backend for big responses
284 dc384cf0 Iustin Pop
- Fixed test suite exit code in presence of test failures
285 dc384cf0 Iustin Pop
- Changed the migrate operation to run instead failover for instances
286 dc384cf0 Iustin Pop
  which were marked as not running in the input data (this could have
287 dc384cf0 Iustin Pop
  been changed since then, but it's better than today's always migrate)
288 dc384cf0 Iustin Pop
- Added support for 'cheap' moves only (only migrate/failover) in
289 dc384cf0 Iustin Pop
  balancing
290 dc384cf0 Iustin Pop
- Added support for building without curl (thus no RAPI backend)
291 dc384cf0 Iustin Pop
292 dc384cf0 Iustin Pop
293 dc384cf0 Iustin Pop
Version 0.1.6 (Wed, 19 Aug 2009)
294 dc384cf0 Iustin Pop
--------------------------------
295 dc384cf0 Iustin Pop
296 dc384cf0 Iustin Pop
- Added support for Luxi (the native Ganeti protocol)
297 dc384cf0 Iustin Pop
- Added support for simulated clusters (for hspace only)
298 dc384cf0 Iustin Pop
- Added timeouts for the RAPI backend
299 dc384cf0 Iustin Pop
- Fixed a few inconsistencies in the command line handling
300 dc384cf0 Iustin Pop
- Fixed handling of errors while loading data
301 dc384cf0 Iustin Pop
- The 'network' is a new dependency due to the Luxi addition
302 dc384cf0 Iustin Pop
303 dc384cf0 Iustin Pop
304 dc384cf0 Iustin Pop
Version 0.1.5 (Thu, 09 Jul 2009)
305 dc384cf0 Iustin Pop
--------------------------------
306 dc384cf0 Iustin Pop
307 dc384cf0 Iustin Pop
- Removed obsolete hn1 program; this allowed removal of a lot of
308 dc384cf0 Iustin Pop
  supporting code
309 dc384cf0 Iustin Pop
- Lots of changes in hspace: the output now is a shell fragment in order
310 dc384cf0 Iustin Pop
  for script to source it or parse it easier; added failure reasons;
311 dc384cf0 Iustin Pop
  optimised to use less memory for large clusters
312 dc384cf0 Iustin Pop
- Optimized the scoring algorithm (used by all tools) so that now
313 dc384cf0 Iustin Pop
  computations should be faster
314 dc384cf0 Iustin Pop
315 dc384cf0 Iustin Pop
316 dc384cf0 Iustin Pop
Version 0.1.4 (Tue, 16 Jun 2009)
317 dc384cf0 Iustin Pop
--------------------------------
318 dc384cf0 Iustin Pop
319 dc384cf0 Iustin Pop
- Added CPU count/ratio of virtual-to-physical CPUs to the cluster
320 dc384cf0 Iustin Pop
  scoring methods; this means that now the balancer, the iallocator
321 dc384cf0 Iustin Pop
  plugin and so on will try to keep the VCPU-to-PCPU ratio equal across
322 dc384cf0 Iustin Pop
  the cluster
323 dc384cf0 Iustin Pop
- Fixed some hscan bugs
324 dc384cf0 Iustin Pop
- Fixed the way iallocator reads the total disk size (was broken and it
325 dc384cf0 Iustin Pop
  was always falling back to summing the disk sizes)
326 dc384cf0 Iustin Pop
- Internals: fixed most compile-time warnings
327 dc384cf0 Iustin Pop
328 dc384cf0 Iustin Pop
329 dc384cf0 Iustin Pop
Version 0.1.3 (Fri, 05 Jun 2009)
330 dc384cf0 Iustin Pop
--------------------------------
331 dc384cf0 Iustin Pop
332 dc384cf0 Iustin Pop
- Fix a bug in the ReplacePrimary instance moves, affecting most of the
333 dc384cf0 Iustin Pop
  tools
334 dc384cf0 Iustin Pop
335 dc384cf0 Iustin Pop
336 dc384cf0 Iustin Pop
Version 0.1.2 (Tue, 02 Jun 2009)
337 dc384cf0 Iustin Pop
--------------------------------
338 dc384cf0 Iustin Pop
339 dc384cf0 Iustin Pop
- Add a new program, “hspace”, which computes the free space on a
340 dc384cf0 Iustin Pop
  cluster (based on a given instance spec)
341 dc384cf0 Iustin Pop
- Improvements in API docs and partially in the user docs
342 dc384cf0 Iustin Pop
- Started adding unittests
343 dc384cf0 Iustin Pop
344 dc384cf0 Iustin Pop
345 dc384cf0 Iustin Pop
Version 0.1.1 (Tue, 26 May 2009)
346 dc384cf0 Iustin Pop
--------------------------------
347 dc384cf0 Iustin Pop
348 dc384cf0 Iustin Pop
- Add a new program, “hail”, which is an iallocator plugin and can
349 dc384cf0 Iustin Pop
  allocate/relocate instances
350 dc384cf0 Iustin Pop
- Experimental support for non-mirrored instances (hail supports them,
351 dc384cf0 Iustin Pop
  hbal should no longer abort when it finds such instances and simply
352 dc384cf0 Iustin Pop
  ignore them)
353 dc384cf0 Iustin Pop
- The RAPI port and/or scheme can be overriden now, and even “file://”
354 dc384cf0 Iustin Pop
  schemes can be used if the message body has been saved under the
355 dc384cf0 Iustin Pop
  appropriate name
356 dc384cf0 Iustin Pop
- Lots of code reorganization, esp. rewritten loading pipeline
357 dc384cf0 Iustin Pop
- Better data checking and better error messages in case validation
358 dc384cf0 Iustin Pop
  fails; tools now consider nodes with error in input data (‘?’ returned
359 dc384cf0 Iustin Pop
  by ganeti) as offline
360 dc384cf0 Iustin Pop
- Small enhancement to the makefile for simpler packaging
361 dc384cf0 Iustin Pop
362 dc384cf0 Iustin Pop
363 dc384cf0 Iustin Pop
Version 0.1.0 (Tue, 19 May 2009)
364 dc384cf0 Iustin Pop
--------------------------------
365 dc384cf0 Iustin Pop
366 dc384cf0 Iustin Pop
- Drop compatibility with Ganeti 1.2
367 dc384cf0 Iustin Pop
- Add a new minimum score option (with a very low default), should help
368 dc384cf0 Iustin Pop
  with very good clusters (but is still not optimal)
369 dc384cf0 Iustin Pop
- Add a --quiet option to hbal
370 dc384cf0 Iustin Pop
- Add support for reading offline nodes directly from the cluster
371 dc384cf0 Iustin Pop
372 dc384cf0 Iustin Pop
373 dc384cf0 Iustin Pop
Version 0.0.8 (Tue, 21 Apr 2009)
374 dc384cf0 Iustin Pop
--------------------------------
375 dc384cf0 Iustin Pop
376 dc384cf0 Iustin Pop
- hbal: prevent mismatches in wrong node names being passed to -O, by
377 dc384cf0 Iustin Pop
  aborting in this case
378 dc384cf0 Iustin Pop
- add the ability to write the commands (-C) to a script via (-C<file>),
379 dc384cf0 Iustin Pop
  so that it can be later executed directly; this has also changed the
380 dc384cf0 Iustin Pop
  commands to include the ncessary -f flags to skip confirmations
381 dc384cf0 Iustin Pop
- add checks for extra argument in hbal and hn1, so that unintended
382 dc384cf0 Iustin Pop
  errors are catched
383 dc384cf0 Iustin Pop
- raise the accepted “missing” memory limit to 512MB, to cover usual Xen
384 dc384cf0 Iustin Pop
  reservations
385 dc384cf0 Iustin Pop
386 dc384cf0 Iustin Pop
387 dc384cf0 Iustin Pop
Version 0.0.7 (Mon, 23 Mar 2009)
388 dc384cf0 Iustin Pop
--------------------------------
389 dc384cf0 Iustin Pop
390 dc384cf0 Iustin Pop
- added support for offline nodes, which are not used as targets for
391 dc384cf0 Iustin Pop
  instance relocation and if they hold instances the hbal algorithm will
392 dc384cf0 Iustin Pop
  attempt to relocate these away
393 dc384cf0 Iustin Pop
- added support for offline instances, which now will no longer skew the
394 dc384cf0 Iustin Pop
  free memory estimation of nodes; the algorithm will no longer create
395 dc384cf0 Iustin Pop
  conditions for N+1 failures when such instances are later started
396 dc384cf0 Iustin Pop
- implemented a complete model of node resources, in order to prevent an
397 dc384cf0 Iustin Pop
  unintended re-occurrence of cases like the offline instance were we
398 dc384cf0 Iustin Pop
  miscalculate some node resource; this gives warning now in case the
399 dc384cf0 Iustin Pop
  node reported free disk or free memory deviates by more than a set
400 dc384cf0 Iustin Pop
  amount from the expected value
401 dc384cf0 Iustin Pop
- a new tool *hscan* that can generate the input text-file for the other
402 dc384cf0 Iustin Pop
  tools by collection via RAPI
403 dc384cf0 Iustin Pop
- some small changes to the build system to make it more friendly; also
404 dc384cf0 Iustin Pop
  included the generated documentation in the source archive
405 dc384cf0 Iustin Pop
406 dc384cf0 Iustin Pop
407 dc384cf0 Iustin Pop
Version 0.0.6 (Mon, 16 Mar 2009)
408 dc384cf0 Iustin Pop
--------------------------------
409 dc384cf0 Iustin Pop
410 dc384cf0 Iustin Pop
- re-factored the hbal algorithm to make it stable in the sense that it
411 dc384cf0 Iustin Pop
  gives the same solution when restarted from the middle; barring
412 dc384cf0 Iustin Pop
  rounding of disk/memory and incomplete reporting from Ganeti (for
413 dc384cf0 Iustin Pop
  1.2), it should be now feasible to rely on its output without
414 dc384cf0 Iustin Pop
  generating moves ad infinitum
415 dc384cf0 Iustin Pop
- the hbal algorithm now uses two more variables: the node N+1 failures
416 dc384cf0 Iustin Pop
  and the amount of reserved memory; the first of which tries to ‘fix’
417 dc384cf0 Iustin Pop
  the N+1 status, the latter tries to distribute secondaries more
418 dc384cf0 Iustin Pop
  equally
419 dc384cf0 Iustin Pop
- the hbal algorithm now uses two more moves at each step:
420 dc384cf0 Iustin Pop
  replace+failover and failover+replace (besides the original failover,
421 dc384cf0 Iustin Pop
  replace, and failover+replace+failover)
422 dc384cf0 Iustin Pop
- slightly changed the build system to embed GIT version/tags into the
423 dc384cf0 Iustin Pop
  binaries so that we know for a binary from which tree it was done,
424 dc384cf0 Iustin Pop
  either via ‘--version’ or via “strings hbal|grep version”
425 dc384cf0 Iustin Pop
- changed the solution list and in general the hbal output to be more
426 dc384cf0 Iustin Pop
  clear by default, and changed “gnt-instance failover” to “gnt-instance
427 dc384cf0 Iustin Pop
  migrate”
428 dc384cf0 Iustin Pop
- added man pages for the two binaries
429 dc384cf0 Iustin Pop
430 dc384cf0 Iustin Pop
431 dc384cf0 Iustin Pop
Version 0.0.5 (Mon, 09 Mar 2009)
432 dc384cf0 Iustin Pop
--------------------------------
433 dc384cf0 Iustin Pop
434 dc384cf0 Iustin Pop
- a few small improvements for hbal (possibly undone by later changes),
435 dc384cf0 Iustin Pop
  hbal is now quite faster
436 dc384cf0 Iustin Pop
- fix documentation building
437 dc384cf0 Iustin Pop
- allow hbal to work on non N+1 compliant clusters, but without
438 dc384cf0 Iustin Pop
  guarantees that the end cluster will be compliant; in any case, this
439 dc384cf0 Iustin Pop
  should give a smaller number of nodes that are not compliant if the
440 dc384cf0 Iustin Pop
  cluster state permits it
441 dc384cf0 Iustin Pop
- strip common domain suffix from nodes and instances, so that output is
442 dc384cf0 Iustin Pop
  shorter and hopefully clearer
443 dc384cf0 Iustin Pop
444 dc384cf0 Iustin Pop
445 dc384cf0 Iustin Pop
Version 0.0.4 (Sun, 15 Feb 2009)
446 dc384cf0 Iustin Pop
--------------------------------
447 dc384cf0 Iustin Pop
448 dc384cf0 Iustin Pop
- better balancing algorithm in hbal
449 dc384cf0 Iustin Pop
- implemented an RAPI collector, now the cluster data can be gathered
450 dc384cf0 Iustin Pop
  automatically via RAPI and doesn't need manual export of node and
451 dc384cf0 Iustin Pop
  instance list
452 dc384cf0 Iustin Pop
453 dc384cf0 Iustin Pop
454 dc384cf0 Iustin Pop
Version 0.0.3 (Wed, 28 Jan 2009)
455 dc384cf0 Iustin Pop
--------------------------------
456 dc384cf0 Iustin Pop
457 dc384cf0 Iustin Pop
- initial release of the hbal, a cluster rebalancing tool
458 dc384cf0 Iustin Pop
- input data format changed due to hbal requirements
459 dc384cf0 Iustin Pop
460 dc384cf0 Iustin Pop
461 dc384cf0 Iustin Pop
Version 0.0.2 (Tue, 06 Jan 2009)
462 dc384cf0 Iustin Pop
--------------------------------
463 dc384cf0 Iustin Pop
464 dc384cf0 Iustin Pop
- fix handling of some common cases (cluster N+1 compliant from the
465 dc384cf0 Iustin Pop
  start, too big depth given, failure to compute solution)
466 dc384cf0 Iustin Pop
- add option to print the needed command list for reaching the proposed
467 dc384cf0 Iustin Pop
  solution
468 dc384cf0 Iustin Pop
469 dc384cf0 Iustin Pop
470 dc384cf0 Iustin Pop
Version 0.0.1 (Tue, 06 Jan 2009)
471 dc384cf0 Iustin Pop
--------------------------------
472 dc384cf0 Iustin Pop
473 dc384cf0 Iustin Pop
- initial release of hn1 tool
474 dc384cf0 Iustin Pop
475 dc384cf0 Iustin Pop
.. vim: set textwidth=72 :
476 dc384cf0 Iustin Pop
.. Local Variables:
477 dc384cf0 Iustin Pop
.. mode: rst
478 dc384cf0 Iustin Pop
.. fill-column: 72
479 dc384cf0 Iustin Pop
.. End: