- Oct 15, 2009
-
-
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
-
Iustin Pop authored
The Luxi loader implements both a generic Ganeti Luxi client and the loader; it is better if these two are separated. The patch adds a Ganeti/Luxi.hs (not under HTools!) since that is generic for Ganeti, and not related necessarily to htools.
-
Iustin Pop authored
Since moving two instances between different node-quadruples (inst X: A, B → C, D and inst Y: E, F → G, H) can be parallelised by Ganeti, it makes sense to split the operation list into jobsets whose execution must be serialised, but whose individual jobs can be parallelised. Of course, this doesn't help, because today a single logical job is for some cases split in multiple gnt-instance invocations, which (if run using ‘--submit’) might be wrongly parallelised by Ganeti. So while for now this is mostly a cosmetic hint to the user, and it just a step for future improvements.
-
- Sep 30, 2009
-
-
Iustin Pop authored
Due to the Control.Exception changes between 6.8 and 6.10, using it portably is difficult. Since we're only interested in handling I/O errors, we can use prelude's catch and not have to deal with Control.Exception at all. The use in Luxi.hs where we just use bracket is fine across the two versions, so we keep that.
-
- Sep 29, 2009
-
-
Iustin Pop authored
Haddock doesn't like pre-processed files (at least not in all versions). Thus we need to remove the ExtLoader module from the haddock-procesed file list.
-
Iustin Pop authored
-
Iustin Pop authored
Test.QuickCheck.Batch.runTests doesn't return any error statistics, which makes the test suite just display errorrs and always exit with exit code 0. This is not good, since one cannot then actually batch run tests. This patch adds a wrapper over Batch.run which also modifies a passed IORef Int to keep track of how many test failures or test aborts we had. This makes it easy then to exit with an appropriate exit code.
-
- Sep 28, 2009
-
-
Iustin Pop authored
The Makefile was intented to be -Wall and not simply -W, but I missed that. This enables more warnings and also enables -Werror (except for the tests).
-
Iustin Pop authored
During testing I used the test inversely to see it triggers correctly, and committed by mistake the inverted test. Fixing it.
-
Iustin Pop authored
Since curl is not always needed (e.g. when only using luxi or less likely file backends only) and is also not always available, it is useful for building without it. This of course disabled the RAPI backend. This patch changes ExtLoader to build with the ‘-cpp’ option which makes ghc run it through cpp first; and based on whether ‘NO_CURL’ is defined or not, this toggles RAPI/curl inclusion. The patch also removes the import of Rapi in QC.hs since it's not actually used in tests. Invoking make as ‘make HEXTRA=-DNO_CURL’ is enough to trigger the new build mode.
-
Iustin Pop authored
Currently the external data loader is in CLI.hs, which makes all programs that need cli functionality (options, etc.) link against the network modules (most importantly curl). This patch splits this functionality into a new module such that (for example) hail which only deals with file I/O doesn't link against these libraries.
-
- Sep 02, 2009
-
-
Iustin Pop authored
This patch fixes a logic bug in luxi that breaks receive of messages bigger than 4096 bytes. The send message is not impacted as it uses a different algorithm.
-
- Aug 31, 2009
-
-
Iustin Pop authored
-
Iustin Pop authored
This include instance text load tests.
-
- Aug 30, 2009
-
-
Iustin Pop authored
Currently the computation, recursing part and the IO part (progress updates) of the balancing main function (iterateDepth) are all in the same function, which makes it hard to test. This patch moves the decision/computation part (whether to proceed one more round, whether we got a good result, etc.) into Cluster.hs, and leaves only the iteration and screen update in hbal.hs.
-
- Aug 26, 2009
-
-
Iustin Pop authored
This patch adds support for cheap (failover/migrate) operations only in the balancing algorithm and in the hbal command line options. This allows a very quick balancing (compared to allowing replace-disks) which can be useful as a scheduled operation.
-
Iustin Pop authored
This fixes one warning from hlint.
-