- Mar 07, 2012
-
-
Iustin Pop authored
Currently we don't set a boundary on the length of the score field, which breaks all our nicely-aligned output efforts. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Currently Cluster.printSolutionLine function always wants to print the old and new secondary, and as such it fails (ugly) for moves of non-DRBD instances. Change it so that it looks explicitly for noSecondary nodes, and format the output different in that case. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Currently we track the mirroring type as simply yes/no, with "yes" meaning DRBD. This is not enough for handling shared storage, so we need to add a type that gives the exact mirroring type (none, internal, external), and a function that ties the disk template type to the mirroring type. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Instead of computing the bad/good node lists separately (in effect iterating twice over the all_nodes list and also creating that list twice from the container), let's use 'partition' and do a small improvement. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Currently, the code in Loader.hs marks as un-movable any instances which don't have a secondary. This is not valid for any shared storage templates, so let's remove that check completely. The initial state of the instance will reflect correctly the movable status, based on the disk template of the instance, so we don't need to re-do this check. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Our current cluster model is based on per-node storage, and as such we don't handle shared disk templates. Until we can improve the model, let's handle nodes without local storage better: in order to still compute a valid cluster score, we need to handle nodes with tDsk == 0. For this, we abstract the in-line computation of pDsk (which is used in the cluster score) to a separate function which, for tDsk == 0, returns instead 1 (i.e. disk fully used). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Python 2.7.3 (rc status) and 3.2.3/3.3 (rc, respectively alpha status) have fixed http://bugs.python.org/issue12856 which we worked around ourselves. This means two things: - we don't need to manually reset the module - we can't test for the no-reset case Unfortunately current Debian Sid has the 2.7.3 RC but still labeled as 2.7.2+
☹️ , so we have to manually do an extra check (in the unit test only); I expect Debian will update to official 2.7.3 as soon as it's released, and then we can remove this override. Signed-off-by:Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 06, 2012
-
-
Iustin Pop authored
Conflicts: Makefile.am (trivial, test data files added on both branches) lib/opcodes.py (trivial, master renamed filter→qfilter, 2.5 fixed the type of the parameter) Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Mar 05, 2012
-
-
Iustin Pop authored
This moves the dashes check to a new check-man-dashes script. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Currently the check-man test is dependent on the MAN_HAS_WARNINGS test, which made sense as long as the script only did the warnings check. However, we should run the [em] tests always, and in general we could run other tests too, even if man doesn't support --warnings; so let's split the check man. As a first prerequisite, we rename check-man to check-man-warnings (and the respective Makefile variables). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
I've investigated more and it seems that .DELETE_ON_ERROR not working is a bug/regression in some versions of make; testing with make 3.82 from Debian experimental makes this special target work as expected. Also, make 3.81 works on trivial Makefiles, but not on our complex one. In the meantime, let's improve the fix for the building of man pages: make the removal implicit, instead of explicit, via the use of 'trap' on EXIT. I just hope this behaves consistently across all bash versions :) Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Mar 03, 2012
-
-
René Nussbaumer authored
This make it possible to load from an Ialloc file Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
René Nussbaumer authored
This makes it possible to reuse that function when we want to use IAlloc as a data source backend Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 01, 2012
-
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 29, 2012
-
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Because .DELETE_ON_ERROR doesn't work consistently (works when the target we're talking about is a final target, but not for intermediates), I missed a lot of man checks. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
René Nussbaumer authored
This helper abstract away all the unlines and unwords call you've to do after you got a formatTable back. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
This fixes the prop_Node_rMem test, which cares about memory only; otherwise we could fail due to other problems (e.g. not enough disk). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
This is not perfect, as the override applies identical target test values to both the 'fast' and 'slow' tests (making the slow tests take a long time), but it allows a quick override for manual runs. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
These just test that add/remove are idempotent. This is not perfect, as we use unsorted lists for some values (instead of sets), so when using non-empty nodes this would break (but for empty nodes, a 1-element list is sorted, so it's fine). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
This makes balancing use the new metric. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
This simply tracks the instance-used spindles (using hard-coded '1' per instance), and additionally prevents additions in soft-mode when we go over the limit. Note: there's an assymetry between addSec and removeSec (basically secondaries should only exist with DTDrbd8, so the check for uses_disk is superflous), will be cleaned up later. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Since we use the functions always module-qualified, let's drop the `instance` prefix and use a shorter one. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This patch adds two helper functions and uses them for a somewhat simplified logic in the add/remove pri/sec node functions. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
If missing, we'll default to 1 spindle. This also updates the text file format with the ipolicy, which was forgotten. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
This adds the spindleCount, hiSpindles and instSpindles attributes. The spindleCount is equivalent to spindle_count on the ganeti side (a node parameter). hiSpindles is the maximum instance-used spindles, and instSpindles will be used to track spindles as used by instances (in later patches). The patch also reads spindleCount from the live backends. The text and simu backends currently set it to 1, hard-coded. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Just the usual data/type declarations, read/save in the text backend, etc. Also does a bit of unit-test cleanup (the way we build ipolicies). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 28, 2012
-
-
René Nussbaumer authored
Also rename some functions as they don't reflect their actions anymore Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
Adds an assert and fixes a typo. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
René Nussbaumer authored
It prints the information which hbal prints in a nice formatted manner and of course without doing any actions. An example output looks like this: $ hinfo -m xen.example.com Loaded 4 nodes, 2 instances Cluster has 1 node group(s) Cluster coefficients: Field Value Weight free_mem_cv 0.00195342 x1.00 free_disk_cv 0.00000000 x1.00 n1_cnt 0.00000000 x1.00 reserved_mem_cv 0.00195342 x1.00 offline_all_cnt 0.00000000 x4.00 offline_pri_cnt 0.00000000 x16.00 vcpu_ratio_cv 0.12500000 x1.00 cpu_load_cv 0.50000000 x1.00 mem_load_cv 0.50000000 x1.00 disk_load_cv 0.00000000 x1.00 net_load_cv 0.50000000 x1.00 pri_tags_score 0.00000000 x2.00 Cluster score: 1.62890685 Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 27, 2012
-
-
Iustin Pop authored
This checks to see if any man output has [em] in it, as that will not be correctly show in ASCII. Unfortunately the check will depend on whether the other man check is done, but I didn't want to introduce yet another short script for this (can be done, no issue). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
I've seen that man pages, as generated by the version of pandoc we use, show single dashes in option names instead of double ones (- versus --). After bringing it up with upstream (http://groups.google.com/group/pandoc-discuss/browse_thread/thread/9c4589a4001d42f9/95ee8dae8932dc93 ), it seems that this is a known behaviour of pandoc that has been improved in newer versions. Until then, let's use correctly double dashes; from the two options in the above thread, I chose to use \-- as that doesn't change the actual output; whereas ``--nodes`` make this a code block, which will look differently from a short option and could change how the output looks (e.g. when in a bold span). Additionally, I've removed two cases where unescape em was explicitly intended, as that makes automated checking harder and we can use other formatting. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-