Bug #5728
closedCapture std(err|out) and exit code for better error reporting
0%
Description
When a remote function is executed and it fails it will usually error out with something similar to:
... File "/home/ubuntu/ceph-dep/ceph-deploy/virtualenv/lib/python2.6/site-packages/pushy-0.5.1-py2.6.egg/pushy/protocol/baseconnection.py", line 639, in __handle raise e pushy.protocol.proxy.ExceptionProxy: Command '['sudo', 'ceph', '--cluster=ceph', '-n', 'mon.', '-k', 'mon', 'remove', 'burnupi21']' returned non-zero exit status 22
"Exit status 22" is not meaningful at all, and although having the command is handy, it also doesn't represent the problem.
This happens because in a lot of places in ceph-deploy we are just using `subprocess.check_call` which will immediately error out with a similar exception but with no info from stderr because it was not captured explicitly.
Updated by Alfredo Deza over 10 years ago
- Status changed from New to 7
There is a pull request waiting for testing that enables full logging and actual remote actions in the remote host.
This change will apply only to `ceph-deploy install` as a first phase, and should set the guidelines to convert all the other remote actions for
the rest of the commands.
Pull request: https://github.com/ceph/ceph-deploy/pull/24
Updated by Alfredo Deza over 10 years ago
- Status changed from 7 to Resolved
Merged into master ceph-deploy
Hash: a451465438174f68e3d6b216c13387fdaa954fe2