Red Hat Bugzilla – Bug 536620
identify prompt command should be allowed to identify other servers in cloud
Last modified: 2009-11-10 16:22:32 EST
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.
Just a single line addition to IdentifyPromptCommand:
CommandResponse response = client.invoke(command);
This seems to work, but I need some more details on it... pending.
"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:
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..."
see subtask for a better way to use this identify command
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.
This bug was previously known as http://jira.rhq-project.org/browse/RHQ-951