| Summary: | 2.2.6.1 - If POOL_DESCRIPTION param is missing from master MD, SP connect fails | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 5 | Reporter: | Dan Yasny <dyasny> |
| Component: | vdsm22 | Assignee: | Dan Kenigsberg <danken> |
| Status: | CLOSED ERRATA | QA Contact: | yeylon <yeylon> |
| Severity: | urgent | Docs Contact: | |
| Priority: | urgent | ||
| Version: | 5.6 | CC: | abaron, acathrow, bazulay, cpelland, danken, dpaikov, ewarszaw, iheim, lyarwood, plyons, srevivo, ykaul |
| Target Milestone: | rc | Keywords: | ZStream |
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| 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.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2012-02-21 04:52:32 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | |||
| Bug Blocks: | 684801 | ||
Checked on vdsm22-4.5-63.23. Both connectStoragePool and getStoragePoolInfo are successful, and I am able to get SPM.
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.
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.
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 |
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.