Bug 1022710

Summary: agent needs to be told what the server's endpoint is when rhqctl installs it
Product: [JBoss] JBoss Operations Network Reporter: John Mazzitelli <mazz>
Component: Agent, InstallerAssignee: John Mazzitelli <mazz>
Status: CLOSED CURRENTRELEASE QA Contact: Mike Foley <mfoley>
Severity: high Docs Contact:
Priority: high    
Version: JON 3.2CC: fbrychta, hrupp, jshaughn, theute
Target Milestone: ER05   
Target Release: JON 3.2.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1022573 Environment:
Last Closed: 2014-01-02 20:35:56 UTC 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: 1022573    
Bug Blocks: 1012435    

Description John Mazzitelli 2013-10-23 20:14:45 UTC
+++ This bug was initially created as a clone of Bug #1022573 +++

The server no longer listens to 0.0.0.0 by default when you install it. You have to pick an IP address that the server will bind to (jboss.bind.address).

When you install the agent, we don't set explicitly the server address - we rely on the agent to use its default. This is one of two things - its either the IP from a DNS lookup of "rhqserver" alias, and if that is not found, it uses Java to look up the local hostname of the agent.

Usually, this is OK, unless you pick a server bind address that is different from what Java will pick up as the default hostname. If they are different, then the agent will fail to connect to the server.

Here is how I replicate this.

Build master - do not build a dev container, but just a production build (go in modules/enterprise/server/appserver and "mvn clean install").

From that build, run "rhqctl install --start" and when it prompts you, give it a jboss.bind.address of 127.0.0.1.

The agent will not be able to connect. That's because it will attempt to talk to the server on your hostname's non-loopback address (usually). On my box, it tries 192.168.x.x IP. But the server is not listening on that IP, its listening on 127.0.0.1 as I told it to.

The agent will therefore never be able to connect.

This is bad. Unless you are lucky and have a single network adapter with a single IP or Java happens to pick the IP that you pick, the agent won't be able to connect. The workaround is to set "rhqserver" alias in /etc/hosts so the agent can pick up the IP you want it to.

--- Additional comment from John Mazzitelli on 2013-10-23 16:13:54 EDT ---

git commit to master: 92f4f9c

Comment 1 John Mazzitelli 2013-10-24 20:14:28 UTC
git commit to release/jon3.2.x branch: 3d9d35d

Comment 2 Simeon Pinder 2013-11-07 02:17:35 UTC
Moving to ON_QA for test with new brew build.

Comment 3 Filip Brychta 2013-11-08 10:27:17 UTC
Verified on
Version :	
3.2.0.ER5
Build Number :	
2cb2bc9:225c796