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