You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by "Noa Resare (JIRA)" <ji...@apache.org> on 2013/01/17 21:42:13 UTC

[jira] [Created] (CLOUDSTACK-1005) Improve logging on the manager side when operations fail on the agent side

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