- Sep 27, 2012
-
-
Michael Hanselmann authored
Commit 3329f4de unintentionally changed the filenames of all daemon log files. This patch reverts part of those changes. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Sep 18, 2012
-
-
Michael Hanselmann authored
This is inpreparation for the implementation of virtual clusters. Many paths will change based on an environment variable and are no longer constant and should no longer be in “constants.py”. Since “constants.py” is already huge a number of other paths are also moved in the process. For now a wildcard import is used to re-export all paths from “constants.py” (this will change over coming patches). Daemon log paths have been changed to use a function. “RUN_GANETI_DIR” was moved to “RUN_DIR” as the latter was only used in “constants.py”. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Aug 23, 2012
-
-
Iustin Pop authored
Debian Wheezy will ship with this version, and it has many improved checks compared to 0.6, so let's: - bump version in the docs - silence some new checks that are wrong due to our indent=2 instead of 4 - fix lots of errors in the code where the indentation was wrong by 1 or 2 spaces - fix a few cases of == True, False, None and replace with 'is' - re-indent some cases where the code is OK, but pep8 complains Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Feb 28, 2012
-
-
Iustin Pop authored
Adds an assert and fixes a typo. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Feb 21, 2012
-
-
Michael Hanselmann authored
In at least two cases "%s" is replaced with str(), too. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Dec 08, 2011
-
-
Michael Hanselmann authored
Instead, print a nicer error message. This should fix issue 200. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Nov 21, 2011
-
-
Michael Hanselmann authored
Instead of aborting the main loop as soon as a fatal signal (SIGTERM or SIGINT) is received, additional logic allows waiting for tasks to finish while I/O is still being processed. If no callback function is provided the old behaviour--shutting down on the first signal--is preserved. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This is needed in case the scheduler user (daemon.Mainloop in this case) has other timeouts at the same time. Needed for clean master shutdown. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Also log a message when a fatal signal was received and use dict.items. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Aug 30, 2011
-
-
Andrea Spadaccini authored
In version 0.21, pylint unified all the disable-* (and enable-*) directives to disable (resp. enable). This leads to a lot of DeprecationWarning being emitted even if one uses the recommended version of pylint (0.21.1, as stated in devnotes.rst). This commit changes all the disable-msg directives to disable. Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 25, 2011
-
-
Michael Hanselmann authored
Before this patch daemons would continue to refer to an old logfile for their standard I/O if they had been asked to reopen the log (SIGHUP). Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- May 24, 2011
-
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Apr 04, 2011
-
-
Iustin Pop authored
Before this, the output in the rapi daemon log was: 2011-04-04 03:09:51,026: ganeti-rapi pid=17447 INFO Reading users file at /var/lib/ganeti/rapi/users 2011-04-04 03:09:51,027: ganeti-rapi pid=17447 INFO ganeti-rapi daemon startup Which is confusing, as it might look like the read of the users file is part of the previous run. This is because we log the 'daemon startup' message after the prepare_fn, which can log things on its own. The patch simply moves the 'daemon startup' message just before prepare_fn call. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Feb 02, 2011
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
It's passed in by most users (daemons, CLI scripts) and for the others (burnin, watcher) it certainly doesn't hurt, especially when using syslog. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Jan 11, 2011
-
-
Michael Hanselmann authored
It's equivalent to a simple RemoveFile now. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Use a function instead of a variable written by another module. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This avoids having to monkey-patch the utils module for unittests. Monkey patching is evil and caused a bug while moving code around. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 07, 2010
-
-
Iustin Pop authored
I've seen cases where the result from str(sys.exc_info()[1]) is ""; this breaks the error reporting as the parent relies on non-empty error messages to properly detect child status (otherwise it will try to read the pid and fail, so on). While this was always in case of asserts, we need to ensure this doesn't happen. Therefore we abstract this functionality (writing the error message) and ensure we write a non-empty string in the new function. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Since daemon startup error will be often related to socket errors, so it makes sense to change the original reporting: Error when starting daemon process: "(98, 'Address already in use')" Into: Error when starting daemon process: 'Socket-related error: Address already in use (errno=98)' Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This patch copies the pipe-based error reporting functionality from utils.StartDaemon (I gave up for now on tryin to merge the two). This patch will fix two longstanding bugs: - if we fork, we lose all error reporting from the child to the original parent - if we fork, the original parent exits before the child is ready to "work" (whatever the work might be) Both these are fixed once the users of daemon.GenericMain are converted to the three-state setup, as we'll get error reporting via the pipe and also not exit until the PrepFn is done. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Currently, GenericMain does a two-staged workflow: - Check, before forking - then Exec, after forking This means we don't have any possibility to treat preparation work (before the daemon is ready for work) different from the actual work. The patch adds another PreExec function that is run just before Exec, and which should ensure that the daemon is ready for serving client before it returns. Its result is then sent as the third argument to Exec. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This patch merges the pid file handling used for ganeti-* daemons and impexp daemons. The latter version is used, since it's more reliable: uses locked pid files as opposed to checking 'live' processes. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Sep 16, 2010
-
-
René Nussbaumer authored
This patch bails out in early stage, if the user invoking the daemon doesn't match the user set at configure time. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Sep 07, 2010
-
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
René Nussbaumer authored
This reverts commit 743b53d4. Conflicts: lib/daemon.py Trivial conflict resolved. This patch reverts changes from earlier permissions separation stage. This is not needed anymore as start-stop-daemon takes care of user switching Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Aug 27, 2010
-
-
Manuel Franceschini authored
This patch adds an optional default parameter to SimpleStore._ReadFile. This can be used to default the return value of this method in case the ssconf file is not present. In this particular case it is used to return AF_INET in case ssconf_primary_ip_familiy is absent. This is the case when upgrading from 2.2 -> 2.3. This is intended behaviour as it is suboptimal to copy the ssconf file manually to the nodes during an upgrade using cfgupgrade. In the concrete case of an upgrade from 2.2 -> 2.3 cfgupgrade will just add the primary_ip_family parameter to the cluster configuration and the daemons will start with default family AF_INET. This is perfectly fine, since there is no AF_INET6 2.2 clusters. After that, the admin is required (as in an major upgrade) to run 'gnt-cluster redist-conf' which will write ssconf_primary_ip_family on all nodes. Signed-off-by:
Manuel Franceschini <livewire@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Aug 23, 2010
-
-
Manuel Franceschini authored
By doing this we delegate the task of finding the correct address family to the FormatAddress method. Signed-off-by:
Manuel Franceschini <livewire@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Aug 19, 2010
-
-
Manuel Franceschini authored
Signed-off-by:
Manuel Franceschini <livewire@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Aug 18, 2010
-
-
Manuel Franceschini authored
This patch moves the FormatAddress helper function from daemon.py to netutils.py. This enables its use in http.client as well as in rapi.client. Furthermore this adds functionality to format IPv6 addresses according to RFC 3986. It is required for use of literal IPv6 addresses in URLs in pycurl. For some reason it worked also without the bracketing ("["<address>"]"), but we do not want to rely on that. Signed-off-by:
Manuel Franceschini <livewire@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jul 12, 2010
-
-
Manuel Franceschini authored
This patch series basically adds a new parameter 'family' to the constructors of daemon.AsyncUDPSocket and confd.client.ConfdUDPClient. This enables the users of these two classes to support IPv6. In ganeti-confd.ConfdAsyncUDPClient a method to check the address families of all peers is added. Furthermore it adds unittests for the added functionality. Signed-off-by:
Manuel Franceschini <livewire@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 09, 2010
-
-
Manuel Franceschini authored
This patch moves network utility functions to a dedicated module. Signed-off-by:
Manuel Franceschini <livewire@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jun 30, 2010
-
-
Manuel Franceschini authored
Signed-off-by:
Manuel Franceschini <livewire@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Jun 29, 2010
-
-
Guido Trotter authored
Currently the message stream can process any number of messages in parallel (if they get dispatched to different threads or processes). In order to limit their number we only handle messages and read from the socket if we're under a certain limit of unanswered ones. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
This function adds the ability for a AsyncTerminatedMessageStream to have a thread-safe message delivery function. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jun 17, 2010
-
-
Guido Trotter authored
This makes sure the out_socket can only be used for writing, and the in_socket for reading. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jun 04, 2010
-
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Jun 03, 2010
-
-
Guido Trotter authored
This new asyncore dispatcher can be used to force a thread running the asyncore loop to awake from the select, by signaling it on one of its selected sockets. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
This is the counterpart of the AsyncStreamServer can be used to handle connected sockets returned from connected clients if the protocol is a terminator separated message stream. Nothing in this class is server specific though: it can be used as a client as well, if the client is implemented inside an asyncore daemon. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
This is a new asyncore server which handles listening stream sockets by calling a non-implemented function for each connection it accepts. It's the stream-oriented cousing of the AsyncUDPSocket. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-