mdsbuilder hangs after upgrading platform

On upgrading the platform version of mdsbuilder server as seen here updating the current platform version for the mdsbuilder server by HerbertYiga · Pull Request #59 · openmrs/openmrs-contrib-ansible-docker-compose · GitHub , i try to complete the setup by deploying from ci and logging in to the client side of mdsbuilder server and run the steps, unfortunately the process hangs ,server logs are root@e310af7f6663:/usr/local/tomcat/logs# cat catalina.2021-07-12.logJul 12, 2 - Pastebin.com and screen shot,any suggestion on fixing this cc @dkayiwa @ibacher @dev4 @dev5

@herbert24 I saw the same problem and did the same upgrade this morning.

If it’s easy, you can spin up a new server from nothing. There’s nothing in the database worth keeping. Post-install it will need:

  1. source the latest CIEL dictionary
  2. recreating a couple of OpenMRS user accounts
  3. add ssh keys

Thanks

2 Likes

@herbert24 This should be fixed now.

@cintiadr I don’t know if you have any good ideas for how to resolve this. The problem seems to be that while we exclude /modules/ and /owa/ from the main volume, they still get stored as anonymous volumes and since we have that server configured to not destroy volumes (e.g., so we can keep the database data), the anonymous volumes remain with their contents pointing to the older versions of modules.

I fixed this by copying the database backup, running docker-compose down -v, recreating the setup and moving the backed-up database files to the new db_data volume, but that seems like quite a process to go through every time we need to update modules here (hopefully not too frequently, but…).

3 Likes

Thanks @ibacher

@herbert24 Are you able to source the latest CIEL dictionary on the mds server? If not, I can do it.

1 Like

thanks much @ibacher ,hi @ball am gona source it,thanks

hi @ibacher which exact directory can i copy to the unzipped .sql file on msdbuilder server, using docker cp /tmp/openmrs_concepts_2.3.0_20210705.sql mdsbuilder_db_1:/tmp/ shows me no such directory

@ibacher i am following the instructions here OpenMRS Reference Application Release Process - Documentation - OpenMRS Wiki

Yeah… the image name is a little unpredictable. Right now it’s mdsbuilder_db_1_a4bad60e8fee, but that’s likely to change in the future (at least the a4bad60e8fee part).

In any case, you could try:

docker cp /tmp/openmrs_concepts_2.3.0_20210705.sql mdsbuilder_db_1_a4bad60e8fee:/tmp/

PS I got the name of the container by running docker-compose ps in the mdsbuilder directory.

1 Like

@ibacher ,
i think to make things easier for @herbert24 and any other , we can rename the MySQL container from a random name mdsbuilder_db_1_a4bad60e8fee to mdsbuilder_db_1 to be consistent with the Realease instructions. I used to have credentials to ssh into the mdsbuilder but i think i lost my private ssh_key file on my old laptop.

1 Like

Have you copied the file from your local machine to the mdsbuilder machine in the /tmp directory
ie
openmrs_concepts_2.0_20181012.sql.zip <username>@mdsbuilder.openmrs.org: /tmp/openmrs_concepts_2 .0_20181012.sql.zip

And also ,when copying the file into the MySQL container using the command below , you reference the right container name

docker cp /tmp/openmrs_concepts_2 .0_20181012.sql mdsbuilder_db_1: /tmp/

see comment up

what if we simply update the documentation to make sure one can get to know the container name by running docker-compose ps in the mdsbuilder directory

1 Like

actually better that way…

finished the steps and rebuilding the search index now

3 Likes

Thanks @herbert24! That’s where I was hoping this would go.

2 Likes

hi @ball this must be fine now, i sourced them

Thanks @herbert24 @ibacher @mozzy . You rock!

I’m quite happy to make them part of the volume. They were excluded as we do backups of that server, but I don’t really know how OpenMRS works internally.

Yeah… it’s a weird situation. In this case, we actually want the modules (and owa) sub-folders to be the ones embedded in the image rather than those in a volume but we do want a backup of some parts of the folder (namely the Lucene indexes and openmrs-runtime.properties so we don’t have to rebuild those all the time).