Description of problem: After doing an initial deployment of a simple application on an EAP 6 domain via JON UI, I tried to update the backing content automatically and deploy to a ServerGroup via the following script : // B E G I N var resourceTypeCriteria = new ResourceTypeCriteria() resourceTypeCriteria.addFilterName("DomainDeployment") var deploymentTypeList = ResourceTypeManager.findResourceTypesByCriteria(resourceTypeCriteria) var domainDeploymentType = deploymentTypeList.get(0) var resourceCriteria = new ResourceCriteria() resourceCriteria.addFilterResourceTypeId(domainDeploymentType.id) resourceCriteria.addFilterResourceKey("deployment=jboss-as-log4j.war") var domainDeploymentList = ResourceManager.findResourcesByCriteria(resourceCriteria) var domainDeployment = domainDeploymentList.get(0) var domainDeploymentProxy = ProxyFactory.getResource(domainDeployment.id) domainDeploymentProxy.updateBackingContent("/home/mbenmans/NotBackedUp/JBoss/org/var result = domainDeploymentProxy.deploytoServerGroup("jboss-as-log4j.war", true, "other-server-group")AS/jboss-as-quickstarts-7.1.1.CR2/log4j/target/jboss-as-log4j.war", "9.0") // E N D The execution of the script ended with the follwing error message : Invoking operation deploytoServerGroup sun.org.mozilla.javascript.internal.WrappedException: Wrapped javax.ejb.EJBException: [Warning] org.rhq.enterprise.server.exception.ScheduleException: java.lang.IllegalArgumentException: Parameters for [promote] on Resource of type [DomainDeployment] are not valid: [Required property 'server-group' was not set in Configuration[id=0].] Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. Deploy jboss-as-log4j from quickstarts 2. Adapt the paths in the script 3. Execute via CLI Actual results: The execution of the script ended with the follwing error message : Invoking operation deploytoServerGroup sun.org.mozilla.javascript.internal.WrappedException: Wrapped javax.ejb.EJBException: [Warning] org.rhq.enterprise.server.exception.ScheduleException: java.lang.IllegalArgumentException: Parameters for [promote] on Resource of type [DomainDeployment] are not valid: [Required property 'server-group' was not set in Configuration[id=0].] Expected results: A deployed App Additional info: When first invoking the operation (ResourceClientProxy.invoke) we do a parameters translation via ConfigurationClassBuilder.translateParametersToConfig(..) wich calls ConfigurationClassBuilder.translateParameters(). In the body of this method when building the configuration, we process the names of the PropertyDefinitions and we endup with a configuration containing a key (serverGroup) whereas in the DB we have "server-group". In the end in the validation process we never find the "Required property 'server-group'"
Please note that invoking the same operation from the UI works just fine. I only get this error when invoking the operation via the CLI.
Here is the relevant part of the stack: ERROR [org.rhq.enterprise.server.remote.RemoteSafeInvocationHandler] Failed to invoke remote request java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ... at java.lang.Thread.run(Thread.java:636) Caused by: javax.ejb.EJBException: org.rhq.enterprise.server.exception.ScheduleException: java.lang.IllegalArgumentException: Parameters for [promote] on Resource of type [DomainDeployment] are not valid: [Required property 'server-group' was not set in Configuration[id=0].] at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:63) ... at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84) at $Proxy393.scheduleResourceOperation(Unknown Source) ... 75 more Caused by: org.rhq.enterprise.server.exception.ScheduleException: java.lang.IllegalArgumentException: Parameters for [promote] on Resource of type [DomainDeployment] are not valid: [Required property 'server-group' was not set in Configuration[id=0].] at org.rhq.enterprise.server.operation.OperationManagerBean.scheduleResourceOperation(OperationManagerBean.java:168) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ... at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) ... 92 more Caused by: java.lang.IllegalArgumentException: Parameters for [promote] on Resource of type [DomainDeployment] are not valid: [Required property 'server-group' was not set in Configuration[id=0].] at org.rhq.enterprise.server.operation.OperationManagerBean.validateOperationNameAndParameters(OperationManagerBean.java:2130) at org.rhq.enterprise.server.operation.OperationManagerBean.scheduleResourceOperation(OperationManagerBean.java:215) at org.rhq.enterprise.server.operation.OperationManagerBean.scheduleResourceOperation(OperationManagerBean.java:166) ... 120 more
Fixed upstream.
cherry picked the master commit (c1ba47b0832ac7268c426d4111a2ee2e19c1e4ae): a177c668faeefa7694c7315014835ccfd9a9a3ea
Moving to ON_QA as available for test with build : https://brewweb.devel.redhat.com//buildinfo?buildID=244662.
Verified on 3.1.2.ER2. Successfully deployed war to server group using domainDeploymentProxy.deploytoServerGroup("helloworld.war", true, "main-server-group")