Bug 742800

Summary: Add ability to define a different endpoint for agent during a remote installation
Product: [Other] RHQ Project Reporter: Rafael Soares (Tuelho) <rsoares>
Component: Installer, UsabilityAssignee: RHQ Project Maintainer <rhq-maint>
Status: NEW --- QA Contact: Mike Foley <mfoley>
Severity: low Docs Contact:
Priority: medium    
Version: 4.1CC: hrupp
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
RHEL 6.1 WS RHQ 4.1.0 java version "1.6.0_27" Java(TM) SE Runtime Environment (build 1.6.0_27-b07) Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode) Firefox 3.6.23
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Rafael Soares (Tuelho) 2011-10-02 16:53:35 EDT
Description of problem:
Today RHQ uses the 'Host' field value from Connection Information to pass as the Agent endpoint on its installation. But some times the Agent uses a different hostname or ip addr to talk with server (when the host has different network interfaces/virtual ips).


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

How reproducible:
Try to install a remote agent using a hostname/ipaddr not reachable by rhq-server (eg. a hostname that point to 127.0.0.1 on /etc/hosts of target platform).

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

2011-10-02 15:57:05,476 INFO  [org.rhq.enterprise.communications.command.client.ClientCommandSenderTask] {ClientCommandSenderTask.agent-ping-failed}Failed to ping the agent at [remoting endpoint [socket://vm-rhel6-00:16163/?backlog=200&clientMaxPoolSize=304&enableTcpNoDelay=true&maxPoolSize=303&numAcceptThreads=1&rhq.communications.connector.rhqtype=agent&socketTimeout=60000]], because we could not connect to it.

---

Agent log

2011-10-02 15:56:33,974 ERROR [RHQ Agent Registration Thread] (org.rhq.enterprise.agent.AgentMain)- {AgentMain.agent-registration-rejected}The server has rejected the agent registration request. Cause: [org.rhq.core.clientapi.server.core.AgentRegistrationException:Server cannot ping the agent's endpoint. The agent's endpoint is probably invalid or there is a firewall preventing the server from connecting to the agent. Endpoint: socket://vm-rhel6-00:16163/?rhq.communications.connector.rhqtype=agent&numAcceptThreads=1&maxPoolSize=303&clientMaxPoolSize=304&socketTimeout=60000&enableTcpNoDelay=true&backlog=200]
2011-10-02 15:56:33,975 ERROR [RHQ Agent Registration Thread] (org.rhq.enterprise.agent.AgentMain)- {AgentMain.agent-registration-retry}Will retry the agent registration request soon...

In my case the hostname used to install the Agent was reachable by rhq-server , but (in remote host - installation target) the hostname used was pointing to 127.0.0.1 on /etc/hosts, so the agent started binding the port 16163 at localhost addr.

[root@vm-rhel6-00 ~]# netstat -tanp | grep 16163
tcp        0      0 127.0.0.1:16163             0.0.0.0:*                   LISTEN      9046/java

Expected results:
Would be nice if you could define a different endpoint to be used on agent installation. Like a new field on Connection Information form.


Additional info: