- Oct 14, 2011
-
-
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>
-
Iustin Pop authored
The node offline/mcpu is identical to hbal's setNodesStatus, so let's move that to CLI.hs and reuse it in hspace (also, rename it and drop one 's'). Also, the check for the number of nodes is obsolete, as we compute that from the disk template. The patch does a bit of other small cleanups. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Both iterateAlloc and tieredAlloc share the same signature, but it's not documented nor exported (needed for refactoring). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
The logic is not entirely correct—the new Query interface exports the field status, and we don't use that yet. But the new code should be more readable. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This partially undoes commit 92678b3c, more specifically it removes the Store data type and the associated code, since all Luxi arguments are now lists. Furthermore, since the qfilter field on Query is complex (it's actually a tree structure), and we don't support it, turn it into a plain () type, which always gets encoded as JSNull ('null'), so that we can remove the optional field handling from Luxi (all fields are always required). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 13, 2011
-
-
Michael Hanselmann authored
The “constants” module is a bit special in the sense that we don't want to export random stuff from it. This unittest checks the naming convention and removes imported modules from the module's namespace. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This patch removes all remains of the HTTP client pool. Newly added unittests provide 96% coverage on http.client. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
The HTTP pool is no longer used. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 12, 2011
-
-
Michael Hanselmann authored
* devel-2.5: rpc: Disable HTTP client pool and reduce memory consumption Preserve bridge MTU in KVM ifup script hail: Fix result for node evacuation Fix assertion error on unclean master shutdown Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
Currently, we get a luxi Client, then parse the filter, then execute the query. If parsing the filter fails, we connected to the masterd needlessly. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
* stable-2.5: rpc: Disable HTTP client pool and reduce memory consumption hail: Fix result for node evacuation Fix assertion error on unclean master shutdown Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
Currently, we have 4 types of arguments in LUXI calls: - most common, a list of values - a single argument that is sent as a list of one element - a single argument that is sent by itself - a dictionary (only Query and QueryFields) This inconsistency makes it not only harder to auto-generate the HTools LUXI interface, but also in general to check the arguments and (if we ever want to do it) auto-generate the Python LUXI client. Compare this with the node daemon, which uses consistently a list for its arguments, and even with way more changes over time had no issues with extending the interface. In case we want to extend a call, there are two options: - preferred: add a new call, keep the old one unchanged - possible: add further parameters to the current argument list The patch against HTools will follow—sending separately as the Python changes are very clear by themselves. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
We currently use 'filter' as the OpCode, QueryRequest and RAPI field name for representing a query filter. However, since 'filter' is a built-in function, we actually have to use filter_ throughout the code in order to not override the built-in function. This patch simply goes and does a global sed over the code. Due to the fact that the RAPI interface already exposed this field, we add compatibility code for now which handles both forms. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
* devel-2.4: rpc: Disable HTTP client pool and reduce memory consumption Fix assertion error on unclean master shutdown Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
We noticed that “ganeti-masterd” can use large amounts of memory, especially on large clusters. Measurements showed a single PycURL client using about 500 kB of heap memory (the actual usage depends on versions, build options and settings). The RPC client uses a per-thread HTTP client pool with one client per node. At this time there are 41 non-main threads (25 for the job queue and 16 for client requests). This means the HTTP client pools use a lot of memory (ca. 200 MB for 10 nodes, ca. 1 GB for 50 nodes). This patch disables the per-thread HTTP client pool. No cleanup of unused code is done. That will be done in the master branch only. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
Untill now htools did not have support for generic Query in Luxi. This patch introduces Query as a supported Luxi operation and replaces QueryNodes, QueryInstances and QueryGroups with Query. Signed-off-by:
Agata Murawska <agatamurawska@google.com> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Agata Murawska authored
This patch simplifies the generation of save constructors for LuxiOp by always using showJSON over an array of JSValues, instead of having to pass showJSON in most cases, except the 5-tuple case. Signed-off-by:
Agata Murawska <agatamurawska@google.com> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> [iustin@google.com: fixed a few issues]
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
This is not complete, but is as close as I can get it for now. I expect people actually implementing the various changes to extend the design doc. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 11, 2011
-
-
Andrea Spadaccini authored
Closes: #201 - KVM_IFUP does not set bridge-MTU on tap devices Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This was, AFAIK, never used, and complicates the output code enough that it's better to remove it. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This is just moving code around. A subsequent patch will do a bit more cleanup and changing the output. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
Iustin Pop authored
This is just beautification when dumping splices to stdout, as ghc will optimise the 'id' away anyway. Original generate code: opToArgs QueryTags kind name = J.showJSON (id kind, id name) Afterwards: opToArgs QueryTags kind name = J.showJSON (kind, name) Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Oct 07, 2011
-
-
Andrea Spadaccini authored
Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Andrea Spadaccini authored
Update the man page of gnt-cluster to contain the documentation of the --ignore-errors and --error-codes verify options. Also, include the list of the error codes and their documentation. Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Andrea Spadaccini authored
lib/constants.py * add to each CV_E* tuple the documentation of the error code * add the DOCUMENTED_CONSTANTS constant for the doc preprocessor autotools/docpp * add a new directive class CONSTANTS_<kind>, that gets data from constants.DOCUMENTED_CONSTANTS lib/cmdlib.py * modify the code that unpacked the CV_E* tuples to ignore the documentation parameter Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Andrea Spadaccini authored
autotools/docpp * handle generic custom directives in the form <class>_<kind> * adapt handling of query fields build/sphinx_ext.py * add the BuildValuesDoc function to output definitions using the sphinx syntax that was already used for query fields * adapt BuildQueryFields to use BuildValuesDoc Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
According to the iallocator documentation the “node-evacuate” call needs to return a list of jobs, not a list of lists of jobs. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 06, 2011
-
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 05, 2011
-
-
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>
-
Andrea Spadaccini authored
Treat the gnt-cluster verify errors identified by the error codes in --ignore-errors as warnings; just print a warning message for the user. Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Andrea Spadaccini authored
lib/cli.py - add IGNORE_ERROR_OPT; client/gnt_cluster.py - pass the ignore_errors parameter to the opcodes lib/opcode.py - update OpClusterVerifyConfig, OpClusterVerify and OpClusterVerifyGroup to accept the ignore_errors parameter lib/cmdlib.py - pass the ignore_errors parameter to the opcodes that need it Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Andrea Spadaccini authored
- move the cluster verify error codes from cmdlib._VerifyErrors to constants; - add to each of them the CV (Cluster Verify) prefix; - add the CV_ALL_ECODES and CV_ALL_ECODES_STRINGS constants; - wrap the lines that exceed 80 characters after changing the error code names to the new ones. Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Andrea Spadaccini authored
Change 5a8648eb changed the order of the return values of backend.GetMasterInfo(). This broke the users of the master_info RPC. This change restores the original order, and adds a comment in bootstrap.py about the new value added to the return values of master_info. Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Andrea Spadaccini authored
Add the master_netmask cluster parameter, that represents the netmask of the master IP, encoded as a CIDR suffix. This parameter can be set via the --master-netmask of gnt-cluster init and gnt-cluster modify. The default behaviour is to be consistent with the old default (/32 for IPv4 and /128 for IPv6). Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Andrea Spadaccini authored
Add the following methods to netutils.IPAddress: * ValidateNetmask * GetClassFromIpVersion * GetClassFromIpFamily Also, add related tests to the test suite. Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 04, 2011
-
-
Andrea Spadaccini authored
* devel-2.5: cluster-merge: log an info message at node readd Bump version to 2.5.0~rc1 Fix issue when verifying cluster files Revert "utils.log: Write error messages to stderr" Fix adding nodes after commit 64c7b383 LUClusterVerifyGroup: Spread SSH checks over more nodes Optimise cli.JobExecutor with many pending jobs Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Andrea Spadaccini authored
Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Guido Trotter authored
node readd can take a long time, it's good to have info messages to see progress. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Andrea Spadaccini <spadaccio@google.com>
-