Unable to start app node and search node on DCE using EKS

We have been unable to launch our app node and search node and are getting the following errors. We are using the JDBC override to point to our own RDS postreSQL database.

  • Using Data Center Edition 9.6

Error from the app-node:

2022.08.30 13:47:48 WARN  sonarqube-sonarqube-dce-app-59dcd8c9bd-t7jrg app[][c.h.cp.CPSubsystem] [10.0.3.57]:9003 [SonarQube] [4.2.4] CP Subsystem is not enabled. CP data structures will operate in UNSAFE mode! Please note that UNSAFE mode will not provide strong consistency guarantees.
2022.08.30 13:47:54 INFO  sonarqube-sonarqube-dce-app-59dcd8c9bd-t7jrg app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp
2022.08.30 13:47:56 ERROR sonarqube-sonarqube-dce-app-59dcd8c9bd-t7jrg app[][o.s.application.App] Startup failure
org.elasticsearch.ElasticsearchException: java.util.concurrent.ExecutionException: java.net.ConnectException: Timeout connecting to [sonarqube-sonarqube-dce-search/(IP-Address)]
	at org.elasticsearch.client.RestHighLevelClient.performClientRequest(RestHighLevelClient.java:2695)
	at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:2171)
	at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:2137)
	at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:2105)
	at org.elasticsearch.client.ClusterClient.health(ClusterClient.java:151)
	at org.sonar.application.es.EsConnectorImpl.getClusterHealthStatus(EsConnectorImpl.java:64)
	at org.sonar.application.cluster.ClusterAppStateImpl.isElasticSearchOperational(ClusterAppStateImpl.java:209)
	at org.sonar.application.cluster.ClusterAppStateImpl.isOperational(ClusterAppStateImpl.java:106)
	at org.sonar.application.SchedulerImpl.isEsOperational(SchedulerImpl.java:185)
	at org.sonar.application.SchedulerImpl.tryToStartWeb(SchedulerImpl.java:156)
	at org.sonar.application.SchedulerImpl.tryToStartAll(SchedulerImpl.java:140)
	at org.sonar.application.SchedulerImpl.schedule(SchedulerImpl.java:113)
	at org.sonar.application.App.start(App.java:59)
	at org.sonar.application.App.main(App.java:81)
Caused by: java.util.concurrent.ExecutionException: java.net.ConnectException: Timeout connecting to [sonarqube-sonarqube-dce-search/(IP-Address)]
	at org.elasticsearch.common.util.concurrent.BaseFuture$Sync.getValue(BaseFuture.java:257)
	at org.elasticsearch.common.util.concurrent.BaseFuture$Sync.get(BaseFuture.java:244)
	at org.elasticsearch.common.util.concurrent.BaseFuture.get(BaseFuture.java:75)
	at org.elasticsearch.client.RestHighLevelClient.performClientRequest(RestHighLevelClient.java:2692)
	... 13 common frames omitted
Caused by: java.net.ConnectException: Timeout connecting to [sonarqube-sonarqube-dce-search/(IP-Address)]
	at org.apache.http.nio.pool.RouteSpecificPool.timeout(RouteSpecificPool.java:169)
	at org.apache.http.nio.pool.AbstractNIOConnPool.requestTimeout(AbstractNIOConnPool.java:628)
	at org.apache.http.nio.pool.AbstractNIOConnPool$InternalSessionRequestCallback.timeout(AbstractNIOConnPool.java:894)
	at org.apache.http.impl.nio.reactor.SessionRequestImpl.timeout(SessionRequestImpl.java:184)
	at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processTimeouts(DefaultConnectingIOReactor.java:214)
	at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:158)
	at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:351)
	at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:221)
	at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64)
	at java.base/java.lang.Thread.run(Thread.java:829)

We have limited logs from the search node as it won’t fully spin up but this is what is giving us now:
First one is from the init-fs container:

chown: /opt/sonarqube/certs: Operation not permitted
chown: /opt/sonarqube/certs: Operation not permitted
chown: /opt/sonarqube/data: Operation not permitted
chown: /opt/sonarqube/data: Operation not permitted
chown: /opt/sonarqube/temp: Operation not permitted
chown: /opt/sonarqube/temp: Operation not permitted
chown: /opt/sonarqube/logs: Operation not permitted
chown: /opt/sonarqube/logs: Operation not permitted

And this one is from the sonarqube-dce-search container:

Failed to load logs: container "sonarqube-dce-search" in pod "sonarqube-sonarqube-dce-search-0" is waiting to start: PodInitializing
Reason: BadRequest (400)

Finally, when attempting to reach our host name we have a 503 Service Temporarily Unavailable error. Any help is greatly appreciated!

Hey there.

If you’re operating a Data Center Edition of SonarQube, I would recommend you use the Enterprise Support that come with your subscription.