- Apr 02, 2013
-
-
Klaus Aehlig authored
This parameter will be used to set the new primary node of an instance, assuming that the disks have been moved by other means (outside ganeti's control). Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 28, 2013
-
-
Michele Tartara authored
Correct four typos in the comments of the Drbd types file. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michele Tartara authored
Add status information as required by the design document. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michele Tartara authored
Write an intermediate function computing the JSON data before adding them to the DCReport. Directly export the data computed by that function (with default parameters) allowing them to be used (in the future) by the monitoring agent. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michele Tartara authored
Also adds the DCStatusCode, part of DCStatus, and the addStatus utility function for adding the "status" field to an already existing JSValue. The design document is updated to have the status codes sorted by increasing seriousness. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michele Tartara authored
Also, add it to the DRBD data collector, and export it from there. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michele Tartara authored
Also, update the DRBD data collector to use and export it. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michele Tartara authored
Also, update the JSON output (and the design document) so that it is not in camelcase anymore. This is part of a bigger effort to remove camelcase from the exposed JSON. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michele Tartara authored
Define the new data type and update the DRBD data collector to use it. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michele Tartara authored
Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michele Tartara authored
Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
- Mar 27, 2013
-
-
Bernardo Dal Seno authored
Minimum and maximum instance specs are put together into a single element of the instance policy. This is in preparation for introducing multiple min/max specs. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- Mar 21, 2013
-
-
Helga Velroyen authored
This patch extends the 'gnt-cluster modify' command to manipulate the list of enabled storage types. Note that this currenlty does no validation with respect to whether or not there are instances currently using a storage type that is being removed from the list. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Helga Velroyen authored
This extends the 'gnt-cluster info' command to list the storage types that are enabled on the cluster. It also fixes the broken indentation in the 'handleCall' function. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Helga Velroyen authored
This patch adds the cluster's new field 'enabled_storage_types' to the configuration objects in python and haskell. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michele Tartara authored
Add all the supported commands to the API. The actual response is still to be implemented. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michele Tartara authored
Add a stub implementation of the Mond HTTP server to Mond using the Haskell snap-server library. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michele Tartara authored
This commit adds the core infrastructure of the monitoring daemon, and integrates it in the build and test systems. The actual functionality of the monitoring daemon is still completely missing. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 20, 2013
-
-
Helga Velroyen authored
Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 13, 2013
-
-
Michele Tartara authored
Also, add its logfiles and extra log files. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 12, 2013
-
-
Iustin Pop authored
Based on the implemented Ip4Network/Address types, we can now compute the (external) reservations. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Iustin Pop authored
This patch adds some very simple IPv4 address/network types, and uses them in the 'Network' config object. We need these in order to properly compute the reserved IP addresses, without depending on an external library (which I haven't found, by the way). Currently the only operation supported is 'get next IP address', which is enough for us. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Iustin Pop authored
Side-effects of working on some other network-related stuff… Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Iustin Pop authored
Currently, the Python code returns either FS_UNAVAIL (if these attributes are None) or the proper dicts. As we don't allow editing of these attributes, in most cases they will therefore be FS_UNAVAIL on the client. The Haskell code however returns missingRuntime, which is FS_NODATA, so a mismatch (that also incurs a RPC call). Fixing it is easy, and makes the output consistent. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Iustin Pop authored
The Python code currently sorts this, but the Haskell code not. This should maybe have a test, but I'm not sure how far we want to encode such properties in tests… (and the real reason I'm not adding one is that we don't have a way to generate a random cluster _with_ instances). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Iustin Pop authored
Currently, both the Python and Haskell code return the internal instance list unsorted, which means the output can vary depending on the phase of the moon (well, the Haskell code actually uses internally a tree, sorted by the instance name, but it's implementation detail). By adding an explicit sort step, we guarantee both stability of the output and consistency between the two query paths. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Iustin Pop authored
Currently, the 'node' field is declared as a simple config field, so when only selecting this fields, the runtime gathering is no longer run and it's presumed that all nodes have a backup. So the output is not truthful (instead of just listing the nodes with at least one export, all are listed). By simply making it a runtime field, filtering works properly and we get the same output as the masterd code. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Iustin Pop authored
The headers/type/descriptions had some differences from the Python code, when checked for exact equivalence. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Michele Tartara authored
The first line of a function should be blank, unless it is able to contain the whole function. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 08, 2013
-
-
Iustin Pop authored
Currently, hbal exits with status 1 if early exit is requested, even when all jobs are successful. This is counter-intuitive behaviour, so let's fix it (Issue 386). Note that the man page had conflicting information already, so it's a good thing to clean this up. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 05, 2013
-
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
- Mar 04, 2013
-
-
Iustin Pop authored
According to the documentation, “This function is almost ten times faster than rational, but is slightly less accurate. For 94.2% of numbers, this function and rational give identical results, but for the remaining 5.8%, this function loses precision around the 15th decimal place. For 0.001% of numbers, this function will lose precision at the 13th or 14th decimal place.”. What happens is that for our tests, it can happen that “Attoparsec.double (show a_double)” is quite different from “a_double”, such that we have much more than 1e-12 absolute difference. Since our xm lists should not be too big, I think switching to rational is better. Next patch also changes the way we compare doubles, so maybe this patch is not really needed… Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Iustin Pop authored
This implements QffHostname and fixes the node listing (as well as export listing when filtering on node name). This bug was hidden by the fact that node listing with "gnt-node list aa" works if you don't have live queries (as it was originally), as the choosing of wanted nodes out of the config based on short names works. What didn't work was later post-filtering based on such short names (kind of duplicate, but that's how the code path is). By implementing QffHostname, we can have custom equality checks, like in the Python code. What I don't like is how convoluted the testing on various left/right combinations is, but I didn't find an easier way. The included unittest tests the partial filtering behaviour, and fails if the node name flag is not set to QffHostname. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Since we use the primitive string type for group UUIDs, the group fields have a bug where we pass the group name as filter for node tests, whereas the nodes themselves use the group UUID. This results in zero node count, empty node list, and no instances being reported as assigned to groups. The patch fixes this and adds a test for the node count. It does some test generation improvement, and also cleans up whitespace issues in Test/G/Q/Query.hs (the functions case_queryNode_allfields, prop_queryGroup_noUnknown and case_queryGroup_allfields are unchanged but simply have indentation fixed). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
After implementing a few of the query executor functions, it turns out that we have the same general pattern: - compile the filter - extract the selected fields - determine whether we need to run collectors - do a first pass filtering - run the collector if needed - compute the final fields For pure config queries, the collector/final computation is not needed, but otherwise the code flow is the same. We can therefore abstract all the queries that originate in the config (i.e. except the job query) and have a single code path for all of them, just with different parameters. To do this, we add some stub collectors for group/network queries, which don't have live data. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
The fields are not yet complete, but at least we can enable the list-field query to see what is there already. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Following the new naming style introduced in Exports.hs, this patch renames the other resources to export non-qualified names (fieldMap as opposed to nodeFieldMap), and to use qualified module imports. Also fixes a haddock issue in a docstring. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
In a few cases, we tested the verbosity level for (== 0), instead of higher/lower than a certain value. If the user passes multiple "--quiet" options, this can result in negative verbosity levels, which behave like "extra verbosity". Sigh for plain data types as opposed to proper verbosity levels… Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michele Tartara authored
Change the docstring of chompPrefix to prevent the error "doc comment parse failed" that was raised by some version of haddock while generating the documentation for this function. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com> (cherry picked from commit 94042ae4) Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Dimitris Aragiorgis authored
If cluster is initialized with --no-lvm-storage then volume_group_name does not exist in config.data. Thus we must define it as optional in confd. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> [iustin@google.com: fixed Haskell RPC definition] Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-