Bug 1324535 - lvm2 lvmdump does not collect any data
Summary: lvm2 lvmdump does not collect any data
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: sos
Version: 6.8
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: rc
: ---
Assignee: Shane Bradley
QA Contact: Miroslav Hradílek
URL: https://github.com/sosreport/sos/issu...
Whiteboard:
Depends On:
Blocks: 1269194 1324538 1353701
TreeView+ depends on / blocked
 
Reported: 2016-04-06 14:45 UTC by Branislav Náter
Modified: 2017-03-21 10:46 UTC (History)
12 users (show)

Fixed In Version: sos-3.2-44.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1324538 (view as bug list)
Environment:
Last Closed: 2017-03-21 10:46:52 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:0695 0 normal SHIPPED_LIVE sos bug fix and enhancement update 2017-03-21 12:38:54 UTC

Description Branislav Náter 2016-04-06 14:45:04 UTC
Description of problem:
When using lvmdump=on (or lvmdump-am=on) options from lvm2 plugin, expected data are not collected.

Version-Release number of selected component (if applicable):
sos-3.2-40.el6

How reproducible:
always

Steps to Reproduce:
1. sosreport -o lvm2 --tmp-dir=. --batch -k lvm2.lvmdump=on

Actual results:
no data in sos_commands/lvm2/lvmdump/ directory

Expected results:
Expected data are present

Additional info:

When running lvmdump command and providing directory where to dump data (using -d <dirname> switch), directory should not exists. Otherwise lvmdump exits with error: "Fatal: <dirname> already exists"

When running lvmdump in lvm2 plugin, get_cmd_output_path() method from __init__.py is used:

cmd = lvmdump_cmd % (lvmdump_opts,
                             self.get_cmd_output_path(name="lvmdump")) <--------
        self.add_cmd_output(cmd)

This method creates provided directory "lvmdump" and that cause lvmdump command to fails.

Fix is as easy as run get_cmd_output_path() with "make=False" argument to prevent directory creation:

cmd = lvmdump_cmd % (lvmdump_opts,
                             self.get_cmd_output_path(name="lvmdump", make=False)) <--
        self.add_cmd_output(cmd)

Comment 3 Alasdair Kergon 2016-04-06 21:40:57 UTC
I've also updated lvmdump upstream to accept it if the directory already exists and is empty.

https://www.redhat.com/archives/lvm-devel/2016-April/msg00019.html
https://git.fedorahosted.org/cgit/lvm2.git/commit/?id=55001ae9ec2c00a070f8dfa8541f4f17a6e2a284

Comment 19 errata-xmlrpc 2017-03-21 10:46:52 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2017-0695.html


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