- Oct 18, 2009
-
-
Iustin Pop authored
This patch changes the signature and implementation of the function; returning the item makes more sense (saves a lookup later again in the container, and applying idx is cheap), and the previous implementation was ugly.
-
Iustin Pop authored
-
Iustin Pop authored
Since all values are initialized to zero, the exact ordering is not important and thus we can use the positional mode for simpler code. The patch also adds docstrings to the cstats functions.
-
Iustin Pop authored
Since we now have an actual type for describing the instance moves (IMove), it's simpler to convert this into the move description/move commands, rather than re-computing the move based on initial and final nodes. This makes the shell commands computation and over-Luxi command execution use the same method of computation.
-
Iustin Pop authored
The ‘Placement’ type has been moved to Types.hs but we kept exporting it from Cluster, which is not needed.
-
Iustin Pop authored
This patch introduces a generic formatTable function (based on, and similar to the Ganeti one, but different and more FP in style) and changes the node and instance listing to it. The node list (due to the many variables) is still a little bit hackish unfortunately…
-
Iustin Pop authored
-
- Oct 16, 2009
-
-
Iustin Pop authored
-
Iustin Pop authored
-
Iustin Pop authored
This enables the per-node load/total available capacity scores to be used in balancing. Note that the total available capacity is currently fixed at zero and cannot be changed by the user.
-
Iustin Pop authored
This patch adds loading and processing the utilisation data during instance moves. While the data is not yet used, it is correctly modified by instance changes between nodes. hbal has the new ‘-U’ command line argument for this. The format of the file is simply instance name and the four stats, space-separated.
-
Iustin Pop authored
-
Iustin Pop authored
The latter is only used right after the former in the Loader module, and we'll need more of this 'update not with the data of this instance' functionality (which is different than addPri where all information must be updated). The patch also changes the signature of Node.setSec (to remain consistent with setPri).
-
Iustin Pop authored
These were already duplicate (Text and Simu) and we need tryRead in more places.
-
Iustin Pop authored
The strange printf usage is due to some limitation (it seems) in ghc for very long argument lists. The whole printout should be rewritten later.
-
- Oct 15, 2009
-
-
Iustin Pop authored
This patch adds the datatypes and modifies the nodes and instance types to have such attributes. They are not used yet in any way.
-
Iustin Pop authored
This is similar to --print-nodes, but with much fewer fields.
-
Iustin Pop authored
This exports all functions, but it's still good to have.
-
Iustin Pop authored
This makes (for now) the code hlint-clean. This is per se not a huge gain, but it allows easier tracking of regressions in style later (one-two new violations are easier to diagnose when not hidden among 20 “known” ones).
-
- Oct 14, 2009
-
-
Iustin Pop authored
-
Iustin Pop authored
This is again the cs_x to csX name change.
-
Iustin Pop authored
This changes from a_b to aB in all node and instance attributes, to match the standard Haskell style. Also attributes that should have been camel-cased but weren't were changed (e.g. plist → pList, pnode → pNode).
-
Iustin Pop authored
Before we used a tuple; since we'll need more metrics in the future, it's simpler to transform this into a list of doubles, whose elements are handled homogeneously by all the code that needs them.
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This not so nice patch adds submit/wait-for-completion functionality in hbal. When enabled via ‘-X’ (only working on Luxi), it executes the jobs (as split into separate jobsets by Cluster.splitJobs) and waits until ganeti has finished all of them. This is a rough version: it waits ad infinitum for completion, has hardcoded timeouts, etc. Signed-off-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This are higher level wrappers over the basic callMethod. Signed-off-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
The current Cluster.iMoveToJob always creates failovers, which is not what we want. This simply used the original instances status to select between these two (this is not optimal by the way, since the status could have changed in the meantime). Signed-off-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
This will be needed in order to generate the proper instance move commands. Signed-off-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
This holds for now just the job status definitions and its serialisation to/from JSON. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 12, 2009
-
-
Iustin Pop authored
Since on regular compiles the version information is not critical, it's better to only update it on make dist; furthermore, there it is indeed needed to regenerate it automatically, without requiring the use of make maintainerclean beforehand. This patch simply adds a new phony target that forces regeneration as a prerequisite for the dist rule. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
It seems that haddock cannot document tuple members - but arguably, once one needs to do that, tuples should not be used anymore. This just moves the comments to the tuple comment. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Oct 08, 2009
-
-
Guido Trotter authored
If we're building on a different version, the version file needs to be regenerated. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
Currently parseNode skips looking for values in offline nodes, but tries to read them for drained ones. With this patch we treat offline and drained nodes in the same way (which is compatible with the iallocator protocol changes introduced in Ganeti 2.0.4, but also doesn't break retrocompatibility). As a bonus we don't need to calculate the value of the internal Node "offline" parameter, because we know that the node is going to be online anyway, if we lookup values (and it was statically set to offline, before, in the offline case). Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 02, 2009
-
-
Iustin Pop authored
This will automatically sort our Ganeti jobs into the independent job sets, and then we can submit them separately.
-
Iustin Pop authored
-
Iustin Pop authored
This converts from htools-specific Placements into Ganeti standard OpCodes, which will later allow execution via Luxi.
-
Iustin Pop authored
These are just a few opcodes we need for executing instance moves.
-
Iustin Pop authored
This will allow a more descriptive output later in the solution list, as opposed to trying to reconstruct the move from the node indices. The patch also documents the Placement members.
-
Iustin Pop authored
-