lint
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Helga Velroyen <helgav@google.com>
Pass the debug level to forked jobs
When forking off jobs, make them inherit the debug levelof the parent process (i.e., of luxid). In this way, wecan debug jobs in test clusters without cluttering productionlogs. We pass the debug level through the environment instead...
Make jobs not log as master-daemon
While jobs are still handled by what used to be masterd,the log message should be assigned to the respectivejob.
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Petr Pudlak <pudlak@google.com>
Cancel job outside the SIGTERM handler
.. because modifying the queue inside the handler can have unexpectedconsequences.
Since Python 2 doesn't have a nice way how to modify a variable froman inner function, we have to use a list as a wrapper.(Python 3 has the "nonlocal" keyword for it.)...
Remove the use of queue lock in Python job queue
Since now each process only creates a 1-job queue, trying to use filelocks only causes job deadlock.
Also reduce the number of threads running in a job queue to 1.
Later the job queue will be removed completely....
Set process ID field when starting up a job
The ID of the current process is stored in the job file.
Signed-off-by: Petr Pudlak <pudlak@google.com>Reviewed-by: Klaus Aehlig <aehlig@google.com>
Add optional fields for job livelocks and process IDs
This will allow to check if a particular job is alive, and send signalsto it when it's running.
The fields aren't serialized, if missing, for backwards compatibility.
Signed-off-by: Petr Pudlak <pudlak@google.com>...
Add Haskell and Python modules for running jobs as processes
They will be used by Luxi daemon to spawn jobs as separate processes.
The communication protocol between the Luxi daemon and a spawned processis described in the documentation of module Ganeti.Query.Exec....
Add a method for checking if a particular job has ended
This will be used by job processes temporarily, until they get rid ofusing job queue completely.
Create a Python submodule for jqueue
.. so that we can add new code into separate files, instead of adding itto jqueue.py, which has already grown too large.
View revisions
Also available in: Atom