Open o-l-a-v opened 10 months ago
This is a very reasonable question. The short answer is to use 8.3.0 for now.
Longer explanation: Snowstorm 9.0.0 has been tagged deployed to our production environments but the tech team are holding back on the public release in GitHub of 9.0.0 because versions 9.1.0/9.2.0/9.3.0 will bring more breaking changes.
The major breaking changes in Snowstorm 9.0.0 was an upgrade from Java 11 to Java 17. In Snowstorm 9.3.0 there will be an Elasticsearch upgrade from 7.10.x to Elasticsearch 8.x.
Once the tech team are done making breaking changes they will publish a new release in the releases section including the jar, deb package, full list of changes and guidance on how to upgrade to JDK 17 and Elasticsearch 8.
Version 8.3.0 is still in the master branch for now. The master branch will be updated in line with the next public release.
Then why do you offer beta/non-stable, like 9.2.0, by APT if it's not stable? Do we have to use package pinning with Snowstorm?
One would want to be able to update other software on the VM with sudo apt update
without getting beta releases. Seems like pinning is the way to be able to do this now.
If deploying from APT I would advise deploying a specific version number (the latest version in the releases page) rather than taking the latest one available in the debian repository. This is because we publish UAT versions to the debian repository.
Our usual process is to deploy to our debian repository, deploy to UAT and test for a couple of weeks, deploy to production and then make the release public on GitHub.
Yes, we use sudo apt install snowstorm=<version>
like your example script does:
But that does not pin it from being upgraded with sudo apt upgrade
later.
I guess we'll have to pin it then, with APT pinning, to keep snowstorm
from being upgraded when sudo apt upgrade
.
Yes, if you want to upgrade all package like that I think you are right.
apt-mark hold
may also be an option.
For docker-compose: Should I just change
image: snomedinternational/snowstorm:latest
to
image: snomedinternational/snowstorm:8.3.0 in
the .yml-file?
Yes @eirikconteir, that docker-compose change would ensure you are using Snowstorm version 8.3.0. That looks good.
Great, @kaicode ! Thanks.
Very last question; should browser be set to :latest? Or should we specify a version for that application as well?
Apparently browser version 3.32.0 should be deployed with Snowstorm 8.3.0.
Apologies for all this package version mess at the moment everyone. I will bring this up with the teams internally because I feel we have room for improvement here.
Thanks a lot, @kaicode .
If we're able to load the full international edition in a docker installation as well, we're all set. But that another issue:)
Hi again, @kaicode . We are a able to pull Snowstorm 8.3.0, but not the browser
Pulling browser (snomedinternational/snomedct-browser:3.32.0)...
ERROR: manifest for snomedinternational/snomedct-browser:3.32.0 not found: manifest unknown: manifest unknown
@eirikconteir It looks like we do not currently have tag versions in docker hub for the browser project. Snowstorm 9.2.0 was just published in GitHub and Docker Hub. This works with the latest version of the browser in Docker Hub.
@jimcornmell people in the community have a requirement to pull a specific version of a docker container from docker hub. Sometimes this is needed to ensure that the browser and a Snowstorm version are compatible. In your work to reform the way we publish docker images can we ensure that tag versions are pushed? Let's chat if you need more details.
It's unclear what's the latest stable release for Debian / Ubuntu if not using Docker.
sudo apt upgrade
: https://maven3.ihtsdotools.org/#browse/search=keyword%3Dsnowstorm%20AND%20repository_name%3Ddebian-releases