Bug 911692 - [JBoss AS] Discovery fails to determine JNP URL if data directory is not located at ${jboss.server.home.dir}/data
Summary: [JBoss AS] Discovery fails to determine JNP URL if data directory is not loca...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Operations Network
Classification: JBoss
Component: Plugin -- JBoss EAP 4, Plugin -- JBoss EAP 5
Version: JON 3.0.0
Hardware: All
OS: All
urgent
high
Target Milestone: ER01
: JON 3.2.0
Assignee: John Mazzitelli
QA Contact: Mike Foley
URL:
Whiteboard:
Depends On: 699893
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-02-15 16:30 UTC by Larry O'Leary
Modified: 2018-12-03 18:19 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 699893
Environment:
Last Closed: 2014-01-02 20:37:14 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Knowledge Base (Legacy) 54752 0 None None None Never

Description Larry O'Leary 2013-02-15 16:30:12 UTC
+++ This bug was initially created as a clone of upstream Bug #699893 +++

Description of problem:
If a JBoss AS instance has had its data directory relocated or renamed, the JBoss AS plug-in fails to determine a valid Naming Provider URL (JNP URL) for the plug-in configuration for the newly imported resource. 

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

How reproducible:
Always

Steps to Reproduce:
1. Install a fresh EAP server
2. Start it an alternate location for its data directory:
   ./run.sh -c default -b 0.0.0.0 -Djboss.server.data.dir=/tmp/data/eap/default
3. Discover and import the new EAP instance
  
Actual results:
The AS resource is imported but it is marked DOWN and the JNP URL is not set under <resource> -> Inventory >> Connection. The agent also logs the following warning:
WARN  [ResourceDiscoveryComponent.invoker.daemon-847] (org.rhq.plugins.jbossas5.ApplicationServerDiscoveryComponent)- Failed to read JNP URL from '/opt/jboss/eap/jboss-eap-5.1/jboss-as/server/default/data/jnp-service.url'.

Expected results:
The AS resource is imported and the JNP URL is correct. The value should be read from /tmp/data/eap/default/jnp-service.url

Additional info:
This issue is cause by the assumption that the data directory is fixed or the presence is required by AS. Instead, this value is determined based on configuration of the AS instance itself and if not explicitly set, will default to ${jboss.server.home.dir}/data. The plug-in should not assume the default and instead use the value provided by the system property ${jboss.server.data.dir} and if not set, fall-back to the current behavior.

--- Additional comment from  on 2013-02-15 09:12:59 EST ---

Can this be fixed for JON 3.2 release?

Comment 2 John Mazzitelli 2013-05-11 01:31:00 UTC
I committed a fix to this in master: 8130e34 

I see the JNP URL is discovered now (I see it in the plugin config in the UI) but my initial test showed the server is still DOWN. I don't know if this is because some other part of the plugin code expects the data directory to be in the default location or if it was a local problem on my box only (I was having port conflicts and the problem might be due to that). I'm still testing.

Comment 3 John Mazzitelli 2013-05-13 17:26:54 UTC
I corrected my runtime issue (it was a local problem) and I tested the fix for this BZ. It looks good.

Comment 4 Larry O'Leary 2013-09-06 14:30:00 UTC
As this is MODIFIED or ON_QA, setting milestone to ER1.

Comment 5 Sunil Kondkar 2013-10-04 12:27:14 UTC
Verified on JBoss ON Version: 3.2.0.ER2 Build Number: 9bf6f76:371eac0

Folowed the steps and started EAP5.1 an alternate location. After importing, the EAP server was UP and the correct JNP URL is displayed in 'Inventory->Connection Settings' tab.


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