Remove Ganeti Lock Manager and Monitor
...from the jobs code, as this functionality is nowcarried out by wconfd. Also remove dead code resultingfrom this removal.
Signed-off-by: Klaus Aehlig <aehlig@google.com>Reviewed-by: Petr Pudlak <pudlak@google.com>
Merge branch 'stable-2.11' into stable-2.12
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.
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....
View revisions
Also available in: Atom