- Jan 31, 2011
-
-
Stephen Shirley authored
Signed-off-by:
Stephen Shirley <diamond@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 28, 2010
-
-
Michael Hanselmann authored
This allows LUXI errors to be encoded and serialized. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 13, 2010
-
-
Iustin Pop authored
Currently, masterd startup with old software versions is very confusing for users: we present two tracebacks, with a message in the middle about "version mismatch". This can lead to users believing that all that needs to be done is to fix the config file. This patch attempts to improve this by handling this case in masterd itself (not in the child), and showing a more friendly message for this case. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Aug 18, 2010
-
-
Manuel Franceschini authored
This patch unifies the netutils functions dealing with IP addresses to three classes: - IPAddress: Common IP address functionality - IPv4Address: IPv4 specific functionality - IPv6address: IPv6-specific functionality Furthermore it adds methods to check whether an address is a loopback address, replacing the .startswith("127") for IPv4 and adding IPv6 support. It also provides the basis for future IPv6 address handling. Methods to convert IP strings to their corresponding interger values will allow to canonicalize IPv6 addresses. Signed-off-by:
Manuel Franceschini <livewire@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Aug 17, 2010
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 16, 2010
-
-
Balazs Lecz authored
Also adds a generic ParseError exception. Signed-off-by:
Balazs Lecz <leczb@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jul 07, 2010
-
-
Luca Bigliardi authored
Node daemon prints a lot of warnings if --no-mlock option is not specified and ctypes module is not present. With the following patch the warning is printed only at noded startup. Signed-off-by:
Luca Bigliardi <shammash@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jun 23, 2010
-
-
Guido Trotter authored
Currently _LoadJobFromDisk archives job files it finds corrupted. Since we want to use it to load files without holding locks, this could cause a conflict: we just move the feature to _LoadJobUnlocked which is always called with the lock held. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- May 21, 2010
-
-
Guido Trotter authored
This exception is caught, but never thrown. It became useless when we moved confd from on/off to enabled/disabled, but always running on all nodes. Removing its definition and the code catching it can do no harm. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Dec 18, 2009
-
-
René Nussbaumer authored
MaybeRaise in lib/errors.py had a typo in the doc string Signed-off-by:
René Nussbaumer <rn@google.com> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Nov 06, 2009
-
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Nov 04, 2009
-
-
Iustin Pop authored
Currently a few of the LU's CheckPrereq use utils.HostInfo which raises a resolver error in case of failure. This is an exception from the standard that CheckPrereq should raise an OpPrereqError if the error is in the 'pre' phase (so that it can be retried). This patch adds a new error code (resolver_error) and a wrapper over utils.HostInfo that just converts the ResolverError into OpPrereqError(…, errors.ECODE_RESOLVER). It then uses this wrapper in cmdlib, bootstrap and some scripts. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Nov 02, 2009
-
-
Iustin Pop authored
This patch introduces a two-argument style for OpPrereqError. Only the direct raise calls in cmdlib.py are converted, other users will follow. cli.py is modified to handle both two-argument style and the current format. RAPI doesn't need modification as the way we encode errors is already using a list for the error arguments, so RAPI users only need to start checking the list length and the second argument. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This is only used in two places, in an error path that is no longer valid since Ganeti 2.0. We remove the try..except since we should not get it anymore (and if we do, then we should catch it in all config.Update cases) and we remove the exception class completely. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Sep 25, 2009
-
-
Iustin Pop authored
Currently the luxi error handling is hardcoded as special encoding on the masterd-side and special decoding on the client side. This patch moves it to errors.py such that other parts of the code can reuse the same encoding. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com> (cherry picked from commit 6956e9cd)
-
- Sep 16, 2009
-
-
Guido Trotter authored
Initial confd client library implementation. This initial version uses asyncore, and supports answers via a callback. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
This way it can be used by the client as well Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
Currently we read maximum 4K packets, and don't check packets when sending them. With this patch we move to a well defined maximum size of 60K. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Aug 28, 2009
-
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Aug 27, 2009
-
-
Iustin Pop authored
Currently the luxi error handling is hardcoded as special encoding on the masterd-side and special decoding on the client side. This patch moves it to errors.py such that other parts of the code can reuse the same encoding. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Aug 10, 2009
-
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 29, 2009
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 14, 2009
-
-
Guido Trotter authored
This patch includes HMAC authenticated json messages to the serializer. The new interface works on any json-encodable data type, and can sign it with a private key and an optional salt. The same private key must be used upon message loading to verify the message. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jun 15, 2009
-
-
Iustin Pop authored
We no longer need OS objects to be able to represent invalid OSes. This cleans up the code handling those cases. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This patch converts this rpc call to the new style result, and also changes in the process the meaning of the QuitGanetiException's arguments and the node daemon rpc call exception handler. The problem with the exception handler is that we used a two-stage one, and the inner used to catch all exception (including this one), so in the logs we always had an exception logged, instead of the normal 'leaving cluster message'. The patch also adds logging of the exception's arguments, so that we have a trail in the logs about the shutdown mode. The exception's arguments were reversed from the normal RPC results style. While it makes somewhat more sense for this exception, we change them such that they match the rpc result format. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Feb 10, 2009
-
-
Guido Trotter authored
We want all the hv/be parameters to have a known type, rather than a random mix of empty string, boolean values, and None, so we declare the type of each variable and we enforce/convert it. - Add some new constants for enforceable value types - Add new constants dicts HVS_PARAMETER_TYPES and BES_PARAMETER_TYPES holding not only the valid parameters but also their types - Drop the old HVS_PARAMETERS and BES_PARAMETERS constants and calculate the values from the type dict - Convert all the default parameters to a valid type value - Create a new ForceDictType utils function, to check/enforce a dict's element value types, with relevant unit tests - Drop a few custom functions to check/convert the BE param types in utils and cli, in favor of ForceDictType - Double-check the parameter types using ForceDictType in both scripts and LogicalUnits, when possible. As a bonus: - Remove some old commented-out code in gnt-instance - Remove some already fixed FIXME - Fix a bug which prevented VALUE_DEFAULT to be applied to BE parameters in SetInstanceParams because the value was checked for validity before that transformation was made - Fix a bug which prevented initing a cluster and passing hvparams to work at all - ForceDictType allows an allowed_values for exceptions, which makes us able to do the checking even when some values must not be converted/typechecked (for example the 'default' string in SetInstanceParameters) Reviewed-by: iustinp
-
- Dec 17, 2008
-
-
Michael Hanselmann authored
A job queue with too many jobs can increase memory usage and/or make the master daemon slow. The current limit is just an arbitrary number. A "soft" limit for automatic job archival is prepared. Reviewed-by: iustinp
-
- Dec 11, 2008
-
-
Iustin Pop authored
This patch should fix all outstanding epydoc parsing errors; as such, we switch epydoc into verbose mode so that any new errors will be visible. Reviewed-by: imsnah
-
- Oct 15, 2008
-
-
Iustin Pop authored
We add a (per-node) queue drain flag that blocks new job submission. There is not yet an interface to add/remove the flag (will come in next patches). Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds a generic method to identify the ganeti error given its class name, and implements this across the luxi protocol. Reviewed-by: imsnah
-
Iustin Pop authored
Currently this is not derived from GenericError, but there's no reason for it to be so. Reviewed-by: imsnah
-
- Jul 11, 2008
-
-
Michael Hanselmann authored
It's not perfect and it's not finished, but it's a start. - Serial number is read only once, but written on each update - Jobs are kept only on disk (caching will be implemented) Reviewed-by: iustinp
-
- Jun 27, 2008
-
-
Guido Trotter authored
Rather than packing all the arguments in a tuple, let's pass them plainly. The superclass won't complain. Reviewed-by: iustinp
-
- Jun 26, 2008
-
-
Guido Trotter authored
This exception does not signal an error but serves the purpose of making the ganeti daemon shut down after handling a request. Currently it will be used by ganeti-noded but in the future ganeti-masterd might make use of it as well. Its usage is documented in the docstring. Reviewed-by: iustinp
-
Guido Trotter authored
Reviewed-by: iustinp
-
- Jun 18, 2008
-
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
- Apr 28, 2008
-
-
Iustin Pop authored
This patch converts the cli.py SubmitOpCode method to use the unix protocol and thus execute the opcodes via the master. The patch allows a partial burnin to work with the master. Currently the query opcodes, since they are executed via the SubmitOpCode, are executed inside a job too, which is suboptimal, but they work fine. The cmd lock has been removed from the master, but the cli.py still takes the lock. This is ok for this in-progress patch (since the master still has only one executor thread). This will be fixed in a future patch. Reviewed-by: ultrotter
-
- Oct 10, 2007
-
-
Iustin Pop authored
Since modules are not directly executables, remove the shebang from them. This helps with lintian warnings. Also make the autogenerated _autoconf.py contain two comment lines at the beginning, like the other modules. Reviewed-by: ultrotter
-
- Oct 04, 2007
-
-
Guido Trotter authored
- Document the expected change to errors.InvalidOS - Always pass the additional argument - Modify DiagnoseOS output to show the path Reviewed-by: iustinp, imsnah
-
- Sep 21, 2007
-
-
Iustin Pop authored
We currently require that hostnames are FQDN not short names (node1.example.com instead of node1). We can allow short names as long as: - we always resolve the names as returned by socket.gethostname() - we rely on having a working resolver These issues are not as big as may seem, as we only did gethostname() in a few places in order to check for the master; we already required working resolver all over the code for the other nodes names (and thus requiring the same for the current node name is normal). The patch moves some resolver calls from within execution path to the checking path (which can abort without any problems). It is important that after this patch is applied, no name resolving is called from the execution path (LU.Exec() or other code that is called from within those methods) as in this case we get much better code flow. This patch also changes the functions for doing name lookups and encapsulates all functionality in a single class. The final change is that, by requiring working resolver at all times, we can change the 'return None' into an exception and thus we don't have to check manually each time; only some special cases will check (ganeti-daemon and ganeti-watcher which are not covered by the generalized exception handling in cli.py). The code is cleaner this way. Reviewed-by: imsnah
-