[ https://issues.apache.org/jira/browse/CLOUDSTACK-1557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13599480#comment-13599480 ]
Chandan Purushothama commented on CLOUDSTACK-1557: -------------------------------------------------- I checked Pradeep's workaround. I still see SQL Exceptions on the setup. Though Pradeep's fix is required, that fix alone doesn't seem to be fixing the blocker. More research about the root cause needs to be done to resolve this blocker. > EC2 REST API : cloudbridge database is missing on the CloudStack Installation > ----------------------------------------------------------------------------- > > Key: CLOUDSTACK-1557 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-1557 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Components: Management Server > Affects Versions: 4.1.0, 4.2.0 > Reporter: Chandan Purushothama > Assignee: Pradeep Soundararajan > Priority: Blocker > Fix For: 4.1.0, 4.2.0 > > > =============== > Steps to Reproduce: > =============== > 1. Deploy a Basic Zone Setup with Security groups enabled XenServer 6.0.2 > hypervisor > 2. Set the global configuration "enable.ec2.api" to true and restart the > management server. > 3. Observe SQLException on the awsapi.log > ========== > Bug Impact: > ========== > EC2 REST Query API Feature cannot be used due to the failed DB Connection. > ========== > Observations: > ========== > [root@Rack3Host23 ~]# mysql -u cloud > Welcome to the MySQL monitor. Commands end with ; or \g. > Your MySQL connection id is 72 > Server version: 5.1.61-log Source distribution > Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. > Oracle is a registered trademark of Oracle Corporation and/or its > affiliates. Other names may be trademarks of their respective > owners. > Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. > mysql> show databases; > +--------------------+ > | Database | > +--------------------+ > | information_schema | > | cloud | > | cloud_usage | > | test | > +--------------------+ > 4 rows in set (0.00 sec) > mysql> > Observations from the awsapi.log: > 2013-03-06 13:10:21,796 INFO [core.ec2.EC2Engine] (main:null) Use EC2 > properties file: > /usr/share/cloudstack-management/webapps7080/bridge/WEB-INF/classes/ec2-service.properties > 2013-03-06 13:10:25,961 ERROR [core.ec2.EC2Engine] (main:null) Unexpected > exception > com.cloud.utils.exception.CloudRuntimeException: DB Exception on: null > at > com.cloud.utils.db.GenericDaoBase.executeList(GenericDaoBase.java:1088) > at > com.cloud.utils.db.GenericDaoBase.listAllIncludingRemoved(GenericDaoBase.java:1068) > at com.cloud.utils.db.GenericDaoBase.listAll(GenericDaoBase.java:1102) > at com.cloud.utils.db.GenericDaoBase.listAll(GenericDaoBase.java:1096) > at > com.cloud.bridge.persist.dao.OfferingDaoImpl.getOfferingCount(OfferingDaoImpl.java:45) > at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) > at > org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) > at > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80) > at > com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:37) > at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610) > at > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > at > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > at > org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622) > at > com.cloud.bridge.service.core.ec2.EC2Engine.loadConfigValues(EC2Engine.java:138) > at > com.cloud.bridge.service.core.ec2.EC2Engine.configure(EC2Engine.java:106) > at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) > at > org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) > at > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80) > at > com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:37) > at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) > at > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610) > at > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > at > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > at > org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622) > at > com.cloud.utils.component.ComponentContext.initComponentsLifeCycle(ComponentContext.java:110) > at > com.cloud.bridge.service.EC2MainServlet.init(EC2MainServlet.java:69) > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173) > at > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993) > at > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4187) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4496) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) > at > org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041) > at > org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964) > at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277) > at > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) > at > org.apache.catalina.core.StandardService.start(StandardService.java:516) > at > org.apache.catalina.core.StandardServer.start(StandardServer.java:710) > at org.apache.catalina.startup.Catalina.start(Catalina.java:593) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) > 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:57) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:532) > 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:57) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:532) > 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:620) > at java.sql.DriverManager.getConnection(DriverManager.java:200) > 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:566) > at > com.cloud.utils.db.Transaction.prepareStatement(Transaction.java:461) > at > com.cloud.utils.db.Transaction.prepareAutoCloseStatement(Transaction.java:454) > at > com.cloud.utils.db.GenericDaoBase.executeList(GenericDaoBase.java:1076) > ... 68 more > Caused by: java.sql.SQLException: Access denied for user 'cloud'@'localhost' > (using password: YES) > ... 98 more > 2013-03-06 13:10:25,966 INFO [controller.s3.ServiceProvider] (main:null) > Initializing ServiceProvider... > 2013-03-06 13:10:25,997 INFO [controller.s3.ServiceProvider] (main:null) Use > startup properties file: > /usr/share/cloudstack-management/webapps7080/bridge/WEB-INF/classes/cloud-bridge.properties -- 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