Bug 536620 (RHQ-951)

Summary: identify prompt command should be allowed to identify other servers in cloud
Product: [Other] RHQ Project Reporter: John Mazzitelli <mazz>
Component: AgentAssignee: John Mazzitelli <mazz>
Status: CLOSED NEXTRELEASE QA Contact: Corey Welton <cwelton>
Severity: medium Docs Contact:
Priority: low    
Version: 1.1Keywords: Improvement
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
URL: http://jira.rhq-project.org/browse/RHQ-951
Whiteboard:
Fixed In Version: 1.2 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
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: 534547    
Bug Blocks:    

Description John Mazzitelli 2008-10-07 13:58:00 UTC
now that we have HA, it would be nice to allow an agent to identify any server in the cloud.

Currently, the identify prompt command can identify only the server the agent is talking to.  The "identify" prompt command can take a locator URL to any other remote endpoint, however, if that endpoint is a RHQ server, it will fail because the identify prompt command code does not  properly build the command with the security token (so you will get an auth error).

Change IdentifyPromptCommand so it can sign the message properly thus allowing one agent to identify a server not its own.

Comment 1 John Mazzitelli 2008-10-10 20:41:35 UTC
Just a single line addition to IdentifyPromptCommand:

out.println(MSG.getMsg(AgentI18NResourceKeys.IDENTIFY_ASK_REMOTE_SERVER_FOR_ID, args[1]));
+                agent.getClientCommandSender().preprocessCommand(command);
                 CommandResponse response = client.invoke(command);
                 client.disconnectRemoteCommunicator();


Comment 2 Corey Welton 2009-01-08 06:01:59 UTC
This seems to work, but I need some more details on it... pending.

Comment 3 John Mazzitelli 2009-01-08 13:59:43 UTC
"so it can sign the message properly" means the prompt command needed to preprocess its identify command so it contains the agent's security token. Without that, the command would fail if you gave the identify prompt a server URL (rather than let the command use the agent's internal sender which is already preprocessed/signed).

This is all internal implementation details. From the user perspective, you should just be able to say:

identify "server-uri"

and have the prompt return information about that server. That server must be a valid server in the cloud.

I'm currently enhancing this prompt command further to allow you to just specify a server hostname (right now, you must give it a full URI like "servlet://localhost:7080/...transport-params-here..."

Comment 4 John Mazzitelli 2009-01-08 15:32:25 UTC
see subtask for a better way to use this identify command

Comment 5 Corey Welton 2009-01-27 14:58:28 UTC
QA Verified - I get a "true" response when trying to identify a valid host, a "false" when trying to identify an invalid host, and a separate traceback when trying to run identify on a host that is not running rhq.



Comment 6 Red Hat Bugzilla 2009-11-10 21:20:18 UTC
This bug was previously known as http://jira.rhq-project.org/browse/RHQ-951