Wido den Hollander created CLOUDSTACK-8648:
----------------------------------------------

             Summary: "Unable to get storage implementation" when copying 
template from NFS to S3
                 Key: CLOUDSTACK-8648
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8648
             Project: CloudStack
          Issue Type: Bug
      Security Level: Public (Anyone can view this level - this is the default.)
          Components: Secondary Storage
    Affects Versions: Future, 4.5.2
            Reporter: Wido den Hollander
             Fix For: Future


In the SSVM this can be observed:

2015-07-17 12:12:56,675 WARN  [storage.resource.NfsSecondaryStorageResource] 
(agentRequest-Handler-11:null) Failed to get virtual size, returning file size 
instead:
javax.naming.ConfigurationException: Unable to get storage implementation
        at 
com.cloud.storage.template.QCOW2Processor.configure(QCOW2Processor.java:95)
        at 
org.apache.cloudstack.storage.resource.NfsSecondaryStorageResource.getVirtualSize(NfsSecondaryStorageResource.java:828)
        at 
org.apache.cloudstack.storage.resource.NfsSecondaryStorageResource.copyFromNfsToS3(NfsSecondaryStorageResource.java:886)
        at 
org.apache.cloudstack.storage.resource.NfsSecondaryStorageResource.copyFromNfsToImage(NfsSecondaryStorageResource.java:618)
        at 
org.apache.cloudstack.storage.resource.NfsSecondaryStorageResource.execute(NfsSecondaryStorageResource.java:645)
        at 
org.apache.cloudstack.storage.resource.NfsSecondaryStorageResource.executeRequest(NfsSecondaryStorageResource.java:233)
        at com.cloud.agent.Agent.processRequest(Agent.java:503)
        at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:808)
        at com.cloud.utils.nio.Task.run(Task.java:84)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

The problem is this:

processor.configure("template processor", new HashMap<String, Object>());
return processor.getVirtualSize(file);

It confitures the processor with a empty HashMap, but the check in the 
processor is:

public boolean configure(String name, Map<String, Object> params) throws 
ConfigurationException {
    _storage = (StorageLayer)params.get(StorageLayer.InstanceConfigKey);
    if (_storage == null) {
        throw new ConfigurationException("Unable to get storage 
implementation");
    }

Since the HashMap is empty null is returned and this exception is thrown.

No need to configure the Processor as far as I can see.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to