Sofia Enriquez 02037330d8 Fix json to_primitive when using IO OBjects
Currently, using Cinder's backup service with RBD the
backup-create operation gets stuck when logging
('use_json=True' must be set in the config file).

The oslo.log JSONFormatter gets stuck when passing an
RBDVolumeIOWrapper from os-brick. This happens via os-brick's
utils.trace() method which passes a connector containing
{'path': RBDVolumeIOWrapper}.
The oslo.log JSONFormatter format() method calls
oslo_serialization's jsonutils.to_primitive and passes in
this RBDVolumeIOWrapper object.
 
Therefore the to_primitive method eventually calls
RBDVolumeIOWrapper.read(). In order to fix this the current
path avoids mapping io.IOBase objects and fallback the wrapper
RBD volume object.

Co-authored-by: Eric Harney <eharney@redhat.com>
Closes-Bug: #1908607
Change-Id: I3c416e855cb5f0dc32d14b2749ba92aba8964574
2021-01-18 21:54:02 +00:00
2020-09-08 12:33:14 +02:00
2020-09-08 12:34:48 +02:00
2019-04-19 19:32:20 +00:00
2020-09-08 12:33:14 +02:00
2018-07-04 08:23:05 +07:00
2020-09-11 21:00:52 +00:00
2019-02-17 10:28:24 +08:00
2020-06-08 11:44:27 +02:00
2020-02-10 18:31:55 +01:00
2020-09-08 12:33:14 +02:00
2020-09-08 12:33:14 +02:00

Team and repository tags

image

oslo.serialization

Latest Version

Downloads

The oslo.serialization library provides support for representing objects in transmittable and storable formats, such as Base64, JSON and MessagePack.

Description
OpenStack library for serialization
Readme 3.2 MiB
Languages
Python 100%