Bug 841936

Summary: JBoss ESB connection settings have invalid values
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Len DiMaggio <ldimaggi>
Component: JONAssignee: tcunning
Status: ON_QA --- QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: 5.3.0 GACC: mvecera, soa-p-jira
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 836551    
Bug Blocks:    
Attachments:
Description Flags
SOA-P 5.2.0 JBossESB warning
none
SOA-P 5.3.0 JBossESB warning
none
JON 3.1.1.CR1 DEBUG logs for SOA-P 4.3.0
none
JON 3.1.1.CR1 DEBUG logs for SOA-P 5.2.0
none
JON 3.1.1.CR1 DEBUG logs for SOA-P 5.3.0 none

Description Len DiMaggio 2012-07-20 15:15:51 UTC
Description of problem:

Link to: JON bugzilla 836551

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Len DiMaggio 2012-07-20 15:17:26 UTC
This bug refers to a visual display only - there is no functional impact.

Comment 2 Pavel Kralik 2012-08-22 13:10:04 UTC
Description of problem:

In SOA-P 4.3.0/5.3.0 server instance > JBoss ESB > Inventory > Connection settings are invalid settings. The same for JBoss > Deployments.


Version-Release number of selected component (if applicable):

JON 3.1.1.ER2
SOA-P 5.2.0.GA
SOA-P 5.3.0.GA

How reproducible:

Always

Steps to Reproduce:
1. Install JON server/agent/plugin packs
2. Inventory SOA-P 5.3.0.GA/5.3.0.GA
3. Go to Inventory > JBoss AS Servers > SOA servername > JBoss ESB > Inventory > Connection settings and see red warning. Similar problem is in ... > JBoss ESB > Inventory > Connection settings
 
Actual results:

Red warning

Expected results:

No warning

Additional info:

Comment 3 Pavel Kralik 2012-08-22 13:11:09 UTC
Created attachment 606264 [details]
SOA-P 5.2.0 JBossESB warning

Comment 4 Pavel Kralik 2012-08-22 13:12:21 UTC
Created attachment 606265 [details]
SOA-P 5.3.0 JBossESB warning

Comment 5 Pavel Kralik 2012-08-22 13:13:42 UTC
SOA-P 5.2.0.GA/SOA-P 5.3.0.GA and JON 3.1.1.ER2:
  
https://brewweb.devel.redhat.com/buildinfo?buildID=228250

Red warning

Comment 6 Pavel Kralik 2012-09-04 11:48:04 UTC
JON 3.1.1.CR1:
https://brewweb.devel.redhat.com/buildinfo?buildID=231258
did not fix the bug for SOA-P 4.3.0/5.2.0/5.3.0.

Comment 7 Pavel Kralik 2012-09-11 08:45:42 UTC
This bug recreated from JON 3.1.0 bug:
https://bugzilla.redhat.com/show_bug.cgi?id=836551

Comment 8 Simeon Pinder 2012-09-12 19:27:23 UTC
I took a look at this and there are two issues(first is why the error is occurring an the second because the configuration looks incorrect for the matching JMX resource):

i) in the plugin descriptor the 'JbossHomeDirectory' and 'Configuration Path' are not set to required=false so the UI is throwing up the warning because a)the discovery code has not set any values for them and b)ui validation kicks in to indicate incorrect state...

ii)The bigger issue is that the plugin descriptor for the ESB resource does not look right. All of the values under <c:group name="connection" .. should be removed as none of those values are present on the jboss.esb:service=MessageCounter JMX instance.  My guess is that this is a copy and paste error when reusing the the plugin descriptor segment from another working plugin descriptor. 

So this is a SOA-P issue as the plugin descriptor looks invalid as described above.  If removed the error message will go away.

Comment 9 tcunning 2012-09-13 03:23:49 UTC
I don't believe (ii) is true.    The values under <c:group name="connection" are values that are inherited from the AS5 plugin, and that's worked since the AS4 plugin. 

I'll try adding the required=false properties to JBossHomeDirectory and Configuration Path.     Shouldn't the discovery code be setting values for them?

Comment 10 Pavel Kralik 2012-09-13 07:23:48 UTC
Created attachment 612360 [details]
JON 3.1.1.CR1 DEBUG logs for SOA-P 4.3.0

Comment 11 Pavel Kralik 2012-09-13 07:24:29 UTC
Created attachment 612361 [details]
JON 3.1.1.CR1 DEBUG logs for SOA-P 5.2.0

Comment 12 Pavel Kralik 2012-09-13 07:25:07 UTC
Created attachment 612362 [details]
JON 3.1.1.CR1 DEBUG logs for SOA-P 5.3.0

Comment 13 Simeon Pinder 2012-09-13 13:26:26 UTC
Hmm... then perhaps I don't understand all the environments in which your plugin runs and hence your plugin descriptor is a bit confusing to me.

Regarding ii), 
The <plugin-configuration> properties are normally used for node identification purposes, coupled with 
a)where the [server|service] node appears in the overall descriptor hierarchy and b)usages of <runs-inside>, 
both define where the specific resource fits within the left navigation hierarchy of JON resources.  When that node is also a server where credentials are needed then you additionally have 'connection settings' details about how to set/get the JMX authentication details.    

From the soa-p plugin descriptor, the [<service name="ESB"...] already includes a <runs-inside><parent-resource-type name="JBossAS Server" plugin="JBossAS5"> which means that the ESB managed bean already runs inside a JMX server node with fields for connection credentials.  If the ESB resource maps to a JMX bean as the properties, objectname and operation imply then it's not really the right resource to store the JMX connection credentials in/on.

When I install the standalone SOA-P 5.3.0 server and discover/import with JON 3.1.1.CR2 then I see connection credentials on both the "JBossAS server" and on the child "JBoss ESB" node as well(see attachment for hierarchy). By setting the jmx credentials on the former then I'm able to discover the entire hierarchy without ever setting the "Connection Info" details on the child node.  This would imply that the connection settings details, as defined by the plugin details identified in ii) are redundant.

If there is some other way that you're deploying SOA-P, which is possible as there are other teams that allow different deployment options, then the connections settings fields on the bean may be useful in other cases and also specifically used by your custom plugin discovery or component code.  I did not look at either in great detail.

Either way, step i) should resolve the issue for which this BZ was opened.  From  the description above, with my deployment scenario, it also looks like step ii) is still valid but that may not be sufficient for other ways that SOA-P are deployed.

Comment 14 Mike Foley 2012-09-13 20:12:44 UTC
discussed comment #1 with len ... this is not a blocker for JON 3.1.1

Comment 15 tcunning 2012-09-13 22:57:03 UTC
Went with Simeon's suggestion to add required=false and tested it out and I don't see the invalid values error anymore.     Simeon may be right that (ii) is not necessary, but I don't have any evidence that it is causing any errors, and I have not tested removing the connection setting against RHQ and JON, so I think for now we'll leave them in and revisit that part if we start seeing issues with the connection settings.

Committed to trunk of JBoss ESB:

bananastand:jonplugin tcunning$ svn commit
Sending        jonplugin/as5/src/main/resources/META-INF/rhq-plugin.xml
Transmitting file data .
Committed revision 38179.