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

Reply via email to