sebastien goasguen created CLOUDSTACK-488:
---------------------------------------------
Summary: can't register awsapi user
Key: CLOUDSTACK-488
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-488
Project: CloudStack
Issue Type: Bug
Components: AWSAPI
Affects Versions: 4.0.1
Environment: OSX 10.8.1 mysql55 maven3 devcloud
Reporter: sebastien goasguen
Running devcloud host-only environment as described in:
https://cwiki.apache.org/CLOUDSTACK/cloudstack-devcloud-environment-setup.html
Run the awsapi server with:
https://cwiki.apache.org/CLOUDSTACK/cloudstack-devcloud-environment-setup.html
Then tried to register a user:
air-2:setup sebastiengoasguen$ python ./cloudstack-aws-api-register -a
2GmlMc59ItbOE4EVbwVIqyO25nmZWOrNWRhWi-AvqCmNZ9H6FBXmpTycts5KnV6CmeCaz9yZjdnovURNWSoDuw
-s
GKsUGz_TvdN5U7cLNQoIElmwQI7AVnFcGK0Wo7SdMkJevjmJ5TN7theFnpVqKYlGAs7n_6gODYvtIOcKZLifbw
-c ~/.ssh/cert.pem -u http://localhost:7080/awsapi/
User registration failed with http error code: 401
Jetty logs show:
EC2RestServlet.doGetOrPost: javax.servlet.forward.query_string:
AWSAccessKeyId=2GmlMc59ItbOE4EVbwVIqyO25nmZWOrNWRhWi-AvqCmNZ9H6FBXmpTycts5KnV6CmeCaz9yZjdnovURNWSoDuw&Action=SetUserKeys&SignatureMethod=HmacSHA1&SignatureVersion=2&Timestamp=2012-11-15T11:10:12Z&Version=2010-11-15&accesskey=2GmlMc59ItbOE4EVbwVIqyO25nmZWOrNWRhWi-AvqCmNZ9H6FBXmpTycts5KnV6CmeCaz9yZjdnovURNWSoDuw&secretkey=GKsUGz_TvdN5U7cLNQoIElmwQI7AVnFcGK0Wo7SdMkJevjmJ5TN7theFnpVqKYlGAs7n_6gODYvtIOcKZLifbw&Signature=lOgFvzNy0t2%2FCBzfKZB3W84lx38%3D
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: EC2 Request method: GET
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request contextPath: /awsapi
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request pathInfo: /
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request pathTranslated:
/Users/sebastiengoasguen/Documents/incubator-cloudstack/awsapi/target/cloud-awsapi-4.1.0-SNAPSHOT
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request queryString:
AWSAccessKeyId=2GmlMc59ItbOE4EVbwVIqyO25nmZWOrNWRhWi-AvqCmNZ9H6FBXmpTycts5KnV6CmeCaz9yZjdnovURNWSoDuw&Action=SetUserKeys&SignatureMethod=HmacSHA1&SignatureVersion=2&Timestamp=2012-11-15T11:10:12Z&Version=2010-11-15&accesskey=2GmlMc59ItbOE4EVbwVIqyO25nmZWOrNWRhWi-AvqCmNZ9H6FBXmpTycts5KnV6CmeCaz9yZjdnovURNWSoDuw&secretkey=GKsUGz_TvdN5U7cLNQoIElmwQI7AVnFcGK0Wo7SdMkJevjmJ5TN7theFnpVqKYlGAs7n_6gODYvtIOcKZLifbw&Signature=lOgFvzNy0t2%2FCBzfKZB3W84lx38%3D
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request requestURI: /awsapi/rest/AmazonEC2/
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request requestURL: http://localhost:7080/awsapi/rest/AmazonEC2/
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request servletPath: /rest/AmazonEC2
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request header Accept-Encoding:identity
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request header Host:localhost:7080
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request header Connection:close
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request header User-Agent:Python-urllib/2.7
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request parameter Action:SetUserKeys
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request parameter SignatureMethod:HmacSHA1
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request parameter
AWSAccessKeyId:2GmlMc59ItbOE4EVbwVIqyO25nmZWOrNWRhWi-AvqCmNZ9H6FBXmpTycts5KnV6CmeCaz9yZjdnovURNWSoDuw
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request parameter Version:2010-11-15
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request parameter SignatureVersion:2
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request parameter Signature:lOgFvzNy0t2/CBzfKZB3W84lx38=
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request parameter
secretkey:GKsUGz_TvdN5U7cLNQoIElmwQI7AVnFcGK0Wo7SdMkJevjmJ5TN7theFnpVqKYlGAs7n_6gODYvtIOcKZLifbw
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request parameter
accesskey:2GmlMc59ItbOE4EVbwVIqyO25nmZWOrNWRhWi-AvqCmNZ9H6FBXmpTycts5KnV6CmeCaz9yZjdnovURNWSoDuw
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.EC2RestServlet logRequest
INFO: Request parameter Timestamp:2012-11-15T11:10:12Z
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.core.ec2.EC2Engine
loadConfigValues
SEVERE: ec2-service.properties not found
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.controller.s3.ServiceProvider
initialize
INFO: Initializing ServiceProvider...
Configure log4j with default properties
Nov 15, 2012 11:10:13 AM com.cloud.bridge.service.controller.s3.ServiceProvider
loadStartupProperties
INFO: Startup properties is not found.
Nov 15, 2012 11:10:13 AM com.cloud.bridge.util.NetHelper
getFirstNonLoopbackLocalInetAddress
INFO: Check local InetAddress : /192.168.56.1, total count :6
Nov 15, 2012 11:10:17 AM com.cloud.bridge.service.controller.s3.ServiceProvider
getInstance
SEVERE: Unexpected exception DB Exception on: null
com.cloud.utils.exception.CloudRuntimeException: DB Exception on: null
at
com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:409)
at
com.cloud.bridge.persist.dao.MHostDaoImpl$$EnhancerByCGLIB$$cac1fab6.CGLIB$searchIncludingRemoved$37(<generated>)
at
com.cloud.bridge.persist.dao.MHostDaoImpl$$EnhancerByCGLIB$$cac1fab6$$FastClassByCGLIB$$9169560f.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at
com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:34)
at
com.cloud.bridge.persist.dao.MHostDaoImpl$$EnhancerByCGLIB$$cac1fab6.searchIncludingRemoved(<generated>)
at
com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:344)
at
com.cloud.bridge.persist.dao.MHostDaoImpl$$EnhancerByCGLIB$$cac1fab6.CGLIB$searchIncludingRemoved$38(<generated>)
at
com.cloud.bridge.persist.dao.MHostDaoImpl$$EnhancerByCGLIB$$cac1fab6$$FastClassByCGLIB$$9169560f.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at
com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:34)
at
com.cloud.bridge.persist.dao.MHostDaoImpl$$EnhancerByCGLIB$$cac1fab6.searchIncludingRemoved(<generated>)
at
com.cloud.utils.db.GenericDaoBase.findOneIncludingRemovedBy(GenericDaoBase.java:854)
at com.cloud.utils.db.GenericDaoBase.findOneBy(GenericDaoBase.java:865)
at
com.cloud.bridge.persist.dao.MHostDaoImpl.getByHostKey(MHostDaoImpl.java:43)
at
com.cloud.bridge.persist.dao.MHostDaoImpl$$EnhancerByCGLIB$$cac1fab6.CGLIB$getByHostKey$0(<generated>)
at
com.cloud.bridge.persist.dao.MHostDaoImpl$$EnhancerByCGLIB$$cac1fab6$$FastClassByCGLIB$$9169560f.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at
com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:34)
at
com.cloud.bridge.persist.dao.MHostDaoImpl$$EnhancerByCGLIB$$cac1fab6.getByHostKey(<generated>)
at
com.cloud.bridge.service.controller.s3.ServiceProvider.setupHost(ServiceProvider.java:301)
at
com.cloud.bridge.service.controller.s3.ServiceProvider.initialize(ServiceProvider.java:240)
at
com.cloud.bridge.service.controller.s3.ServiceProvider.getInstance(ServiceProvider.java:104)
at
com.cloud.bridge.service.EC2RestServlet.setUserKeys(EC2RestServlet.java:373)
at
com.cloud.bridge.service.EC2RestServlet.doGetOrPost(EC2RestServlet.java:225)
at
com.cloud.bridge.service.EC2RestServlet.doGet(EC2RestServlet.java:200)
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.servlet.Dispatcher.forward(Dispatcher.java:327)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
at
com.cloud.bridge.service.EC2MainServlet.doGetOrPost(EC2MainServlet.java:93)
at com.cloud.bridge.service.EC2MainServlet.doGet(EC2MainServlet.java:73)
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:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not
create connection to database server. Attempted reconnect 3 times. Giving up.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1014)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
at
com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2299)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2220)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
at
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at
org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75)
at
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188)
at
org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
at com.cloud.utils.db.Transaction.getConnection(Transaction.java:558)
at com.cloud.utils.db.Transaction.prepareStatement(Transaction.java:453)
at
com.cloud.utils.db.Transaction.prepareAutoCloseStatement(Transaction.java:446)
at
com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:382)
... 56 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access
denied for user 'cloud'@'localhost' to database 'null'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
at
com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1244)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2397)
at
com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2238)
... 76 more
Nov 15, 2012 11:10:17 AM com.cloud.bridge.service.EC2RestServlet setUserKeys
SEVERE: SetUserKeys null
java.lang.NullPointerException
at com.cloud.stack.CloudStackClient.<init>(CloudStackClient.java:51)
at com.cloud.stack.CloudStackApi.<init>(CloudStackApi.java:82)
at
com.cloud.bridge.service.core.ec2.EC2Engine.validateAccount(EC2Engine.java:194)
at
com.cloud.bridge.service.EC2RestServlet.setUserKeys(EC2RestServlet.java:373)
at
com.cloud.bridge.service.EC2RestServlet.doGetOrPost(EC2RestServlet.java:225)
at
com.cloud.bridge.service.EC2RestServlet.doGet(EC2RestServlet.java:200)
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.servlet.Dispatcher.forward(Dispatcher.java:327)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
at
com.cloud.bridge.service.EC2MainServlet.doGetOrPost(EC2MainServlet.java:93)
at com.cloud.bridge.service.EC2MainServlet.doGet(EC2MainServlet.java:73)
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)
cloudbridge database exists. cloud user with cloud password defined.
no java processes running within the devcloud host.
--
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