OHDSI Home | Forums | Wiki | Github

WEBAPI startup failed from docker deployment


(Sergio Maffioletti) #1

Hi,

I’m deployng Broadsea following the instructions at https://github.com/OHDSI/Broadsea
I’m deploying the docker containers using the docker-compose file.
postgresdb is an external service and has been already populated with the schema and table and access rights.

service are running:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
235b2c4cd30a ohdsi/broadsea-webtools “/usr/bin/supervisord” 2 weeks ago Up 2 weeks 0.0.0.0:8080->8080/tcp ohdsidocker_broadsea-webtools_1
c156a5e30c4a ohdsi/broadsea-methodslibrary “/usr/bin/supervisor…” 2 weeks ago Up 2 weeks 0.0.0.0:6311->6311/tcp, 0.0.0.0:8787->8787/tcp ohdsidocker_broadsea-methods-library_1

but apparently WEBAPI fails to start somehow:
INFO: Starting service Catalina
Jun 24, 2019 11:38:27 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.91
Jun 24, 2019 11:38:27 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /usr/local/tomcat/webapps/WebAPI.war
Jun 24, 2019 11:38:29 AM org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
INFO: validateJarFile(/usr/local/tomcat/webapps/WebAPI/WEB-INF/lib/tomcat-embed-el-8.5.11.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/el/Expression.class
Jun 24, 2019 11:38:36 AM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Jun 24, 2019 11:49:47 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive /usr/local/tomcat/webapps/WebAPI.war has finished in 679,851 ms

the webinterface works but it reports an error:
OHDSI (http://127.0.0.1:8080/WebAPI/)

$ cat docker-compose.yml
version: ‘2’

services:

broadsea-methods-library:
image: ohdsi/broadsea-methodslibrary
ports:
- “8787:8787”
- “6311:6311”

broadsea-webtools:
image: ohdsi/broadsea-webtools
extra_hosts:
- “database:10.65.4.5”
ports:
- “8080:8080”
volumes:
- .:/tmp/drivers/:ro
- ./config-local.js:/usr/local/tomcat/webapps/atlas/js/config-local.js:ro
environment:
- WEBAPI_URL=http://127.0.0.1:8080
- env=webapi-postgresql
- datasource_driverClassName=org.postgresql.Driver
- datasource_url=jdbc:postgresql://10.65.4.5:5432/ohdsi
- datasource.cdm.schema=cdm
- datasource.ohdsi.schema=ohdsi
- datasource_username=ohdsi_admin_user
- datasource_password=admin1
- spring.jpa.properties.hibernate.default_schema=ohdsi
- spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
- spring.batch.repository.tableprefix=ohdsi.BATCH_
- flyway_datasource_driverClassName=org.postgresql.Driver
- flyway_datasource_url=jdbc:postgresql://10.65.4.5:5432/ohdsi
- flyway_schemas=ohdsi
- flyway.placeholders.ohdsiSchema=ohdsi
- flyway_datasource_username=ohdsi_admin_user
- flyway_datasource_password=admin1
- flyway.locations=classpath:db/migration/postgresql

$ cat config-local.js
define([], function () {
var configLocal = {};

// clearing local storage otherwise source cache will obscure the override settings
localStorage.clear();

// WebAPI
configLocal.api = {
	name: 'OHDSI',
	url: 'http://127.0.0.1:8080/WebAPI/'
};

configLocal.cohortComparisonResultsEnabled = false;
configLocal.userAuthenticationEnabled = false;
configLocal.plpResultsEnabled = false;

return configLocal;

});

connection to the postgres DB works fine.
I can see logs from both ends: deploy-script-stdout—supervisor-UciPql.log inside the container and the postgres log as well

any idea what are we missing ?

thanks for your help

Regards,
Sergio


(Lee Evans) #2

@Sergio_Maffioletti what error messages are you seeing in the tomcat log file?

You can view the tomcat log (stdout) file inside the Broadsea docker container using the info here:
https://github.com/OHDSI/Broadsea#viewing-the-broadsea-web-tools-log-files

Also, did you setup the CDM database connection source and source_daimon info in your postgres database ‘ohdsi’ schema source and source_daimon tables?

There’s an example postgresql SQL file you can use (update it with your postgresql database connection/schemas info) here:

Use a postgres SQL client to run the SQL file in your postgres database and then restart the Broadsea Docker container.


(Kyriakos Schwarz) #3

@lee_evans

Thank you for your response.

Here is the tomcat log.

Also, did you setup the CDM database connection source and source_daimon info in your postgres database ‘ohdsi’ schema source and source_daimon tables?

As mentioned, this step was done:

postgresdb is an external service and has been already populated with the schema and table and access rights

How can we proceed?


t