Comment 3 for bug 620027

Revision history for this message
justinsb (justin-fathomdb) wrote :

pvcreate is immediately followed by vgcreate in the code (though both are deferreds). So if pvcreate is being called but vgcreate is not, then it sounds like pvcreate is raising an exception.

I would feel that any errors should be logged, and indeed, looking at the code, I don't see how an error is not being logged. Does anything get printed on stdout/stderr by nova-volume (particularly in the --nodaemon case?)

You might try merging my branch which checks the results of spawned processes:
bzr merge lp:~justin-fathomdb/nova/check-subprocess-exit-code

I don't think that will give you a better error message (though it might!), but what it will do is not treat messages on stderr as being failures. For instance (speculating), perhaps the first time you call pvcreate it loads a kernel module, which prints a message on stderr, which causes a failure the first time you run it (only).

Unfortunately, it looks like our twisted module calls into twistd.runApp, which appears to be an undocumented twisted function (http://twistedmatrix.com/trac/wiki/UndocumentedScripts). Any Twisted people able to comment on why no error is being logged when exceptions are thrown at startup?