Project

General

Profile

Actions

Bug #16125

closed

ceph-disk should not spit out a traceback when a subprocess.call errors

Added by Alfredo Deza almost 8 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

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

Description

It doesn't add anything useful (even if debugging) and makes it look like it broke (it didn't on this example):

Traceback (most recent call last):
  File "/sbin/ceph-disk", line 9, in <module>
    load_entry_point('ceph-disk==1.0.0', 'console_scripts', 'ceph-disk')()
  File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 4993, in run
    main(sys.argv[1:])
  File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 4946, in main
    main_catch(args.func, args)
  File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 4971, in main_catch
    func(args)
  File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 1774, in main
    Prepare.factory(args).prepare()
  File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 1762, in prepare
    self.prepare_locked()
  File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 1794, in prepare_locked
    self.data.prepare(self.journal)
  File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 2446, in prepare
    self.prepare_device(*to_prepare_list)
  File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 2622, in prepare_device
    to_prepare.prepare()
  File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 1964, in prepare
    self.prepare_device()
  File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 2054, in prepare_device
    num=num)
  File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 1522, in create_partition
    self.path,
  File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 439, in command_check_call
    return subprocess.check_call(arguments)
  File "/usr/lib64/python2.7/subprocess.py", line 542, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/sbin/sgdisk', '--new=3:0:+5120M', '--change-name=3:ceph journal', '--partition-guid=3:2de7e567-6f62-4bd6-95db-fe864051fabc', '--typecode=3:45b0969e-9b03-4f30-b4c6-b4b80ceff106', '--mbrtogpt', '--', '/dev/vdb']' returned non-zero exit status 4

Catching `CalledProcessError` and properly reporting the error with logging should be a good option here

Actions

Also available in: Atom PDF