Hide Forgot
Description of problem: - spm host in non-responsive (just for the protocol, its no longer exists) - add new host to pool, host is connected to pool - fenceSpmStorage command is sent using new host as proxy - command fails apparently, the following function is described as @unsecured (vdsm/storage/sp.py), but it requires for host to change metadata, which is secured: 146 @unsecured 147 def forceFreeSpm(self): 148 # DO NOT USE, STUPID, HERE ONLY FOR BC 149 # TODO: SCSI Fence the 'lastOwner' 150 self.setMetaParams({PMDK_SPM_ID: -1, PMDK_LVER: -1}) 151 self.spmRole = SPM_FRE fix is to pass '__securityOverride=True' to function - since function needs to write to metadata (secured) but defined as unsecured. Thread-59::INFO::2012-02-06 08:38:29,604::logUtils::37::dispatcher::(wrapper) Run and protect: fenceSpmStorage(spUUID='84c4f901-72b6-4303-80ab-d03b5f95c771', lastOwner=1, lastLver='4', options=None) Thread-59::DEBUG::2012-02-06 08:38:29,605::resourceManager::175::ResourceManager.Request::(__init__) ResName=`Storage.84c4f901-72b6-4303-80ab-d03b5f95c771`ReqID=`fd22ac75-8f36-44e8-82c6-2b0353dab87d`::Request was made in '/usr/share/vds m/storage/hsm.py' line '2633' at 'fenceSpmStorage' Thread-59::DEBUG::2012-02-06 08:38:29,605::resourceManager::483::ResourceManager::(registerResource) Trying to register resource 'Storage.84c4f901-72b6-4303-80ab-d03b5f95c771' for lock type 'exclusive' Thread-59::DEBUG::2012-02-06 08:38:29,606::resourceManager::525::ResourceManager::(registerResource) Resource 'Storage.84c4f901-72b6-4303-80ab-d03b5f95c771' is free. Now locking as 'exclusive' (1 active user) Thread-59::DEBUG::2012-02-06 08:38:29,606::resourceManager::212::ResourceManager.Request::(grant) ResName=`Storage.84c4f901-72b6-4303-80ab-d03b5f95c771`ReqID=`fd22ac75-8f36-44e8-82c6-2b0353dab87d`::Granted request Thread-59::DEBUG::2012-02-06 08:38:29,607::task::819::TaskManager.Task::(resourceAcquired) Task=`55251ede-0db1-4980-8add-6d1f0fde3788`::_resourcesAcquired: Storage.84c4f901-72b6-4303-80ab-d03b5f95c771 (exclusive) Thread-59::DEBUG::2012-02-06 08:38:29,607::task::980::TaskManager.Task::(_decref) Task=`55251ede-0db1-4980-8add-6d1f0fde3788`::ref 1 aborting False Thread-59::ERROR::2012-02-06 08:38:29,607::task::855::TaskManager.Task::(_setError) Task=`55251ede-0db1-4980-8add-6d1f0fde3788`::Unexpected error Traceback (most recent call last): File "/usr/share/vdsm/storage/task.py", line 863, in _run return fn(*args, **kargs) File "/usr/share/vdsm/logUtils.py", line 38, in wrapper res = f(*args, **kwargs) File "/usr/share/vdsm/storage/hsm.py", line 2634, in fenceSpmStorage pool.forceFreeSpm() File "/usr/share/vdsm/storage/sp.py", line 150, in forceFreeSpm self.setMetaParams({PMDK_SPM_ID: -1, PMDK_LVER: -1}) File "/usr/share/vdsm/storage/securable.py", line 78, in wrapper raise SecureError() SecureError Thread-59::DEBUG::2012-02-06 08:38:29,653::task::874::TaskManager.Task::(_run) Task=`55251ede-0db1-4980-8add-6d1f0fde3788`::Task._run: 55251ede-0db1-4980-8add-6d1f0fde3788 ('84c4f901-72b6-4303-80ab-d03b5f95c771', 1, '4') {} failed - stopping task Thread-59::DEBUG::2012-02-06 08:38:29,654::task::1201::TaskManager.Task::(stop) Task=`55251ede-0db1-4980-8add-6d1f0fde3788`::stopping in state preparing (force False) Thread-59::DEBUG::2012-02-06 08:38:29,654::task::980::TaskManager.Task::(_decref) Task=`55251ede-0db1-4980-8add-6d1f0fde3788`::ref 1 aborting True Thread-59::INFO::2012-02-06 08:38:29,654::task::1159::TaskManager.Task::(prepare) Task=`55251ede-0db1-4980-8add-6d1f0fde3788`::aborting: Task is aborted: '' - code 100 Thread-59::DEBUG::2012-02-06 08:38:29,654::task::1164::TaskManager.Task::(prepare) Task=`55251ede-0db1-4980-8add-6d1f0fde3788`::Prepare: aborted: Thread-59::DEBUG::2012-02-06 08:38:29,654::task::980::TaskManager.Task::(_decref) Task=`55251ede-0db1-4980-8add-6d1f0fde3788`::ref 0 aborting True Thread-59::DEBUG::2012-02-06 08:38:29,655::task::915::TaskManager.Task::(_doAbort) Task=`55251ede-0db1-4980-8add-6d1f0fde3788`::Task._doAbort: force False Thread-59::DEBUG::2012-02-06 08:38:29,655::resourceManager::841::ResourceManager.Owner::(cancelAll) Owner.cancelAll requests {} Thread-59::DEBUG::2012-02-06 08:38:29,655::task::588::TaskManager.Task::(_updateState) Task=`55251ede-0db1-4980-8add-6d1f0fde3788`::moving from state preparing -> state aborting Thread-59::DEBUG::2012-02-06 08:38:29,655::task::537::TaskManager.Task::(__state_aborting) Task=`55251ede-0db1-4980-8add-6d1f0fde3788`::_aborting: recover policy none Thread-59::DEBUG::2012-02-06 08:38:29,656::task::588::TaskManager.Task::(_updateState) Task=`55251ede-0db1-4980-8add-6d1f0fde3788`::moving from state aborting -> state failed Thread-59::DEBUG::2012-02-06 08:38:29,656::resourceManager::806::ResourceManager.Owner::(releaseAll) Owner.releaseAll requests {} resources {'Storage.84c4f901-72b6-4303-80ab-d03b5f95c771': < ResourceRef 'Storage.84c4f901-72b6-4303-80ab-d03b5f95c771', isValid: 'True' obj: 'None'>} Thread-59::DEBUG::2012-02-06 08:38:29,656::resourceManager::841::ResourceManager.Owner::(cancelAll) Owner.cancelAll requests {} Thread-59::DEBUG::2012-02-06 08:38:29,656::resourceManager::535::ResourceManager::(releaseResource) Trying to release resource 'Storage.84c4f901-72b6-4303-80ab-d03b5f95c771' Thread-59::DEBUG::2012-02-06 08:38:29,657::resourceManager::550::ResourceManager::(releaseResource) Released resource 'Storage.84c4f901-72b6-4303-80ab-d03b5f95c771' (0 active users) Thread-59::DEBUG::2012-02-06 08:38:29,657::resourceManager::555::ResourceManager::(releaseResource) Resource 'Storage.84c4f901-72b6-4303-80ab-d03b5f95c771' is free, finding out if anyone is waiting for it. Thread-59::DEBUG::2012-02-06 08:38:29,657::resourceManager::562::ResourceManager::(releaseResource) No one is waiting for resource 'Storage.84c4f901-72b6-4303-80ab-d03b5f95c771', Clearing records. Thread-59::ERROR::2012-02-06 08:38:29,658::dispatcher::93::Storage.Dispatcher.Protect::(run) Traceback (most recent call last): File "/usr/share/vdsm/storage/dispatcher.py", line 85, in run result = ctask.prepare(self.func, *args, **kwargs) File "/usr/share/vdsm/storage/task.py", line 1166, in prepare raise self.error SecureError
http://gerrit.ovirt.org/1642
Haim, why do you care about this verb? Is there any Engine flow that depends on it?
(In reply to comment #2) > Haim, why do you care about this verb? Is there any Engine flow that depends on > it? Yes. engine use this verb as a part of Manual fence flow - which means, its broken.
*** Bug 790331 has been marked as a duplicate of this bug. ***