Bug 1119242 - Adding http-interface in the host controller's host-slave.xml is not recognised by RHQ Agent causing Host Controller's availability to stay DOWN
Summary: Adding http-interface in the host controller's host-slave.xml is not recognis...
Keywords:
Status: NEW
Alias: None
Product: RHQ Project
Classification: Other
Component: Agent
Version: 4.9
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: ---
Assignee: Nobody
QA Contact:
URL:
Whiteboard:
Depends On: 1119240
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-07-14 11:14 UTC by bkramer
Modified: 2022-03-31 04:28 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description bkramer 2014-07-14 11:14:11 UTC
Description of problem:
Adding http-interface in the host controller's host-slave.xml is not recognised by RHQ Agent causing Host Controller's availability to stay DOWN. The agent.log file shows the following WARN message:
*********************************************************
2014-07-11 10:23:40,185 WARN  [InventoryManager.availability-1] (rhq.core.pc.inventory.AvailabilityExecutor)- Availability collection failed with exception on Resource[id=10103, uuid=5eec6ae0-5313-4dd7-8537-03eec96b9800, type={JBossAS7}JBossAS7 Host Controller, key=hostConfig: /opt/myEAPserver/domain/configuration/host-slave.xml, name=EAP Host Controller (localhost:0), parent=myServer.com, version=EAP 6.2.0.GA], availability will be reported as DOWN
org.rhq.core.clientapi.agent.PluginContainerException: Failed to start component for resource Resource[id=10103, uuid=5eec6ae0-5313-4dd7-8537-03eec96b9800, type={JBossAS7}JBossAS7 Host Controller, key=hostConfig: /opt/myEAPserver/domain/configuration/host-slave.xml, name=EAP Host Controller (localhost:0), parent=myServer.com, version=EAP 6.2.0.GA].
        at org.rhq.core.pc.inventory.InventoryManager.activateResource(InventoryManager.java:1941)
        at org.rhq.core.pc.inventory.AvailabilityExecutor.checkInventory(AvailabilityExecutor.java:361)
        at org.rhq.core.pc.inventory.AvailabilityExecutor.checkInventory(AvailabilityExecutor.java:429)
        at org.rhq.core.pc.inventory.AvailabilityExecutor.startScan(AvailabilityExecutor.java:195)
        at org.rhq.core.pc.inventory.AvailabilityExecutor.call(AvailabilityExecutor.java:152)
        at org.rhq.core.pc.inventory.AvailabilityExecutor.run(AvailabilityExecutor.java:111)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.IllegalArgumentException: Invalid port: 0
        at org.rhq.modules.plugins.jbossas7.ASConnection.<init>(ASConnection.java:165)
        at org.rhq.modules.plugins.jbossas7.ASConnection.newInstanceForServerPluginConfiguration(ASConnection.java:230)
        at org.rhq.modules.plugins.jbossas7.BaseServerComponent.start(BaseServerComponent.java:98)
        at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocation.call(ResourceContainer.java:654)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
*********************************************************

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

How reproducible:
Always

Steps to Reproduce:
1. EAP (6.2 in this case) started in domain mode where Domain Controller (DC) is running on one machine and Host Controller (HC) on another machine;

2. HC started using host-slave.xml file or host.xml but without http-inteface defined so it looked like:
********************************************
...
<management-interfaces>
    <native-interface security-realm="ManagementRealm">
        <socket interface="management" port="${jboss.management.native.port:9999}"/>
    </native-interface>
</management-interfaces>
...
********************************************

3. Both DC and HC are discovered and imported in the RHQ Server inventory;

4. DC is available while HC is DOWN;

5. Edit host-slave.xml or host.xml file to add http-interface in the following way so host-slave.xml/host.xml should contain:
*********************************************
...
<management-interfaces>
    <native-interface security-realm="ManagementRealm">
        <socket interface="management" port="${jboss.management.native.port:9999}"/>
    </native-interface>
    <http-interface security-realm="ManagementRealm">
        <socket interface="management" port="${jboss.management.http.port:9990}"/>
    </http-interface> 
</management-interfaces>
...
*********************************************

6. Saved host-slave.xml/host.xml file and restarted the host controller (HC);

7. Restarted the RHQ Agent;


Actual results:
Change made in host-slave.xml/host.xml is not recognised so HC is still Down in RHQ Server inventory and WARN message is logged in the agent.log file.


Expected results:
Availability of HC is changed to UP and no exception is logged in the agent.log file. 

Additional info:

To work around this:


 * remove (uninventory) unavailable host controller from the RHQ inventory;
 * let RHQ Agent on the machine 2 to discover HC again;
 * inventory discovered Host Controller again;
 * make sure that the username/password is set correctly in the host controller Connection Settings page;
 * execute "Execute Availability Scan" operation for RHQ Agent resource on the machine 2.


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