Bug 536620 (RHQ-951) - identify prompt command should be allowed to identify other servers in cloud
Summary: identify prompt command should be allowed to identify other servers in cloud
Keywords:
Status: CLOSED NEXTRELEASE
Alias: RHQ-951
Product: RHQ Project
Classification: Other
Component: Agent
Version: 1.1
Hardware: All
OS: All
low
medium
Target Milestone: ---
: ---
Assignee: John Mazzitelli
QA Contact: Corey Welton
URL: http://jira.rhq-project.org/browse/RH...
Whiteboard:
Depends On: RHQ-1333
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-10-07 13:58 UTC by John Mazzitelli
Modified: 2009-11-10 21:22 UTC (History)
0 users

Fixed In Version: 1.2
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

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



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