Project

General

Profile

Actions

Bug #5728

closed

Capture std(err|out) and exit code for better error reporting

Added by Alfredo Deza almost 11 years ago. Updated almost 11 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
ceph-deploy
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

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.

Actions

Also available in: Atom PDF