Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1096227

Summary: setDomainRegularRole call failure during masterMigrate negative flow
Product: Red Hat Enterprise Virtualization Manager Reporter: Federico Simoncelli <fsimonce>
Component: vdsmAssignee: Nir Soffer <nsoffer>
Status: CLOSED ERRATA QA Contact: Aharon Canan <acanan>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.4.0CC: adahms, amureini, bazulay, cpelland, ebenahar, eedri, fsimonce, iheim, knesenko, lpeer, yeylon
Target Milestone: ---Keywords: CodeChange
Target Release: 3.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: storage
Fixed In Version: vdsm-4.14.7-2.el6ev Doc Type: Bug Fix
Doc Text:
Previously, attempting to change the host designated as the storage pool master failed under certain conditions. This was caused by a change in the logic used to handle storage pool metadata. Now, this logic has been revised so that it is possible to change the storage pool master without issue.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-09 13:30:47 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Federico Simoncelli 2014-05-09 13:41:01 UTC
Description of problem:
One step of the masterMigrate negative flow fails on setDomainRegularRole:

Thread-75::ERROR::2014-05-09 09:30:28,383::task::866::TaskManager.Task::(_setError) Task=`a31b454e-70fc-4d70-8939-a22f28d0a99c`::Unexpected error
Traceback (most recent call last):
  File "/usr/share/vdsm/storage/task.py", line 873, in _run
    return fn(*args, **kargs)
  File "/usr/share/vdsm/logUtils.py", line 45, in wrapper
    res = f(*args, **kwargs)
  File "/usr/share/vdsm/storage/hsm.py", line 1199, in deactivateStorageDomain
    pool.deactivateSD(sdUUID, msdUUID, masterVersion)
  File "/usr/share/vdsm/storage/securable.py", line 77, in wrapper
    return method(self, *args, **kwargs)
  File "/usr/share/vdsm/storage/sp.py", line 1098, in deactivateSD
    self.masterMigrate(sdUUID, newMsdUUID, masterVersion)
  File "/usr/share/vdsm/storage/securable.py", line 77, in wrapper
    return method(self, *args, **kwargs)
  File "/usr/share/vdsm/storage/sp.py", line 830, in masterMigrate
    self.setDomainRegularRole(newmsd)
AttributeError: 'StoragePool' object has no attribute 'setDomainRegularRole'


Version-Release number of selected component (if applicable):
vdsm-4.14.7-1.el6ev

How reproducible:
No reproducer known. It can be triggered forcing a failure in the masterMigrate method.

Comment 1 Federico Simoncelli 2014-05-12 12:58:59 UTC
Since there's no reproducer known either you artificially raise an exception in masterMigrate (code change) or you just test that the positive flow is not affected.

Comment 2 Nir Soffer 2014-05-12 13:08:05 UTC
(In reply to Federico Simoncelli from comment #1)
> Since there's no reproducer known either you artificially raise an exception
> in masterMigrate (code change) or you just test that the positive flow is
> not affected.

I tested the submitted patch both ways.

Comment 4 Elad 2014-05-14 09:25:01 UTC
Tried to test it according to comment #1 by doing reconstruct master and by Nir suggestion of inserting a 'raise exception' line into sp.py and did reconstruct master.

Reconstruct succeeded in both cases, moving to VERIFIED.
Fede, please confirm my test.

Verified using av9.1

Comment 6 errata-xmlrpc 2014-06-09 13:30:47 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-2014-0504.html