liberasure produces unnecessary messages in user.log

Bug #1647797 reported by Daniil Lapshin
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Won't Fix
Medium
Alexey Stupnikov
10.0.x
Won't Fix
Medium
MOS Swift

Bug Description

Detailed bug description:
 If swift is installed liberasure produces the following messages every 5 minutes that end up being written to /var/log/user.log:

 <11>Dec 6 16:30:02 node-6 liberasurecode[29424]: liberasurecode_backend_open: dynamic linking error libJerasure.so.2: cannot open shared object file: No such file or directory
 <11>Dec 6 16:30:02 node-6 liberasurecode[29424]: liberasurecode_backend_open: dynamic linking error libJerasure.so.2: cannot open shared object file: No such file or directory
 <11>Dec 6 16:30:02 node-6 liberasurecode[29424]: liberasurecode_backend_open: dynamic linking error libisal.so.2: cannot open shared object file: No such file or directory
 <11>Dec 6 16:30:02 node-6 liberasurecode[29424]: liberasurecode_backend_open: dynamic linking error libshss.so.1: cannot open shared object file: No such file or directory

 As I understand messages generated because on liberasure pluggable architecture which tries to use all backend plugins even if they aren't installed.

 This issue looks cosmetic but nevertheless log files filled with unnecessary messages could be quite disturbing.

Steps to reproduce:
 Deploy MOS with Swift

Expected results:
 liberasure produces only relevant messages

Actual result:
 liberasure complain about missing shared objects every 5 minutes

Reproducibility:
 All the time

Workaround:
 Syslog could be configured to write liberasure logs in separate file (or ignore them)

Impact:
 Cosmetic

Description of the environment:
- Operation system: MOS 9.0, Ubuntu 14.04
- Related projects installed: Swift

Changed in mos:
status: New → Confirmed
assignee: nobody → MOS Swift (mos-swift)
milestone: none → 10.0
tags: added: sla2
Revision history for this message
Scott Machtmes (smachtmes) wrote :

I have another customer case with similar issue. This appears to have been fixed in the pyeclib code as follows: https://bitbucket.org/kmgreen2/pyeclib/commits/4f278195a42ea0f254114c92043b6ba6ecdc6b0a

Anton Matveev (amatveev)
tags: removed: sla2
Revision history for this message
Denis Meltsaykin (dmeltsaykin) wrote :

It seems that version https://github.com/openstack/pyeclib/tree/v1.2.1 contains a fix for this issue. We can update our fork.

Changed in mos:
milestone: 9.x-updates → 9.2-mu-3
Changed in mos:
assignee: MOS Swift (mos-swift) → Alexey Stupnikov (astupnikov)
no longer affects: mos/9.x
Revision history for this message
Alexey Stupnikov (astupnikov) wrote :

I have doublechecked the changes made in python-pyeclib-1.2.1 and it looks like we will not be able to backport whole package: it requires liberasurecode-dev (>= 1.2.0), which is available only in U16.10. I will backport the fix only.

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Fix proposed to packages/trusty/python-pyeclib (9.0)

Fix proposed to branch: 9.0
Change author: Alexey Stupnikov <email address hidden>
Review: https://review.fuel-infra.org/36070

Changed in mos:
status: Confirmed → In Progress
Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Fix merged to packages/trusty/python-pyeclib (9.0)

Reviewed: https://review.fuel-infra.org/36070
Submitter: Pkgs Jenkins <email address hidden>
Branch: 9.0

Commit: d5ecf646e6996a988ca347459fb053a9cf2f59c9
Author: Alexey Stupnikov <email address hidden>
Date: Thu Jul 27 12:30:50 2017

Use the check_backend_available function.

It turns out that we are unable to backport python-pyeclib v1.2.1,
since it requires liberasurecode-dev from ubuntu 16.10. I have
decided to cherry-pick only the patch we need to fix the bug.

This patch eliminates the spurrious syslog messages and is a
cleaner mechanism for querying all of the available backends on a
system.

Change-Id: I76d0f27dc35da1c68132ef39c623da9cbaa819fa
Closes-bug: #1647797

Changed in mos:
status: In Progress → Fix Committed
Revision history for this message
Aleksey Zvyagintsev (azvyagintsev) wrote :

Those merge broke swift:
http://paste.openstack.org/show/617554/

root@node-4:/var/log/upstart# dpkg -l |grep -i "swift\|glacne"
ii python-swift 2.7.1-4~u14.04+mos2 all distributed virtual object store - Python libraries
ii python-swiftclient 1:3.0.0-2~u14.04+mos1 all Client library for Openstack Swift API - Python 2.7
ii swift 2.7.1-4~u14.04+mos2 all distributed virtual object store - common files
ii swift-account 2.7.1-4~u14.04+mos2 all distributed virtual object store - account server
ii swift-container 2.7.1-4~u14.04+mos2 all distributed virtual object store - container server
ii swift-object 2.7.1-4~u14.04+mos2 all distributed virtual object store - object server
ii swift-plugin-s3 1.9-1~u14.04+mos1 all swift3 (S3 compatibility) middleware plugin for swift
ii swift-proxy 2.7.1-4~u14.04+mos2 all distributed virtual object store - proxy server

Changed in mos:
importance: Medium → High
Revision history for this message
Aleksey Zvyagintsev (azvyagintsev) wrote :

dpkg -l |grep -i "python-pyeclib"
ii python-pyeclib 1.2.0-2~u14.04+mos2 amd64 interface for implementing erasure codes - Python 2.x

Changed in mos:
status: Fix Committed → In Progress
Revision history for this message
Alexey Stupnikov (astupnikov) wrote :

This is a known bug in pyeclib v1.2.1. Need to backport a fix for bug #1586220

Revision history for this message
Alexey Stupnikov (astupnikov) wrote :

OK, here is the situation: the patch I have backported requires missing function. Need to discuss the situation and possible solutions.

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Related fix proposed to packages/trusty/python-pyeclib (9.0)

Related fix proposed to branch: 9.0
Change author: Alexey Stupnikov <email address hidden>
Review: https://review.fuel-infra.org/36176

Changed in mos:
milestone: 9.2-mu-3 → 9.x-updates
Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Related fix merged to packages/trusty/python-pyeclib (9.0)

Reviewed: https://review.fuel-infra.org/36176
Submitter: Pkgs Jenkins <email address hidden>
Branch: 9.0

Commit: 2a7f7be1adaccb355f4f92f37df6977cbcd32dd7
Author: Alexey Stupnikov <email address hidden>
Date: Tue Aug 8 15:48:04 2017

Revert "Use the check_backend_available function."

To make this patch fully functional we need to backport two
patches to openstack/liberasurecode (c7a94df and fd88e70).

This will break backward compatibility between python-pyeclib
and liberasurecode1 packages, so we need to bump major package
versions, then change requirements. Our version will not match
upstream one and it will become a one large mess.

IMO we should just backport this fix for Medium bug and
don't touch a functional code.

This reverts commit d5ecf646e6996a988ca347459fb053a9cf2f59c9.

Change-Id: I7fb21a141be4de6b1c82b5b78216ac488fc82d61
Related-bug: #1647797

Revision history for this message
Alexey Stupnikov (astupnikov) wrote :

The fix for this issue is too complex and error-prone. We don't merge such fixes, moving to Won't Fix.

Changed in mos:
status: In Progress → Won't Fix
Revision history for this message
Denis Meltsaykin (dmeltsaykin) wrote :

I'm also downgrading the importance to medium, since this issue is obviously cosmetic rather than a real game stopper.

Changed in mos:
importance: High → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.