Bug 1389529
Summary: | [RFE] Implement threading in glance_store/_drivers/rbd.py | ||
---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | Andreas Karis <akaris> |
Component: | python-glance-store | Assignee: | Cyril Roelandt <cyril> |
Status: | CLOSED DUPLICATE | QA Contact: | Mike Abrams <mabrams> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 9.0 (Mitaka) | CC: | acanan, apevec, cschwede, cyril, gcharot, jdillama, lhh, pgrist, scohen, vumrao, wlehman |
Target Milestone: | Upstream M1 | Keywords: | FutureFeature |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-11-12 11:12:24 UTC | Type: | Feature Request |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1389112, 1433388, 1476900 |
Description
Andreas Karis
2016-10-27 19:56:23 UTC
The main reason here is that the rbd CLI uses aio to have 10 concurrent read/write requests in flight concurrently (controlled by the "rbd concurrent management ops" config value). The python API bindings for RBD do not use aio; thus, threading needs to be implemented in the client code (=glance) to improve performance. @Sean: why was this closed? There is an associated upstream Glance review in-progress for this feature [1] [1] https://review.openstack.org/#/c/430641/ Just to rehash this BZ once more: the RBD Python bindings now offer AIO interfaces (since the kraken release) [1] so there is no need to use "threading" to solve this performance bottleneck. Instead, offer a new "max concurrent IOs"-like config override (we use 10 in the rbd CLI) and issue up to the configured max concurrent IO limit when reading from and writing to RBD from Glance. [1] https://github.com/ceph/ceph/blob/luminous/src/pybind/rbd/rbd.pyx#L2534 > (we use 10 in the rbd CLI)
@Jason: could you point us to the relevant code in the rbd CLI?
(In reply to Cyril Roelandt from comment #12) > > (we use 10 in the rbd CLI) > > @Jason: could you point us to the relevant code in the rbd CLI? The rbd CLI is written in C++ not Python, but it's here [1]. [1] https://github.com/ceph/ceph/blob/master/src/tools/rbd/action/Import.cc#L743 Closing as duplicate of the sparse Image RFE This RFE is meant to improve Glance RBD image upload which will be solved by: 1. Support for sparse images - https://bugzilla.redhat.com/show_bug.cgi?id=1647041 2. Ramp up rbd resize to avoid excessive calls - https://bugzilla.redhat.com/show_bug.cgi?id=1690726 3. Set default rbd concurrent management ops = 20 - https://bugzilla.redhat.com/show_bug.cgi?id=1886175 + Comment 11 mentioning that "RBD Python bindings now offer AIO interfaces" Feel free to reopen this RFE and add more inputs if the above does not meet the expectations. *** This bug has been marked as a duplicate of bug 1647041 *** |