Statistics
| Branch: | Tag: | Revision:

root / lib / utils @ d5fca545

Name Size
__init__.py 21 kB
algo.py 4.2 kB
filelock.py 5 kB
hash.py 2.4 kB
io.py 20.5 kB
log.py 8.4 kB
mlock.py 2.3 kB
nodesetup.py 3.8 kB
process.py 28.2 kB
retry.py 4.9 kB
text.py 12.7 kB
wrapper.py 4.8 kB
x509.py 9.2 kB

Latest revisions

# Date Author Comment
d5fca545 08/03/2011 06:27 pm Iustin Pop

Fix small typo in docstring

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

110f49ef 07/25/2011 04:01 pm Michael Hanselmann

Reopen daemon's stdio on SIGHUP

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 <>
Reviewed-by: Iustin Pop <>

ad88650c 07/25/2011 04:01 pm Michael Hanselmann

Reopen log file only once after SIGHUP

Commit b6fa9a44 added a re-openable log handler. The log file is
reopened when a daemon is sent a HUP signal. Due to a bug in the code,
fixed by this patch, the log file would be reopened for every single log
message thereafter....

638ac34b 07/25/2011 04:01 pm Michael Hanselmann

Don't leak file descriptors when setting up daemon output

When a daemon's output is configured using “utils.SetupDaemonFDs”, the
function must use dup2(2). Unfortunately the code didn't close the
original file descriptors, leaking them in the process.

Signed-off-by: Michael Hanselmann <>...

0a9a0e5a 05/24/2011 12:37 pm René Nussbaumer

utils.algo: Add InvertDict to invert a dict

Signed-off-by: René Nussbaumer <>
Reviewed-by: Iustin Pop <>

adc523ab 04/29/2011 03:05 pm Iustin Pop

mlock: fail gracefully if libc.so.6 cannot be loaded

This allows noded to continue instead of blowing up if the libc major
number changes.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

1d39e245 04/28/2011 01:02 pm Iustin Pop

Fix WriteFile with unicode data

Unicode is fun, indeed:

len(buffer("abc"))

3

len(buffer(u"abc"))

12

So we can't pass unicode data to buffer(), as the result will be to
write the in-memory (usually UTF-32) representation to disk.

Signed-off-by: Iustin Pop <>...

437c3e77 04/27/2011 06:26 pm Iustin Pop

Fix potential data-loss in utils.WriteFile

os.write can do incomplete writes, as long as at least some bytes have
been written (like write(2)):

os.write(fd, " " * 1300)

1300

os.write(fd, " " * 1300)

1300

os.write(fd, " " * 1300)

1300

os.write(fd, " " * 1300)...

a9d68e40 04/13/2011 01:01 pm Michael Hanselmann

utils.WriteFile: Close file before renaming

Issue 154 (http://code.google.com/p/ganeti/issues/detail?id=154)
reported an “Operation not supported” error when writing instance
exports to a mounted CIFS filesystem. Experimentation showed the error
to only occur when using rename(2) on an opened file. Various references...

76ae1d65 04/07/2011 12:46 pm Michael Hanselmann

Merge branch 'stable-2.4' into devel-2.4

  • stable-2.4:
    Add error checking and merging for cluster params
    Clarify --force-join parameter message
    Treat empty oob_program param as default
    Fix bug in instance listing with orphan instances
    Fix bug related to log opening failures...

View revisions

Also available in: Atom