Bug 856110 - CLI invocation for a DomainDeployment Proxy deployToServerGroup fails
CLI invocation for a DomainDeployment Proxy deployToServerGroup fails
Status: CLOSED CURRENTRELEASE
Product: JBoss Operations Network
Classification: JBoss
Component: CLI, Plugin -- JBoss EAP 6 (Show other bugs)
JON 3.1.0
All All
high Severity high
: ---
: JON 3.1.2
Assigned To: Jay Shaughnessy
Mike Foley
:
Depends On: 856833
Blocks:
  Show dependency treegraph
 
Reported: 2012-09-11 04:35 EDT by Mohamed Hamza Ben Mansour
Modified: 2013-09-11 06:58 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 856833 (view as bug list)
Environment:
Last Closed: 2013-09-11 06:58:35 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 207713 None None None 2012-09-12 17:26:51 EDT

  None (edit)
Description Mohamed Hamza Ben Mansour 2012-09-11 04:35:11 EDT
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'"
Comment 1 Larry O'Leary 2012-09-12 18:18:24 EDT
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.
Comment 2 Larry O'Leary 2012-09-12 18:27:20 EDT
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
Comment 3 Jay Shaughnessy 2012-09-14 15:06:25 EDT
Fixed upstream.
Comment 5 John Mazzitelli 2012-11-13 09:45:18 EST
cherry picked the master commit (c1ba47b0832ac7268c426d4111a2ee2e19c1e4ae):

a177c668faeefa7694c7315014835ccfd9a9a3ea
Comment 6 Simeon Pinder 2012-11-21 16:55:55 EST
Moving to ON_QA as available for test with build : https://brewweb.devel.redhat.com//buildinfo?buildID=244662.
Comment 7 Filip Brychta 2012-11-28 11:09:45 EST
Verified on 3.1.2.ER2. Successfully deployed war to server group using domainDeploymentProxy.deploytoServerGroup("helloworld.war", true, "main-server-group")

Note You need to log in before you can comment on or make changes to this bug.