- Dec 18, 2008
-
-
Michael Hanselmann authored
This is done by passing the job object to _ArchiveJobUnlocked instead of only the job ID. Also return whether job was actually archived. Reviewed-by: ultrotter
-
Michael Hanselmann authored
As it turned out, having many files in a single directory can be very painful. With this patch, only 10'000 files are stored in a directory for the job queue archive. With 10'000 directries, this allows for up to 100 million jobs be archived without having large numbers of files in a single directories. Not that it is realistic, anyway. Reviewed-by: ultrotter
-
Michael Hanselmann authored
Unfortunately, os.makedirs in Python 2.4 is not safe against multiple processes creating the same directory tree at the same time. This is only fixed in Python 2.5 and up. Adding more checks in our code doesn't make it any better. Reviewed-by: iustinp
-
Michael Hanselmann authored
They're cheap to instantiate and doing this changes makes the code a bit simpler. Reviewed-by: ultrotter
-
Michael Hanselmann authored
All other exceptions are named after the error name in RFC2616 (HTTP/1.1). Reviewed-by: amishchenko
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
- Dec 17, 2008
-
-
Michael Hanselmann authored
More complex unittests will need some refactoring in the HTTP code. Reviewed-by: amishchenko
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
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
-
Michael Hanselmann authored
Sometimes the proc filesystem doesn't reflect the current status of a process. By calling waitpid(), we make sure to get the current information, at least for child processes. The timeout is still kept for child processes to make sure the proc filesystem is updated. Reviewed-by: iustinp
-
- Dec 16, 2008
-
-
Guido Trotter authored
Reviewed-by: iustinp
-
Guido Trotter authored
The primary node is part of the instance, not of the opcode. Reviewed-by: iustinp
-
Guido Trotter authored
poll() can be interrupted. rather than failing we retry until it returns. Reviewed-by: iustinp
-
Guido Trotter authored
Call socat with a full path specified at configure time, rather than just by its name, and check for the binary to exist at hypervisor verify. Reviewed-by: iustinp
-
Guido Trotter authored
It makes sense for the default kvm kernel not to be called "xenU". Reviewed-by: iustinp
-
- Dec 15, 2008
-
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
Michael Hanselmann authored
Otherwise it would be done on the first read/write operation, making error handling more difficult (such as EOF during handshake). Reviewed-by: iustinp
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
Michael Hanselmann authored
Also add a comment next to the place where the SSL connection is shut down. Reviewed-by: iustinp
-
- Dec 14, 2008
-
-
Iustin Pop authored
We should initialized the _last_cluster_serial in the constructor too (just to be consistent). Reviewed-by: amishchenko
-
Iustin Pop authored
This was changed in the past, but it seems this class was forgotten. Reviewed-by: amishchenko
-
Iustin Pop authored
Reviewed-by: amishchenko
-
Iustin Pop authored
Reviewed-by: amishchenko
-
Iustin Pop authored
Wrong indentation and uniformize one method signature. Reviewed-by: amishchenko
-
Iustin Pop authored
Reviewed-by: amishchenko
-
Iustin Pop authored
This only means most of our error paths in this module were not working (and generating exceptions). Reviewed-by: amishchenko
-
Iustin Pop authored
Reviewed-by: amishchenko
-
Iustin Pop authored
This adds a docstring to the _autoconf.py file detailing how it's generated (the other comment it's not visible in pydoc/epydoc). Reviewed-by: amishchenko
-
Iustin Pop authored
Reviewed-by: amishchenko
-
Iustin Pop authored
Quoting Michael: "why is this even working?" Reviewed-by: imsnah,amishchenko
-
Iustin Pop authored
The default value of 'False' wasn't initialized properly. It doesn't require initialization, but it's cleaner this way. Reviewed-by: amishchenko
-
Iustin Pop authored
Reviewed-by: amishchenko
-
Iustin Pop authored
Two problems: the iallocator.hypervisor wasn't initialized to None in the constructor, so pylint doesn't realize it's initialized later with setattr. Second, 'hypervisor' is a module, so we shouldn't use it as a variable. Reviewed-by: amishchenko
-
Iustin Pop authored
And a small whitespace fix. Reviewed-by: amishchenko
-
Iustin Pop authored
hypervisor is a module, so we shouldn't use it as an argument. Reviewed-by: amishchenko
-
Iustin Pop authored
A few cases of wrong variable name. Reviewed-by: amishchenko
-
Iustin Pop authored
This is a leftover from the abstraction of AdjustCandidatePool, and it also requires the config lock, so it's better to remove it. Reviewed-by: amishchenko
-
Iustin Pop authored
Reviewed-by: amishchenko
-