Project

General

Profile

Actions

Bug #24033

closed

rados: not all exceptions accept keyargs

Added by Rishabh Dave almost 6 years ago. Updated over 5 years ago.

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

0%

Source:
Development
Tags:
Backport:
luminous, mimic
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
rados tool
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

The method make_ex() in rados.pyx raises exceptions irrespective of the fact whether an exception can or cannot handle keyargs. Getting an exception that doesn't inherits OSError leads to a crash with traceback like the following: -

Connecting to RADOS with config /home/centos/repos/ceph/build/ceph.conf...
Traceback (most recent call last):
  File "test.py", line 49, in <module>
    header()
  File "test.py", line 14, in header
    vc.connect()
  File "/home/centos/repos/ceph/src/pybind/ceph_volume_client.py", line 458, in connect
    self.rados.connect()
  File "rados.pyx", line 884, in rados.Rados.connect (rados.c:9790)
  File "rados.pyx", line 463, in rados.make_ex (rados.c:3228)
TypeError: InvalidArgumentError does not take keyword arguments
disconnect
Disconnecting rados...
Disconnecting rados complete

Only the bunch of exceptions inheriting OSError in ceph/src/pybind/rados/rados.pyx are capable of handling keyargs.


Related issues 2 (0 open2 closed)

Copied to RADOS - Backport #24083: luminous: rados: not all exceptions accept keyargsResolvedVictor DenisovActions
Copied to RADOS - Backport #25178: mimic: rados: not all exceptions accept keyargsResolvedNathan CutlerActions
Actions

Also available in: Atom PDF