missing erasure code plugin library libec_isa.so
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ceph Monitor Charm |
Invalid
|
Undecided
|
Unassigned | ||
ceph (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Hirsute |
Fix Released
|
High
|
Unassigned | ||
Impish |
Fix Released
|
High
|
Unassigned |
Bug Description
[Impact]
An upstream change to build requirements for the ISA-L EC plugin caused it not to be included in the Ceph package for Hirsute and Impish.
Users upgrading from previous versions of Ubuntu making use of this feature would as such face a regression in Ubuntu.
[Test Plan]
The original bug description section below contains a clear reproducible way to test if the issue has been fixed.
[Regression Potential]
We are adding a build dependency which adds back a shared library that was previously included in the package, so I would consider the regression potential to be minimal.
[Original Bug Description]
After a fresh deployment of ceph-mon on maas/ubuntu-focal (source: cloud:focal-
The command
juju run-action ceph-mon/leader create-
with this parameters in create_
name: ectest
#m
coding-chunks: 2
#k
data-chunks: 4
device-class: hdd
failure-domain: host
plugin: isa
fails with the error message
unit-ceph-mon-0:
UnitId: ceph-mon/0
id: "14"
message: 'Create erasure profile failed with message: Command ''[''ceph'', ''--id'',
''admin'', ''osd'', ''erasure-
''k=4'', ''m=2'', ''crush-
returned non-zero exit status 5.'
results:
Stderr: |
Error ENOENT: unknown erasure code profile 'ectest'
Error EIO: load dlopen(
status: failed
timing:
completed: 2021-08-20 16:39:02 +0000 UTC
enqueued: 2021-08-20 16:38:58 +0000 UTC
started: 2021-08-20 16:39:00 +0000 UTC
Related branches
- Ubuntu Server Developers: Pending requested
-
Diff: 35 lines (+8/-1)2 files modifieddebian/changelog (+7/-0)
debian/control (+1/-1)
- Ubuntu Server Developers: Pending requested
-
Diff: 40 lines (+9/-2)2 files modifieddebian/changelog (+8/-1)
debian/control (+1/-1)
Changed in ceph (Ubuntu Hirsute): | |
status: | New → Triaged |
importance: | Undecided → High |
description: | updated |
Marco, thank you for your bug report.
I am able to reproduce the issue and it does appear the ISA plugin is not included in the Ceph packages from Hirsute and onward:
# dpkg-query -W ceph-base 0ubuntu0. 20.04.1 x86_64- linux-gnu/ ceph/erasure- code/libec_ jerasure. so x86_64- linux-gnu/ ceph/erasure- code/libec_ shec_generic. so x86_64- linux-gnu/ ceph/erasure- code/libec_ shec.so x86_64- linux-gnu/ ceph/erasure- code/libec_ lrc.so x86_64- linux-gnu/ ceph/erasure- code/libec_ jerasure_ generic. so x86_64- linux-gnu/ ceph/erasure- code/libec_ jerasure_ sse3.so x86_64- linux-gnu/ ceph/erasure- code/libec_ isa.so x86_64- linux-gnu/ ceph/erasure- code/libec_ shec_sse3. so x86_64- linux-gnu/ ceph/erasure- code/libec_ shec_sse4. so x86_64- linux-gnu/ ceph/erasure- code/libec_ jerasure_ sse4.so x86_64- linux-gnu/ ceph/erasure- code/libec_ clay.so
ceph-base 15.2.13-
# dpkg -S libec
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
# dpkg-query -W ceph-base 0ubuntu0. 21.04.1 x86_64- linux-gnu/ ceph/erasure- code/libec_ jerasure. so x86_64- linux-gnu/ ceph/erasure- code/libec_ shec_generic. so x86_64- linux-gnu/ ceph/erasure- code/libec_ shec.so x86_64- linux-gnu/ ceph/erasure- code/libec_ lrc.so x86_64- linux-gnu/ ceph/erasure- code/libec_ jerasure_ generic. so x86_64- linux-gnu/ ceph/erasure- code/libec_ jerasure_ sse3.so x86_64- linux-gnu/ ceph/erasure- code/libec_ shec_sse3. so x86_64- linux-gnu/ ceph/erasure- code/libec_ shec_sse4. so x86_64- linux-gnu/ ceph/erasure- code/libec_ jerasure_ sse4.so x86_64- linux-gnu/ ceph/erasure- code/libec_ clay.so
ceph-base 16.2.4-
# dpkg -S libec
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
# dpkg-query -W ceph-base x86_64- linux-gnu/ ceph/erasure- code/libec_ jerasure. so x86_64- linux-gnu/ ceph/erasure- code/libec_ shec_generic. so x86_64- linux-gnu/ ceph/erasure- code/libec_ shec.so x86_64- linux-gnu/ ceph/erasure- code/libec_ lrc.so x86_64- linux-gnu/ ceph/erasure- code/libec_ jerasure_ generic. so x86_64- linux-gnu/ ceph/erasure- code/libec_ jerasure_ sse3.so x86_64- linux-gnu/ ceph/erasure- code/libec_ shec_sse3. so x86_64- linux-gnu/ ceph/erasure- code/libec_ shec_sse4. so x86_64- linux-gnu/ ceph/erasure- code/libec_ jerasure_ sse4.so x86_64- linux-gnu/ ceph/erasure- code/libec_ clay.so
ceph-base 16.2.5-0ubuntu2
# dpkg -S libec
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/
ceph-base: /usr/lib/