RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1884661 - Rebase librados2 to 14.x
Summary: Rebase librados2 to 14.x
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: ceph
Version: ---
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: 8.0
Assignee: Boris Ranto
QA Contact: ceph-qe-bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-10-02 15:32 UTC by Giulio Fidente
Modified: 2022-04-02 07:27 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-04-02 07:27:20 UTC
Type: Feature Request
Target Upstream Version:
Embargoed:
pm-rhel: mirror+


Attachments (Terms of Use)

Description Giulio Fidente 2020-10-02 15:32:28 UTC
To be able to use newer features available from mimic in OSP [1], we would like for the newer versions of qemu-kvm to be built against 14.x version of Ceph

Currently it seems to be built against 12.x [2]

1. https://bugzilla.redhat.com/show_bug.cgi?id=1884322
2. http://download.eng.bos.redhat.com/brewroot/vol/rhel-8/packages/qemu-kvm/5.1.0/10.module+el8.3.0+8254+568ca30d/data/logs/x86_64/installed_pkgs.log

Comment 2 John Ferlan 2020-10-06 15:21:07 UTC
Jeff - would this be a qemu build type issue or perhaps an even more generic buildroot type problem?

Comment 3 Daniel Berrangé 2020-10-06 15:35:19 UTC
This is all going to be dependant on what version of librbd is present in the build roots for RHEL-AV stream.  If the build root is correct, it shouldn't involve any code changes in QEMU. Perhaps at most a version number tweak in the RPM specfile to express a min dependency.

Comment 4 Jeff Nelson 2020-10-07 05:20:37 UTC
I think this question needs to be answered by the ceph team; as Daniel rightly points out, qemu-kvm simply builds against whatever is in the build root. Boris, is this something you can do?

Comment 5 Jason Dillaman 2020-10-14 15:02:06 UTC
Is there any specific benefit that will require build-time use of librbd1>=14.2? Unless there is a specific new librbd API method that you are attempting to use via qemu's RBD block driver, you should just be able to install the updated packages from "rhceph-4-tools-for-rhel-8-x86_64-rpms" and qemu-kvm will utilize the new librbd1 shared library at runtime. Assuming qemu-kvm v2.12, it looks like the only build-time feature that is not enabled due to the older packages is a iovec-based IO dispatch calls.

Comment 6 Giulio Fidente 2020-10-14 15:17:42 UTC
(In reply to Jason Dillaman from comment #5)
> Is there any specific benefit that will require build-time use of
> librbd1>=14.2? Unless there is a specific new librbd API method that you are
> attempting to use via qemu's RBD block driver, you should just be able to
> install the updated packages from "rhceph-4-tools-for-rhel-8-x86_64-rpms"
> and qemu-kvm will utilize the new librbd1 shared library at runtime.
> Assuming qemu-kvm v2.12, it looks like the only build-time feature that is
> not enabled due to the older packages is a iovec-based IO dispatch calls.

hi Jason, this would be to release in OpenStack some new code which only works with mimic (or newer) clients.

Assuming we do get 14.x (nautilus) RPMs installed on the compute nodes, are qemu-kvm guests seen as mimic clients even if qemu-kvm itself is built against 12.x (luminous) libs?

Comment 7 Giulio Fidente 2020-10-14 15:18:48 UTC
(In reply to Giulio Fidente from comment #6)
> hi Jason, this would be to release in OpenStack some new code which only
> works with mimic (or newer) clients.

further details about that are in BZ#1764324

Comment 8 Jason Dillaman 2020-10-14 15:28:11 UTC
(In reply to Giulio Fidente from comment #6)
> hi Jason, this would be to release in OpenStack some new code which only
> works with mimic (or newer) clients.
> 
> Assuming we do get 14.x (nautilus) RPMs installed on the compute nodes, are
> qemu-kvm guests seen as mimic clients even if qemu-kvm itself is built
> against 12.x (luminous) libs?

Yes, the qemu-kvm clients will be seen as whatever version of librados2 is installed and being used at runtime regardless of what they were built against. 

As an aside, I too would love to see RHEL 8.x upgrade its AppStream version of the Ceph client libraries to RHCS 4 since RHCS 3 is effectively EOL (on extended support only).

Comment 9 Boris Ranto 2020-10-14 15:34:42 UTC
Doing a (major) rebase in RHEL is highly non-trivial and not something we are currently looking into.

You can always check for the availability of the API calls you need and use them if they are present. I was under the impression that qemu already does this. Am i wrong there?

If this is for openstack they did even ship their own version of ceph at some point (hopefully not anymore) so it shouldn't be a problem to implement it this way for them.

They should be seen as mimic (or up) clients, you are using the shared library that is installed on the system, not the one it was compiled against. We don't use static binaries in RHEL (there might be some rare exceptions but this is not the case).

Having said that, you will also need the Ceph server to support the calls/features so you might need to implement the checks for the API calls anyway.

Comment 10 Ademar Reis 2020-10-19 17:31:18 UTC
Re-titling the BZ and setting it to the right component (ceph), as this is not something for QEMU itself to fix.

This is a request to rebase librados2 in RHEL. QEMU simply makes use of what's available there.

A separate request can be made if there's something specific that needs to be supported in QEMU (something for us to work upstream)

Comment 14 RHEL Program Management 2022-04-02 07:27:20 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.


Note You need to log in before you can comment on or make changes to this bug.