- Aug 12, 2009
-
-
Guido Trotter authored
Rather than composing them every time, we'll keep "ready-made" tuples for unknown entries and internal errors (which is, yet, unused) Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
Add the following functions to SimpleConfigReader: GetInstanceByIp, nic ip -> instance name GetNodePrimaryIp, node name -> node primary ip GetInstancePrimaryNode, instance name -> primary node For the first one we precalculate the _ip_to_instance, so we don't have to loop over all instances for each query. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
This implements CONFD_REQ_NODE_ROLE_BYNAME. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
Adding a way to retrieve the three node status flags, all in one go, from SimpleConfigReader. Non-existing nodes are handled by returning "None". Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
If we standardize common error codes, clients can make use of them to react, rather than trying to parse error strings. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Apart from being a master, a candidate, offline or drained, a node can have one more state: none of those. Adding back the normal, nice, healthy "just" a node! :) Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
During a query execution we currently verify whether we have that query supported in our dispatch table. Since it's an error not to have it anyway, we move this verification to the class creation, erroring out early if such a problem exists. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
We'll start with a simple ping query, which returns ok if it gets no query argument, and an error if it gets any. Also non-implemented query are handled by the base ConfdQuery class, so we don't have to special-case them in ConfdProcessor anymore. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
The message is an error deriving from some code moving/refactoring happening before the initial submission Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
confd.server and daemons/ganeti-confd import a few modules they don't actually use. Clean them up. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Luca Bigliardi authored
Rewrite the part which discusses the global list of files to be distributed updating with the description of what is going to be implemented. Just read below.. Signed-off-by:
Luca Bigliardi <shammash@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Aug 11, 2009
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This fixes ganeti-rapi which was broken in commit 7a95a954. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Luca Bigliardi authored
Use variables already defined. Introduce ganeti CONF_DIR. Signed-off-by:
Luca Bigliardi <shammash@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Luca Bigliardi authored
Use " " instead of ",". Signed-off-by:
Luca Bigliardi <shammash@google.com>
-
- Aug 10, 2009
-
-
Luca Bigliardi authored
Map the node hostname with its primary/secondary ganeti IP in ssconf. In this way a node can discover which are its IPs simply grepping ssconf files, thus avoiding checks depending on network configuration. Signed-off-by:
Luca Bigliardi <shammash@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Guido Trotter authored
Adding ganeti-confd to the example init script. The daemon itself will only start on master candidates, but the init script can just try to start it on all nodes. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
ganeti-confd is a simple asynchronous daemon, which listens on a UDP port, passes each packet to a processor, and sends back to the client the result. It also listens on an inotify socket, in order to reload its configuration when the ganeti config file changes. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
A ConfdProcessor is the job processor for a confd query. It's responsible for all the processing, from unpacking it, verifying it, to calculating the result. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
It will be used for the confd server code, and for a basic client library. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Adding the various basic daemon constants for confd. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
These are valid values for the "status" field in objects.ConfdReply Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
If for some reason we try to call Reload twice but the config file hasn't changed, we don't want to load it again. Use stat() on the file to cheaply avoid that situation. We also return a boolean value, according to whether we have reloaded the config or not. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Since we use it also to load the config file initially we rename the Reload function to _Load. Then we re-export it as Reload to clients (since for them it's a reload). Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Luca Bigliardi authored
Call PostInitCluster from 'gnt-cluster init'. Signed-off-by:
Luca Bigliardi <shammash@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Luca Bigliardi authored
Add an 'empty' logical unit to run hooks after cluster initialization. Signed-off-by:
Luca Bigliardi <shammash@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Aug 08, 2009
-
-
Guido Trotter authored
This is the terminology used by libvirt, it's shorter, clearer, and it makes sense. :) Also the final sentence about "possible futures" is changed to be a bit more clear. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Aug 07, 2009
-
-
Guido Trotter authored
GetConfigSerialNo and GetClusterSerialNo return respectively the serial number for the config and for the cluster object. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
Don't indent the final message. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
confd will return the node role as an integer, which represents one of the mutually exclusive roles a node can be in. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Initially confd will support only two queries: CONFD_REQ_NODE_ROLE_BYNAME Given a node name, return its role. CONFD_REQ_NODE_PIP_BY_INSTANCE_IP Given an instance ip, return its node primary ip. This rather weird query is the basis for ganeti nbma lookup. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
Until now it was being kept too vague, so here we give some real examples of how things are going to be. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
Rather than initializing the config statically at class creation time, we load it every time Reload() is called. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
These objects are used to store confd queries and replies. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
The salt needs to be returned anyway, so we don't have to add another key for the sender to recognize which request an answer is answering, so all that infrastructure is useless. :( Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
After 74d519e3b91845a17ae095eb7d58dd9e3d1303e8 Ganeti depends on pyinotify. Updating the documentation accordingly and checking for its presence at configure time. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
AsyncNotifier is a special asyncore class that delivers inotify events asynchronously. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-