- 22 Mar, 2009 2 commits
-
-
Iustin Pop authored
This patch adds checking of cluster data in the binaries and display of node's x_mem/i_mem in the node list.
-
Iustin Pop authored
This patch adds a checkData function which goes over the node list and computes the unaccounted memory, returning a list of warning messages (if any) and the update nodes.
-
- 21 Mar, 2009 6 commits
-
-
Iustin Pop authored
This patch adds a new n_mem field to the node objects, and implements read/save/show support for it. The field is not currently used (except in the node list) but will be used for checking data consistency and instance up/down status.
-
Iustin Pop authored
This patch changes the parameters passed to the node and instance constructors from generic Strings (which are then parsed via “read”) to the actual used types, by converting them earlier in Cluster.loadData.
-
Iustin Pop authored
This patch does some small changes: - fixes a comment - export more node functions (unneeded now, but hscan will use them) - fixes Makefile rule for building the programs
-
Iustin Pop authored
This is added for better readability, since this is very often used in declarations.
-
Iustin Pop authored
This patch changes two things with regard to offline nodes: - first, it only calculates the various coefficients across online nodes - second, it adds a new score denoting the percentage of instances which live on such nodes The first change allows correct score computation in presence of offline nodes (whose properties we don't need to take into account), while the second change actively evacuates offline nodes.
-
Iustin Pop authored
This patch adds a new ‘-’ flag for the node status which denotes offline nodes.
-
- 20 Mar, 2009 3 commits
-
-
Iustin Pop authored
This patch changes the Cluster.checkInstanceMove function to restrict the target move list based on which nodes are online.
-
Iustin Pop authored
-
Iustin Pop authored
The modules are moved from the ‘top’ namespace to ‘Ganeti.HTools’, in compliance with standard practices.
-
- 14 Mar, 2009 3 commits
-
-
Iustin Pop authored
This patch changes the solution list to include a step counter so that it's more clear these are successive steps (in a definite order), and not just an unordered list of changes.
-
Iustin Pop authored
This patch changes the gnt-instance failover to migrate, and fixes a bug in the formatting of commands.
-
Iustin Pop authored
This patch adds a new instance move, FailoverAndReplace, which promotes the old secondary to primary and then uses a new secondary node. This is the last move that we can do within the limitations of one node changed per move.
-
- 13 Mar, 2009 5 commits
-
-
Iustin Pop authored
-
Iustin Pop authored
This patch moves the formatting of the command list to Cluster.hs and enhances it with separator messages between the steps.
-
Iustin Pop authored
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).
-
Iustin Pop authored
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 to the end of the improvements. This patch changes this so that the Cluster.checkMove function doesn't recurse, but just computes the next best move (as its docstring says). This means we can actually incrementally compute and print the solution, and this is needed as otherwise an instance could move twice and the second time it needs the current placement to compute the exact command line and operation needed for the move.
-
Iustin Pop authored
This abstracts the individual placement solution so that it can be used independently.
-
- 12 Mar, 2009 2 commits
-
-
Iustin Pop authored
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 end-solution. Once this is applied, further rounds are not possible since the first round will have tried all instances at its end. As such, the removal of the rounds feature will be next. The code adds a hard-coded 100 moves limit, which for big clusters is actually small.
-
Iustin Pop authored
This prints the total memory/disk and also adds a header.
-
- 11 Mar, 2009 3 commits
-
-
Iustin Pop authored
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 nodes, with the caveat that the domain of values might not be fully compatible with the other scores. It is still [0, 1] but does not vary like the others.
-
Iustin Pop authored
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 reserved memory percentage helps balance the unused memory for redundancy on the nodes.
-
Iustin Pop authored
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 list).
-
- 10 Mar, 2009 2 commits
-
-
Iustin Pop authored
This patch removes the primary/secondary instance lists from the node status and also removes the tabbed formatting with explicit width formatting.
-
Iustin Pop authored
This patch makes the tabular solution list nicer, by changing from tabs to explicit widths.
-
- 09 Mar, 2009 1 commit
-
-
Iustin Pop authored
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.
-
- 22 Feb, 2009 2 commits
-
-
Iustin Pop authored
This just makes indendation nicer in many expressions.
-
Iustin Pop authored
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 computed.
-
- 15 Feb, 2009 6 commits
-
-
Iustin Pop authored
-
Iustin Pop authored
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.
-
Iustin Pop authored
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), which helps in two ways: - faster to filter later - allows restriction of target nodes by enforcing only this subset as target for moves
-
Iustin Pop authored
-
Iustin Pop authored
This cleans up and splits the individual instance move into a separate function.
-
Iustin Pop authored
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.
-
- 13 Feb, 2009 1 commit
-
-
Iustin Pop authored
We need to lookup the moving accumulator, of course.
-
- 12 Feb, 2009 1 commit
-
-
Iustin Pop authored
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 from the RAPI.
-
- 28 Jan, 2009 1 commit
-
-
Iustin Pop authored
This is the initial import of release 0.0.3.
-