- 13 Jan, 2012 6 commits
-
-
Iustin Pop authored
This attribute is always initialised to the default, and is not (yet) read/saved in the various backends. 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
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
This completes the Utils/JSON split started in commit f047f90f . The import graph should be cleaner now. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Following the split Types/BasicTypes, we can remove the last JSON-related stuff from Utils.hs, and do some more cleanup. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
The 'Result' type is common and: - might be used outside of HTools-specific code too - is better split as we need these basic types for building the more complex ones in Types.hs Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 11 Jan, 2012 3 commits
-
-
Iustin Pop authored
More consistency with the tiered allocation mode. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
For the standard specs, hspace currently takes separate options for the memory, disk and VCPUs. For the tiered specs, which were introduced later, it takes a single option with all three values combined. This patch adds a backward-incompatible change to the standard spec, basically moving it to the same single option format, which is a bit more simple (both in the code and on the command line). This is "needed" for future changes, where the command line will just overwrite what we get from cluster, instead of setting the starting point. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
This will be used in the future for the standard specs too, so let's abstract it away. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 08 Dec, 2011 4 commits
-
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
First, we update the recommended hlint version to what I used to get a clean output (1.8.15). Most of the changes are: - remove unneeded parentheses - some simplifications (intercalate " " → unwords, maybe … id → fromMaybe, etc.) - removal of some duplicate code (in previous patches) There are still some warnings which I didn't clean out but plain ignored: - 'Eta reduce' in some specific files, because the type inference specialises the function on the first call, and annotating the type properly would be too verbose - use of 'first', 'comparing', and 'on', since these don't seem to be widely or consistently used (outside ganeti/htools, I mean) - use of Control.Exception.catch, as we only care about I/O errors; at one point yes, we will need to transition to this new API - 'Reduce duplication', since hlint warns even for 3 duplicate lines, and abstracting that away seems overkill to me After this patch, make hlint is clean and doesn't exit with an error anymore; we could enable it automatically on 'make lint' if hlint is detected (future patch). Note that we explicitly skip the THH.hs file from checking because it seems that hlint doesn't parse correctly for now the splice notation. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
- 07 Dec, 2011 1 commit
-
-
Iustin Pop authored
This makes more explicit the field behaviour - previously an optional field was detected via a "Maybe" constructor, and an optional one via a "Just defval" one. With this, field behaviour become more explicit than auto-deduced. In THH.hs, I slightly changed the fieldVariable function to use the field name (if the field is not renamed), so that we have the exact same output as before. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
- 06 Dec, 2011 3 commits
-
-
Iustin Pop authored
We should also display the value we can't parse, otherwise debugging is very hard. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
Iustin Pop authored
This fixes two problems: - first, when we deserialise a big object, showing its value is not useful, as it will hide the actual error message - second, we shouldn't deserialise a container at once, because then we will lose the detail of which 'key' failed to deserialise; we change to manual deserialisation of each key/value pair, so that we can keep this information The last point requires that we import JSON.hs into THH.hs, in order not to duplicate functionality. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
Iustin Pop authored
This system based on explicit types instead of ad-hoc rules (e.g. instead of deducing from "Maybe Int" an optional field, we now can say explicitly OptionalField ''Int). In the first phase, this will be used for the equivalent of lib/objects.py, which has slightly different rules than luxi/opcodes. We should look at merging the two systems later. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
- 18 Nov, 2011 1 commit
-
-
Iustin Pop authored
While testing with ghc 7.2, I saw that some imports we are using are very old (from ghc 6.8 time), even though current libraries are using different names. We fix this and bump minimum documented version to ghc 6.12, as I don't have 6.10 to test anymore (possibly still works with that version, but better safe - both Ubuntu Lucid and Debian Squeeze ship with 6.12 nowadays). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 17 Nov, 2011 9 commits
-
-
Iustin Pop authored
Currently, the code in Node.hs is overly strict: once a node's free memory reaches 0, it will refuse to add any instances (offline or not). I think this is a safe safeguard (I don't expect nodes to run without at least 1MB of free memory), so rather than change this behaviour we need to restrict the Node generation in the unittest to skip such nodes. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 16 Nov, 2011 8 commits
-
-
Iustin Pop authored
While diagnosing some (unrelated) memory usage in htools, I've stumbled upon some very bad behaviour in checkData: mapAccum is non-strict, and the tuple we use also, so that results in the list of list of messages being very bad space-wise (hundreds of MB of memory for a simulated cluster with thousands of nodes, all with errors). The new, explicit reuse of the old message list has a linear memory behaviour. The only downside is that messages are listed in the reverse order (which I'll fix on master). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This patch changes an internal assert (which can only be triggered when a node group is empty) into properly handling this case (and returning empty node/instance lists). While we could handle this in the backend (Cluster.splitNodeGroup) this would actually mean than we change the behaviour for a cluster with just two node groups, once of which is empty (where today we don't require a node group argument). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
… also do some other small style cleanups. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 26 Oct, 2011 4 commits
-
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
This just adds the primary node of the instance as 'non-allocable' during the choosing of the new secondary. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> (cherry picked from commit 7073b3a8 ) Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
If we select the primary as new secondary, better to fail than return wrong data to Ganeti. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> (cherry picked from commit f25508be ) Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 14 Oct, 2011 1 commit
-
-
Iustin Pop authored
This moves the checking of results from the allocation functions to a separate function, so that we have less code duplication. It also does a bit of simplification in the printing functions. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-