- Mar 13, 2009
-
-
Iustin Pop authored
This abstracts the individual placement solution so that it can be used independently.
-
- Mar 12, 2009
-
-
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.
-
Iustin Pop authored
This is to keep in style with the other memory variables.
-
Iustin Pop authored
This is useful and not easy to compute otherwise.
-
Iustin Pop authored
This patch attempts to embed the VCS id in binaries, based on the way other projects seem to do this.
-
- Mar 11, 2009
-
-
Iustin Pop authored
This removes obsolete entries from the clean rule and adds the hbal binary.
-
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 the node attribute “reserved memory percentage” that is derived from the maximum reserved memory for a node and its total memory. This will be useful for enhancing the balancing algorithm.
-
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).
-
Iustin Pop authored
This patch adds printing the initial and final cluster coefficients in hn1 too, to better understand the found solution.
-
- Mar 10, 2009
-
-
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.
-
Iustin Pop authored
Learned how multi-line string literals work in Haskell :)
-
- Mar 09, 2009
-
-
Iustin Pop authored
-
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.
-
Iustin Pop authored
Based on the node changes, we remove the N+1 check and only show a warning instead.
-
Iustin Pop authored
Currently, we fail a new instance placement if the new node status is not N+1 compliant. This means that an allocation on an already N+1 failed node still fails, even though (conceptually) we're not worse than before. This patch changes this model to fail the allocation *only* if the node was N+1 compliant before. This allows balancing to work on non-N+1 happy clusters, with the caveat that they probably won't be N+1 happy at the end. Since we skip N+1 check in some cases, we add a new “failHealth” check that verifies the node still has strict positive free memory and disk space.
-
Iustin Pop authored
This patch adds a '*' character to nodes which are not N+1 compliant to the output, to help with understanding pre- and post-changes cluster status.
-
- Feb 22, 2009
-
-
Iustin Pop authored
This fixes the doc issue which exists since the addition of hbal. Now make doc makes sense again.
-
Iustin Pop authored
Since we only use the totals for computations, and we always convert them via fromIntegral, let's just store them directly as Doubles.
-
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.
-
- Feb 15, 2009
-
-
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
-
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.
-
- Feb 14, 2009
-
-
Iustin Pop authored
This patch moves a function to Utils and changes hn1 to be able to take data from RAPI.
-
Iustin Pop authored
-
Iustin Pop authored
This patch changes the tryRapi function so that if the http request succeeded, we don't try https too.
-
Iustin Pop authored
... hopefully this is more clear.
-
- Feb 13, 2009
-
-
Iustin Pop authored
The patch adds compatibility with RAPI v1, and this required some new JSON functions as valFromObj doesn't behave nicely. Some other unrelated changes were done too.
-
Iustin Pop authored
-
Iustin Pop authored
-
Iustin Pop authored
We need to lookup the moving accumulator, of course.
-
- Feb 12, 2009
-
-
Iustin Pop authored
This patch changes the RAPI endpoint return the same data format as the input files. This will allow using it instead of the files.
-