Prasanna Santhanam created CLOUDSTACK-3273: ----------------------------------------------
Summary: Object_Store_refactor - ClassCastException when adding image store via API Key: CLOUDSTACK-3273 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-3273 Project: CloudStack Issue Type: Bug Security Level: Public (Anyone can view this level - this is the default.) Components: Storage Controller Affects Versions: 4.2.0 Reporter: Prasanna Santhanam Fix For: 4.2.0 I am using marvin to create a zone with secondary storage that is of type object store backed by s3. When adding a data store from marvin I see the following ClassCastException: API call is included in the stacktrace below: 2013-06-28 18:38:55,556 DEBUG [cloud.api.ApiServlet] (1403723582@qtp-797541818-2:null) ===END=== 127.0.0.1 -- GET details%5B2%5D.key=usehttps&details%5B3%5D.value=AKIAJFCBDUDDQO7VJ5DA&details%5B7%5D.key=connectiontimeout&details%5B6%5D.value=s3.amazonaws.com&signature=v6db1QgFCLLg8x%2FpbaavA5L5fbA%3D&details%5B4%5D.key=bucket&details%5B1%5D.value=acstest-objectstore&apiKey=TK6vqGpTNemzgrHbJRZi5YLZg04jqRPvrCZja_Ku62w6jrUahyxKItS5r4CWzvgiyq_1s-W8bUOTkYXkbvsRxA&details%5B8%5D.value=objectstore&details%5B5%5D.value=R%2Fjc7Jq1XJLrRh%2FtJptphucp%2BEYkmpVcfuwCjAml&details%5B7%5D.value=300000&response=json&details%5B8%5D.key=__name__&details%5B2%5D.value=true&details%5B6%5D.key=endpoint&details%5B0%5D.value=0&details%5B4%5D.value=acstest.cloudstack.org&details%5B1%5D.key=name&details%5B5%5D.key=secretkey&details%5B3%5D.key=accesskey&provider=S3&command=addImageStore&details%5B0%5D.key=maxerrorretry 2013-06-28 18:38:55,560 DEBUG [cloud.api.ApiServlet] (1403723582@qtp-797541818-2:null) ===START=== 127.0.0.1 -- GET apiKey=TK6vqGpTNemzgrHbJRZi5YLZg04jqRPvrCZja_Ku62w6jrUahyxKItS5r4CWzvgiyq_1s-W8bUOTkYXkbvsRxA&url=nfs%3A%2F%2F192.168.56.10%2Fopt%2Fstorage%2Fsecondary&details%5B0%5D.value=nfs%3A%2F%2F192.168.56.10%2Fopt%2Fstorage%2Fsecondary&signature=v%2Fi%2FVS%2F0W%2FHPErooqnoiCnUU12U%3D&details%5B1%5D.key=__name__&zoneid=892f9f48-37fb-4dc4-b8be-03b8e46bebee&details%5B1%5D.value=cachestorage&command=createCacheStore&provider=NFS&response=json&details%5B0%5D.key=url 2013-06-28 18:38:55,579 INFO [datastore.lifecycle.CloudStackImageStoreLifeCycleImpl] (1403723582@qtp-797541818-2:null) Trying to add a new host at nfs://192.168.56.10/opt/storage/secondary in data center 1 2013-06-28 18:38:55,587 DEBUG [cloud.storage.StorageManagerImpl] (1403723582@qtp-797541818-2:null) Failed to add data store java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at org.apache.cloudstack.storage.image.datastore.ImageStoreHelper.createImageStore(ImageStoreHelper.java:98) at org.apache.cloudstack.storage.datastore.lifecycle.CloudStackImageStoreLifeCycleImpl.initialize(CloudStackImageStoreLifeCycleImpl.java:121) at com.cloud.storage.StorageManagerImpl.createCacheStore(StorageManagerImpl.java:1872) at org.apache.cloudstack.api.command.admin.storage.CreateCacheStoreCmd.execute(CreateCacheStoreCmd.java:108) at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:155) at com.cloud.api.ApiServer.queueCommand(ApiServer.java:528) at com.cloud.api.ApiServer.handleRequest(ApiServer.java:371) at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:304) at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) 2013-06-28 18:38:55,588 WARN [admin.storage.AddImageStoreCmd] (1403723582@qtp-797541818-2:null) Exception: com.cloud.utils.exception.CloudRuntimeException: Failed to add data store at com.cloud.storage.StorageManagerImpl.createCacheStore(StorageManagerImpl.java:1875) at org.apache.cloudstack.api.command.admin.storage.CreateCacheStoreCmd.execute(CreateCacheStoreCmd.java:108) at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:155) at com.cloud.api.ApiServer.queueCommand(ApiServer.java:528) at com.cloud.api.ApiServer.handleRequest(ApiServer.java:371) at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:304) at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at org.apache.cloudstack.storage.image.datastore.ImageStoreHelper.createImageStore(ImageStoreHelper.java:98) at org.apache.cloudstack.storage.datastore.lifecycle.CloudStackImageStoreLifeCycleImpl.initialize(CloudStackImageStoreLifeCycleImpl.java:121) at com.cloud.storage.StorageManagerImpl.createCacheStore(StorageManagerImpl.java:1872) ... 25 more -- 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