Statistics
| Branch: | Tag: | Revision:

root / src / Cluster.hs @ 00b51a14

History | View | Annotate | Download (26.4 kB)

# Date Author Comment
00b51a14 03/13/2009 10:00 pm Iustin Pop

Some more docstring updates

142538ff 03/13/2009 09:11 pm Iustin Pop

Enhance the command list for the solution

This patch moves the formatting of the command list to Cluster.hs and
enhances it with separator messages between the steps.

79ac6b6f 03/13/2009 08:53 pm Iustin Pop

Add a new ReplaceAndFailover move

This patch adds a new replace secondary and failover move (equals to
“r:x f”), which can improve the solution (since we are testing more
options at each step).

7dfaafb1 03/13/2009 07:57 pm Iustin Pop

Convert hbal from multiple rounds to a step-method

Currently hbal does multiple rounds, stopping when a rounds doesn't
bring improvements. With the recent changes to not remove instances from
the candidate list, this is obsolete as the first round will always run...

ca8258d9 03/13/2009 09:14 am Iustin Pop

Rework the solution printing in Cluster.hs

This abstracts the individual placement solution so that it can be used
independently.

0a0f2533 03/12/2009 10:23 pm Iustin Pop

Remove the restriction of one-move-per-round

The current code restricts each instance to one move per round. This is
bad, as an computation restarted in the middle of the solution will have
a different set of instances to work and will thus lead to a different...

ced859f3 03/12/2009 10:16 pm Iustin Pop

Add a header to node lists and print more data

This prints the total memory/disk and also adds a header.

34a6e127 03/11/2009 10:18 am Iustin Pop

Change the N1 score to percent of N1 failures

Since for a very many N+1 failures in a cluster, we could actually
degrade the N1 CV by making a node N+1 compliant, we need to make sure
this value only decreases when fixing non-compliant nodes.

The easiest way is to compute the N+1 score as a percentage of failed...

d6be0775 03/11/2009 10:08 am Iustin Pop

Add two new variables in the cluster score

This patch adds two new variables to the cluster score:
- variance of the failN1 attribute
- variance of the reserved memory percentage

The variance of the failN1 helps make the cluster N+1 happy, whereas the...

c5c295bc 03/11/2009 09:14 am Iustin Pop

Record the running cluster CV in placements

This patch adds a score variable to the placement type, so we can record
the changes in the cluster CV for later display.

This gives visibility in the decrease of the parameters and can show
which are the most important steps to perform (out of the full move...

af53a5c4 03/10/2009 10:20 pm Iustin Pop

Beautify the cluster status list

This patch removes the primary/secondary instance lists from the node
status and also removes the tabbed formatting with explicit width
formatting.

671b85b9 03/10/2009 09:35 pm Iustin Pop

Beautify solution list

This patch makes the tabular solution list nicer, by changing from tabs
to explicit widths.

a0529a64 03/09/2009 10:37 pm Iustin Pop

Beautify: strip common suffix from names

This patch automatically removes the longest common (domain, i.e.
starting with a dot) suffix from the node and instance names. This gives
a much clearer display, and this format is compatible with the way
Ganeti accepts shortened names.

962367fe 02/22/2009 02:15 pm Iustin Pop

A no-code change s/disk/dsk/

This just makes indendation nicer in many expressions.

0335fe4a 02/22/2009 02:05 pm Iustin Pop

Compute the p_mem / p_dsk statically

This patch changes the computation of p_mem / p_dsk from on-demand
(whenever the cluster stats are computed) to after-modify (after a node
is modified, we update its stats). This brings a god speed-up as only
one node or two are usually changed between cluster-wide stats are...

d53264c0 02/15/2009 03:53 pm Iustin Pop

Documentation updates

9dc6023f 02/15/2009 03:48 pm Iustin Pop

Simplify the checkInstanceMove function

This patch flattens the two folds into one, by simply building the whole
list of moves instead of the double recursion (nodes and the each
node's moves). This has no functional change, but it's much cleaner.

256810de 02/15/2009 03:40 pm Iustin Pop

A small optimization in node computation

Currently we always compute the available node list for moves (for an
instances) based on the nodes of the initial table. This works find,
however is a repeated calculation.

We optimize this by passing a node list (of indexes, not full objects),...

d4f62d4e 02/15/2009 03:35 pm Iustin Pop

Replace a foldl by foldl'

4e25d1c2 02/15/2009 03:10 pm Iustin Pop

Split checkMove into two

This cleans up and splits the individual instance move into a separate function.

aaaa0e43 02/15/2009 02:58 pm Iustin Pop

Change the balancing algorithm

This patch changes the balancing algorithm to not iterate linearly over
the instances (in a random, but fixed order), instead selecting at each
step the best next move. This should allow a better score (most of the
time), and usually also a shorter solution.

e5f02e15 02/13/2009 10:26 am Iustin Pop

Fix a bug in Cluster.fixNodes

We need to lookup the moving accumulator, of course.

01f6a5d2 02/12/2009 09:55 pm Iustin Pop

Change the input file formats

This patch changes the format of the input node and instance lists. It
removes the list of primary and secondary instances from the nodes, and
adds the primary and secondary nodes to the instance list.

This is done so that we can have the same input data from commands as...

e4f08c46 01/28/2009 01:09 pm Iustin Pop

Initial import

This is the initial import of release 0.0.3.