Bug 684725 - 2.2.6.1 - If POOL_DESCRIPTION param is missing from master MD, SP connect fails
Summary: 2.2.6.1 - If POOL_DESCRIPTION param is missing from master MD, SP connect fails
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: vdsm22
Version: 5.6
Hardware: x86_64
OS: Linux
urgent
urgent
Target Milestone: rc
: ---
Assignee: Dan Kenigsberg
QA Contact: yeylon@redhat.com
URL:
Whiteboard:
Depends On:
Blocks: 684801
TreeView+ depends on / blocked
 
Reported: 2011-03-14 10:52 UTC by Dan Yasny
Modified: 2018-11-14 14:23 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
In certain cases, the "POOL_DESCRIPTION" field was removed from the storage domain metadata. As a result, storage domains with a missing "POOL_DESCRIPTION" field failed to connect to a storage pool. With this update, an empty description is used in the "POOL_DESCRIPTION" field when the field is undefined, thus, no longer causing failures to connect.
Clone Of:
Environment:
Last Closed: 2012-02-21 04:52:32 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2012:0169 0 normal SHIPPED_LIVE vdsm bug fix update 2012-02-21 09:51:13 UTC

Description Dan Yasny 2011-03-14 10:52:46 UTC
Description of problem:
after update to 2.2.6, hosts fail to connect to storage pool if POOL_DESCRIPTION field is missing from metadata


Version-Release number of selected component (if applicable):
2.2.6

vdsm22-4.5-63.21.el5_6

How reproducible:
always

Steps to Reproduce:
1.upgrade host to vdsm22-4.5-63.21.el5_6
2.activate
3.
  
Actual results:
Thread-73::ERROR::2011-03-10 11:34:20,584::sp::1149::irs::Pool metadata error
Thread-73::ERROR::2011-03-10 11:34:20,585::misc::66::irs::Error storage pool action: ('303454af-9d07-4db1-a91a-5293665d4940',)
Thread-73::ERROR::2011-03-10 11:34:20,607::misc::67::irs::Traceback (most recent call last):
  File "/usr/share/vdsm/storage/task.py", line 978, in _run
    return fn(*args, **kargs)
  File "/usr/share/vdsm/storage/hsm.py", line 1094, in public_getStoragePoolInfo
    return self.getPool(spUUID).getInfo()
  File "/usr/share/vdsm/storage/sp.py", line 1150, in getInfo
    raise se.StoragePoolActionError(self.spUUID)
StoragePoolActionError: Error storage pool action: ('303454af-9d07-4db1-a91a-5293665d4940',)

Expected results:
connect SP even if field is missing
produce an error describing which field is missing
if an unused field is missing, raise a WARN, and don't fail the entire process


Additional info:
downgrading host to 2.2.5 fixes issue

After checking the actual code, it seems like in 2.2.6 in sp.py the getInfo is using try/except to parse SP metadata, and that fails on  POOL_DESCRIPTION

in 2.2.5 if/elif was used, and if  POOL_DESCRIPTION was missing, the parser would just continue.

We could not find why the field is missing though, but
1.

Comment 8 Daniel Paikov 2011-03-14 16:23:02 UTC
Checked on vdsm22-4.5-63.23. Both connectStoragePool and getStoragePoolInfo are successful, and I am able to get SPM.

Comment 9 Dan Kenigsberg 2011-03-14 16:36:50 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
On certain occasions pool_description field is removed from storage domain metadata. This problem will be dealt with in bug 676582. Storage domains with missing pool_description used to fail connection to storage pool. This fix returns an empty description instead of failing the operation.

Comment 10 Martin Prpič 2011-03-16 15:52:57 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-On certain occasions pool_description field is removed from storage domain metadata. This problem will be dealt with in bug 676582. Storage domains with missing pool_description used to fail connection to storage pool. This fix returns an empty description instead of failing the operation.+In certain cases, the "POOL_DESCRIPTION" field was removed from the storage domain metadata. As a result, storage domains with a missing "POOL_DESCRIPTION" field failed to connect to a storage pool. With this update, an empty description is used in the "POOL_DESCRIPTION" field when the field is undefined, thus, no longer causing failures to connect.

Comment 11 errata-xmlrpc 2012-02-21 04:52:32 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.

http://rhn.redhat.com/errata/RHBA-2012-0169.html


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