Hi Rohit,

Yes, I’ve done all of those and it’s connecting properly. That’s why I’m really 
confused why it was working via mysql-client cli in the mgmt server but not 
when trying to run cloudstack service in the same mgmt server.

Thanks,
Irvin

> On Dec 21, 2021, at 6:13 PM, Rohit Yadav <[email protected]> wrote:
> 
> Hi SVI,
> 
> Can you check if you've allowed firewall rules and MySQL config to access the 
> server remotely for the configured MySQL user. One way to test that would be 
> to use the mysql-client on the management server for the remote DB server 
> with the same user as configured/used by CloudStack.
> 
> 
> Regards.
> 
> ________________________________
> From: SVI <[email protected]>
> Sent: Friday, December 17, 2021 15:17
> To: [email protected] <[email protected]>
> Subject: Database connection issue
> 
> Hi,
> 
> I’ve installed a fresh cloudstack in Ubuntu 20.04 with version 4.16 with a 
> database server on a separate Debian 11 server provisioned using DebOps 
> MariaDB server with version Server version: 
> 5.5.5-10.5.12-MariaDB-0+deb11u1-log Debian 11 . I am able to connect from the 
> management server using the cloudstack user and pass to the mariadb server 
> and was able to run cloudstack-setup-databases successfully. But I’m still 
> getting database connection issue when I restarted the cloudstack-management 
> service as show in the log below. Not sure else what to check as via mysql 
> cli in the management server I am able to connect using the same credentials 
> used by cloudstack.
> 
> 2021-12-17 01:03:31,159 ERROR [c.c.u.d.Merovingian2] (main:null) (logid:) 
> Unable to get a new db connection
> java.sql.SQLNonTransientConnectionException: Could not create connection to 
> database server. Attempted reconnect 3 times. Giving up.
>        at 
> com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
>        at 
> com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
>        at 
> com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
>        at 
> com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
>        at 
> com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
>        at 
> com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:906)
>        at 
> com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:831)
>        at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
>        at 
> com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
>        at 
> com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197)
>        at 
> java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
>        at 
> java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
>        at 
> org.apache.commons.dbcp2.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:121)
>        at 
> org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:357)
>        at 
> org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:918)
>        at 
> org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:431)
>        at 
> org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:356)
>        at 
> org.apache.commons.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:134)
>        at 
> com.cloud.utils.db.TransactionLegacy.getStandaloneConnectionWithException(TransactionLegacy.java:211)
>        at com.cloud.utils.db.Merovingian2.<init>(Merovingian2.java:68)
>        at 
> com.cloud.utils.db.Merovingian2.createLockController(Merovingian2.java:88)
>        at 
> com.cloud.server.LockControllerListener.<init>(LockControllerListener.java:33)
>        at 
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>  Method)
>        at 
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>        at 
> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>        at 
> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
>        at 
> org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:212)
>        at 
> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:117)
>        at 
> org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:311)
>        at 
> org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:296)
>        at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1356)
>        at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1206)
>        at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:571)
>        at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531)
>        at 
> org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
>        at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
>        at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
>        at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
>        at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944)
>        at 
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:923)
>        at 
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:588)
>        at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.java:144)
>        at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:121)
>        at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:244)
>        at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:249)
>        at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:232)
>        at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.java:116)
>        at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load(DefaultModuleDefinitionSet.java:78)
>        at 
> org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37)
>        at 
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(CloudStackSpringContext.java:70)
>        at 
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:57)
>        at 
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:61)
>        at 
> org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized(CloudStackContextLoaderListener.java:51)
>        at 
> org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1068)
>        at 
> org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572)
>        at 
> org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:997)
>        at 
> org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:746)
>        at 
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
>        at 
> org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1457)
>        at 
> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1422)
>        at 
> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:911)
>        at 
> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
>        at 
> org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
>        at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>        at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>        at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
>        at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>        at 
> org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:426)
>        at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>        at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>        at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
>        at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>        at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>        at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>        at org.eclipse.jetty.server.Server.start(Server.java:423)
>        at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
>        at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>        at org.eclipse.jetty.server.Server.doStart(Server.java:387)
>        at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>        at org.apache.cloudstack.ServerDaemon.start(ServerDaemon.java:192)
>        at org.apache.cloudstack.ServerDaemon.main(ServerDaemon.java:107)
> Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications 
> link failure
> 
> The last packet sent successfully to the server was 0 milliseconds ago. The 
> driver has not received any packets from the server.
>        at 
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>  Method)
>        at 
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>        at 
> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>        ... 87 more
> Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: 
> protocol_version
>        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
>        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
>        at 
> java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:336)
>        ... 92 more
> 
> Thanks,
> Irvin
> 
> 
> 
> 

Reply via email to