Noa Resare created CLOUDSTACK-1005: -------------------------------------- Summary: Improve logging on the manager side when operations fail on the agent side Key: CLOUDSTACK-1005 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-1005 Project: CloudStack Issue Type: Improvement Security Level: Public (Anyone can view this level - this is the default.) Reporter: Noa Resare Priority: Minor
I set up a fresh test install of cloudstack 4.0 now and ran into some problems. It turned out that the secondary storage VM could not mount the secondary storage via NFS because the NFS URI configured when setting up the zone only held the hostname and not hostname plus fully qualified domain name. This worked fine when testing mounts form the hypervisors (that had a properly configured search path) but the secondary storage VM doesn't have it's domain configured to match the rest of the machines, so secondary storage operation failed. The error I got in the logfile was kind of unhelpful when tracking down this, the full error reads 2013-01-17 20:26:30,119 DEBUG [agent.manager.AgentManagerImpl] (StatsCollector-3:null) Details from executing class com.cloud.agent.api.GetStorageStatsCommand: com.cloud.utils.exception.CloudRuntimeException: GetRootDir for nfs://lon2-cloudtest-a2/spotify/export/secondary failed due to java.net.UnknownHostException: lon2-cloudtest-a2 at com.cloud.storage.resource.NfsSecondaryStorageResource.getRootDir(NfsSecondaryStorageResource.java:1003) at com.cloud.storage.resource.NfsSecondaryStorageResource.execute(NfsSecondaryStorageResource.java:853) at com.cloud.storage.resource.NfsSecondaryStorageResource.executeRequest(NfsSecondaryStorageResource.java:148) at com.cloud.agent.Agent.processRequest(Agent.java:518) at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:831) at com.cloud.utils.nio.Task.run(Task.java:83) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) I spent quite a lot of time trying to figure out why an UnknownHostException was triggered on the manager, when it turned out that the actual exception was created on an agent (with different resolver configuration) and sent via the network to the agent for logging. I would very much like to see a log message that clearly stated that a remote exception was received, from which agent the (agent id is not very helpful) message originated and what this particular exception means. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira