Bug 1115154

Summary: Cant find constructor for type DisconnectHostFromStoragePoolServersCommand
Product: [Retired] oVirt Reporter: Federico Simoncelli <fsimonce>
Component: ovirt-engine-coreAssignee: Maor <mlipchuk>
Status: CLOSED CURRENTRELEASE QA Contact: Elad <ebenahar>
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.5CC: acanan, amureini, gklein, iheim, rbalakri, yeylon
Target Milestone: ---   
Target Release: 3.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: storage
Fixed In Version: ovirt-engine-3.5.0_beta2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-17 12:25:40 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:
Bug Depends On:    
Bug Blocks: 1073943    

Description Federico Simoncelli 2014-07-01 17:50:41 UTC
Description of problem:
When moving 3 hosts to maintenance the following error message appears twice:

2014-07-01 19:43:40,743 ERROR [org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo] (DefaultQuartzScheduler_Worker-80) [143139cd] Host encounter a problem moving to maintenance mode, probably error during disconn
ecting it from pool java.lang.NullPointerException. The Host will stay in Maintenance
2014-07-01 19:43:44,251 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.DisconnectStoragePoolVDSCommand] (DefaultQuartzScheduler_Worker-93) FINISH, DisconnectStoragePoolVDSCommand, log id: 2216e000
2014-07-01 19:43:44,252 ERROR [org.ovirt.engine.core.bll.CommandsFactory] (DefaultQuartzScheduler_Worker-93) Cant find constructor for type org.ovirt.engine.core.bll.storage.DisconnectHostFromStoragePoolServersCommand with parameter types: [class org.ovirt.engine.core.common.action.HostStoragePoolParametersBase]
2014-07-01 19:43:44,252 ERROR [org.ovirt.engine.core.bll.CommandsFactory] (DefaultQuartzScheduler_Worker-93) An exception has occured while trying to create a command object for command DisconnectHostFromStoragePoolServers: java.lang.RuntimeException: could not find matching constructor for Command class class org.ovirt.engine.core.bll.storage.DisconnectHostFromStoragePoolServersCommand
        at org.ovirt.engine.core.bll.CommandsFactory.findCommandConstructor(CommandsFactory.java:197) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandsFactory.createCommand(CommandsFactory.java:61) [bll.jar:]
        at org.ovirt.engine.core.bll.Backend.runActionImpl(Backend.java:410) [bll.jar:]
        at org.ovirt.engine.core.bll.Backend.runInternalAction(Backend.java:360) [bll.jar:]
        at sun.reflect.GeneratedMethodAccessor279.invoke(Unknown Source) [:1.7.0_60]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_60]
        at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_60]
        at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72) [jboss-as-ee-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]

Version-Release number of selected component (if applicable):
ovirt-engine-3.5 git hash: 0b16ed7

How reproducible:

Steps to Reproduce:
1. Have three hosts in a data center
2. Move to maintenance the hosts one by one starting from the SPM

Actual results:
The command fails with the error mentioned above.

Expected results:
DisconnectHostFromStoragePoolServersCommand should continue normally.

Additional info:
I have the feeling that this could be related to the fact that I am moving to maintenance multiple hosts at the same time starting from the SPM. It seems that moving a single host to maintenance didn't expose the problem.

Comment 1 Maor 2014-07-02 17:11:35 UTC
I suspect this is a regression from http://gerrit.ovirt.org/#/c/28829/

Comment 2 Maor 2014-07-02 17:18:47 UTC
This should be fixed at commit 8255f4478e9007ed23764540fece36000d7244a4
(a new constructor was added wothout context)

Comment 3 Elad 2014-08-14 11:10:53 UTC
Verification steps:
1) added 3 hosts to DC, activate them, one took SPM
2) maintenance all 3 hosts, 1 by one, started from SPM

The operational went successfully

Verified using ovirt-3.5-RC1

Comment 4 Sandro Bonazzola 2014-10-17 12:25:40 UTC
oVirt 3.5 has been released and should include the fix for this issue.