Planning for OpenEMR 5.0.2 release

Congratulations to Brad et al as it always takes a significant effort to make a release!

  • ViSolve

Will there be a way to upgrade from AWS 5.0.1(7) to AWS 5.0.2?
–Ralf

hi @Ralf_Lukner ,
The dockers have a neat upgrade mechanism if certain criteria are met. Is there a docker-compose.yml in the AWS install? (I am guessing there is, which allows commands like docker-compose stop etc.). If so, can you paste what it looks like here.
thanks,
-brady

1 Like

Also gonna tag @jesdynf on above aws/docker upgrade discussion.

1 Like

Where would I look for the docker-compose.yml?

Also, would it be safer to create a new EC2 instance and then migrate the data over to the new instance somehow?

Something like Error Upgrade 5.0.1 to 5.0.2 could be a time-consuming problem for me if I’m doing the upgrade on the production instance.
–Ralf

hi @Ralf_Lukner ,
What does following command show:
docker ps -a

btw, above command will just list out active docker containers. Agree that will be best to do a trial run on a backup ec2 of your production instance when we get to that point.

ubuntu@ip-10-0-1-83:~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3344de9fe048 hello-world “/hello” 4 weeks ago Exited (0) 4 weeks ago nostalgic_neumann
f401f8e1363e mysnapshot “/var/www/openemr/” 4 months ago Created 80/tcp, 443/tcp eloquent_mcnulty
f86553b67959 mysnapshot “standard_openemr_…” 4 months ago Created 80/tcp, 443/tcp epic_kalam
5187123d59f0 mysnapshot “/bin/bash” 4 months ago Created 80/tcp, 443/tcp affectionate_carson
8f38490e08fb mysnapshot “/usr/sbin/sshd -D” 4 months ago Created 80/tcp, 443/tcp, 0.0.0.0:32769->22/tcp nervous_elion
0ff0e2df5645 mysnapshot “/user/sbin/sshd -D” 4 months ago Created 80/tcp, 443/tcp, 0.0.0.0:32768->22/tcp elegant_goldstine
4024c1cd642a openemr/openemr:5.0.1 “./run_openemr.sh” 14 months ago Up 15 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp standard_openemr_1

Btw, I would be willing to help test the upgrade once it’s available.

ok, there should be a directory called standard, which will house the docker-compose.yml file. When you log in to your EC2 instance, what do you see with:
ls -al

Took a quick glance at the devops stuff. It might be at this path in ec2:

cd /root/openemr-devops/packages/standard

That’s where it is …
ubuntu@ip-10-0-1-83:~$ sudo ls -al /root/openemr-devops/packages/standard
total 8692
drwxr-xr-x 6 root root 4096 Jun 3 2018 .
drwxr-xr-x 8 root root 4096 Apr 28 2018 …
drwxr-xr-x 2 root root 4096 Apr 28 2018 ami
drwxr-xr-x 2 root root 4096 Apr 28 2018 cfn
-rwxr-xr-x 1 root root 8858496 Apr 28 2018 docker-compose
-r-x------ 1 root root 528 Jun 3 2018 docker-compose.yaml
-rw-r–r-- 1 root root 2820 Apr 28 2018 EULA.txt
-rw-r–r-- 1 root root 34 Apr 28 2018 .gitignore
-rw-r–r-- 1 root root 4075 Apr 28 2018 README.md
drwxr-xr-x 2 root root 4096 Apr 28 2018 scripts
drwxr-xr-x 2 root root 4096 Apr 28 2018 snippets

Paste the following output:

cat /root/openemr-devops/packages/standard/docker-compose.yaml

Also curious as to what is in that docker-compose directory:

ls -al /root/openemr-devops/packages/standard/docker-compose

ubuntu@ip-10-0-1-83:~$ sudo ls -al /root/openemr-devops/packages/standard/docker-compose
-rwxr-xr-x 1 root root 8858496 Apr 28 2018 /root/openemr-devops/packages/standard/docker-compose

Apparently nothing?

ubuntu@ip-10-0-1-83:~$ sudo cat /root/openemr-devops/packages/standard/docker-compose.yaml
version: ‘3.1’
services:
openemr:
restart: always
image: openemr/openemr:5.0.1
ports:
- 80:80
- 443:443
volumes:
- logvolume01:/var/log
- sitevolume:/var/www/localhost/htdocs/openemr/sites
environment:
MYSQL_HOST: ‘mysqldatabase-redacted.us-east-1.rds.amazonaws.com
MYSQL_ROOT_USER: openemr
MYSQL_ROOT_PASS: ‘password redacted’
MYSQL_USER: openemr
MYSQL_PASS: ‘password redacted’
OE_USER: admin
OE_PASS: ‘password redacted’

Very cool. Make a backup ec2(along with RDS) of your instance and then try the below upgrade on that (ensure you use a backup RDS or else it will upgrade your original database).

To do the upgrade will involve following steps:
Step 1 - Go into directory

cd /root/openemr-devops/packages/standard/

Step 2 - Modify docker-compose.yaml file
Change the image: openemr/openemr:5.0.1 line in docker-compose.yaml to:
image: openemr/openemr:5.0.2
Step 3 - Bring in the new docker (which will auto-upgrade it)

docker-compose up -d

Step 4 - Ensure it worked by checking the log

docker logs standard_openemr_1
1 Like

btw,
Another safe mechanism is to use the backup/restore mechanism in the Standard aws package (ie. backup (and ensure the restore works) prior to the upgrade run):
openemr-devops/packages/standard at master · openemr/openemr-devops · GitHub

Regarding the OpenEMR 5.0.2 packages, have released the following:

  1. docker
  2. tarball
  3. zip

Here are the likely timeframes of the other packages:

  1. Ubuntu (within 1 week)
  2. Xampp (within 1 week)
  3. Appliance (within 2 weeks)
  4. AWS packages (within 2 weeks)
  5. Google Launcher package (within 2 weeks)

Regarding the ubuntu package, any thoughts on retiring this package?
It is taking up lots of resources and appears to be many bugs to work out for Ubuntu 18.04 (the modals are all getting skipped for some reason). It is also doing some unsavory things like directly modifying php.ini.

I have the AWS Standard with the mysql database running separately from the openemr (webserver) instance. I know how to make snapshots of the database (it is also done automatically every day to ensure that I have backups). However, when I create a new EC openemr instance, it will point to the existing database (production, live). How do I get it to point to the new database … Do I modify the docker-compose.yml file with the new database information?

When I restore the database snapshot, do I need to migrate it to a new version of MySQL?