OpenMRS Sync 2.0 Demo environment

demo-server
Tags: #<Tag:0x00007f23e4e9c398>

(Przemyslaw Kornowski) #21

@jslawinski

@dserkowski working on the issue with Demo server already. More info about this is placed here: https://issues.openmrs.org/browse/SYNCT-84


(Jakub Sławiński) #22

@pkornowski As far as I know we have fixed SYNCT-84, right? Is there anything that should be done on our side to allow community using Sync 2.0 on our demo environment?

What about credentials? Have we published them?


(Przemyslaw Kornowski) #23

@jslawinski

The current MVP is deployed on the Demo servers. The scheduler works all the time and the Pull & Push intervals are set at 30 sec. To test if that works I attach current connection between our server instances: https://wiki.openmrs.org/display/projects/Sync+2.0+Demo+Environment

There is possible to synchronize Patient object between instances.

The credentials are not published yet. There is a problem with creating a non-admin user which should be used for testing Sync 2.0. We work on this with @raff and I think tomorrow credentials will be published.

cc: @pgesek


(Arkadiusz Lalo) #24

Hi everyone,

we are working on supporting the OpenMRS 1.x via the Sync 2.0 module. Is this possible to run other 2 (or more) instances of the OpenMRS Platform (legacy OpenMRS, for instance 1.9.10 version) on the same machine (which is currently used by Sync 2.0 demo environment) at the same time? This could help us with testing the Sync 2.0 module.

Kindly regards, Arek

cc: @kmadej, @tmueller, @raff, @cintiadr


(Cintia Del Rio) #25

I doubt we have enough memory for it in that machine.

So, please let me know:

  • how many instances do you actually need?
  • for how long?
  • is there docker images for those versions? We just deploy docker to keep my sanity.

(Arkadiusz Lalo) #26

@cintiadr

  1. We want to have existing 4 instances and add 2 other instances on legacy OpenMRS. I understand your doubts related to memory size. I wonder if we can manage via the CI which instances should be running (for instance 2 - OpenMRS 2.x and 2 - OpenMRS 1.x).

  2. We need these instances only for the test. The longer they will be available, the better. These instances will be useful for projects which are interested of using the Sync 2.0 on OpenMRS 1.x (they could test the Sync 2.0 module before deploying on production server).

  3. We can’t use existing docker image to deploy the OpenMRS Platform 1.9.10 because it is based on the openmrs/openmrs-reference-application-distro (correct me if I am wrong). I couldn’t find any docker image on the Docker Hub which fulfills the requirements. Do you know some docker image which uses the legacy OpenMRS?


(Cintia Del Rio) #27

Cool :slight_smile:

I will check later if we have resources on that machine or which VM could be suitable.

That said, how much time you’d like to have? 3 months? 6 months? A year?

As you can see in: https://wiki.openmrs.org/plugins/servlet/mobile?contentId=113017854#content/view/113017854

Your build is creating a docker image for openmrs refapp - I assume using OpenMRS SDK ‘build-distro’ command.

https://wiki.openmrs.org/plugins/servlet/mobile?contentId=86639397#content/view/86639397

The dockercompose file is available as well on that page.

While I’m not against deploying it at all, I’d prefer to have a date to shut them off. I also need someone to create the docker image + docker compose. I have no idea if the SDK supports that version of core.

I can definitely try to help creating the image, but realistically talking I have a huge backlog to go through for the next few weeks. If you have the image and docker compose, my work is very straightforward.


(Cintia Del Rio) #28

Some good and bad news @alalo:

We can add 2 more openmrs instances to the same machine without much drama.

That said, I attempted to mix the properties file for mdsbuilder and the one for sync, and use the openmrs SDK to generate the docker image.

Apparently it’s not supported. I believe only 1.10.+ work out of the box.

I have the feeling that if you want to deploy 1.9.x, you might have to create the docker image from scratch, or modify the SDK to support it.

I’m not sure if we support 1.9.x or if it’s EOL’ed already.


(Daniel Kayiwa) #29

We no longer support 1.9.x


(Arkadiusz Lalo) #30

Thank you very much for your investigation.

Based on the docker-compose file of OpenMRS SDK I prepared the Dockerfile and docker-compose files. These files are available here:

Please take a look and let me know if this is what you need. Thanks in advance.


(Arkadiusz Lalo) #31

I added a script which could be used to update the version of modules (more info you can find in the repository README). That script is named manageModules.sh and is placed on the same repository.


(Arkadiusz Lalo) #32

Sorry I missed this question. I believe a year should be enough.


(Arkadiusz Lalo) #33

@cintiadr any update on that? Can I do something else to help you with creating that demo environment?


(Cintia Del Rio) #34

With some luck, I will do it over the weekend.

If that’s not possible, I will try to at least write up how you could help me.


(Cintia Del Rio) #35

Can you do me a favour?

Can you raise an ITSM ticket with this? So I don’t forget


(Tomasz Mueller) #36

@cintiadr I created the ticket you needed: https://issues.openmrs.org/browse/ITSM-4186

Best Regards, Tomasz


(Cintia Del Rio) #37

So, here’s the skeleton of docker compose files: sync-legacy1.openmrs.org and sync-legacy2.openmrs.org

(note, some of those files are symlinked) If you want to do any changes, please create a pull request for me. It’s probably mostly fine.

Now you are responsible for creating the docker image.

I’d recommend you do the following:

  • copy openmrs-distro.properties file to, let’s say, openmrs-legacy-distro.properties
  • change distro.referenceapplication from 2.6.0 to 2.4 (oldest version supported by the SDK, core version 1.11.6) , and run mvn openmrs-sdk:build-distro -Ddistro=openmrs-legacy-distro.properties. You should be able to run docker-compose up and verify it has the right configuration.
  • change build Deploy sync legacy to use the new file

We might have the adjust the dbdump (maybe).


(Arkadiusz Lalo) #38

Thank you for your help. I’ll try to take care of it when I’ll have free time


(Arkadiusz Lalo) #39

Hi @cintiadr ,

the Atomfeed module uses the third party library which has a different version for OpenMRS 2.x and OpenMRS 1.x. That module by default use version compatible with OpenMRS 2.x, to use that module with OpenMRS 1.x we prepared the specific Maven profile which uses the different version of a third party library.

Currently on the jfog (I believe that is used by the OpenMRS SDK, correct me if I am wrong) we have deployed the version of the module compatible with OpenMRS 2.x. Do you think it is possible to deploy there also the version of the module which is compatible with the OpenMRS 1.x (the module build with “openmrs-1.9” Maven profile)? Because for now I can’t properly configure the “openmrs-legacy-distro.properties” file (suggested by you) to create the docker image.

Link to atomfeed module on jfrog: https://openmrs.jfrog.io/openmrs/public/org/openmrs/module/atomfeed-omod/

Thanks in advance, Arek


(Daniel Kayiwa) #40

We do not recommend shipping different builds of the same module for different platform versions. Did you take a look at this? https://wiki.openmrs.org/display/docs/Supporting+different+OpenMRS+versions