-
Notifications
You must be signed in to change notification settings - Fork 299
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker-Compose Upgrade from 6.17 to 7.3.2 not working for docker-volumes #197
Comments
@kb7791 First of all this repo is deprecated. Please use the latest version from wiki. if you look at the volume set up in the new version, it is done as below:
Where the actual mount point is ROOT_DATA_DIR/var. The reason is we have standardixzed this across all installers to make the structure to have JFROG_HOME/artifactory/var as the data directory and JFROG_HOME/artifactory/app as the binary directory (which changes every release) if your data is not under var, you can change this ( |
@JfrogPrasanna I understand that this is deprecated, but I'm trying to migrate from your now deprecated docker-compose artifactory-postgresql example for 6.x to 7.3.2 and this link is still being used for tracking issues on your official official Docker-Compose Upgrade instructions to 7.3.2. So if I have a 2 separate named docker volumes for artifactory_data and postgresql_data, shouldn't I be able to avoid using the conifig.sh process as a whole and go into the templates directory within the new tarball for 7.3.2 and modify the docker-compose-postgres.yaml that looks like the following...
The upgrade procedure states that I should be able to stop my current docker-compose containers and remove them. If my artifactory data and postgres data already exists on my local filesystem that is managed by Docker and already ahs the permissions setup so that artifactory 6.17.0 can read and write from without issues. Should I be able to modify the template that in the 7.3.2 package name docekr-compose-postgres.yaml to look like the following...
and docker-compose back up and all of the existing data in the mounts that were working with 6.17.0 be working with the 7.3.2 version? Based on the instructions on Has the directory structure changed from 6.17.0 that... Your upgrade steps on the link mentioned above literally have 7 steps and if there are underlying changes that need to be made to go from from a docker-compose 6.17 to docker-compose 7.2.3 upgrade, these 7 steps are a little vague and lacking direction. |
this is with postgresql not only set in the system yaml but also setup in the docker compose file, seems as if derby still want to start up. |
@kb7791 We were able to simulate this and here is the root cause.
Let me know if this works. |
@JfrogPrasanna you need to throw out your docker-compose 'config.sh' system and start over. The docker image itself should check the version of the data and do the migration if needed. 1 volume for data Do not publicly maps all ports, only map ports you need (expose in Dockerfile, link w/compose, publicly expose nginx) HA should be managed with a route/api endpoint, not a specialty port or by exposing the app port on plaintext/non-ssl ports. looking forward to 7.5.9 |
@JfrogPrasanna The docker-compose and system.yaml to use posgresql were completely ignored during one of my last attempts and still booted up a derby.db as you can see from the Artifactory stack trace, wasn't sure what happened there. We're upgrading to the latest 6.19.0 for now and will revisit upgrading to 7.x in the near future once this migration process is simplified or complexity is ironed out. |
@JakeDEvans @kb7791 Thanks for your feedback - We will document the steps to handle docker volumes, which is clearly missed in our documentation and scripts. |
Manually upgrade is not possible. We have 3 TB of filestore. What I need is the installation document for a fresh installation of 7.4.x with docker compose and the combination of artifactory with nginx and postgresql. |
@kad-meedel The issue here in this issue is that of a compose file with docker-volume. Are you using docker-volume as well? If you are, we are working on a new migration procedure to address it coming in the upcoming release. If not, please send us the system.yaml to validate what it is updated with. |
@JfrogPrasanna Thanks for your reply. Have you any timeschedule when this new procudure / new release wil be available? The system.yaml within the artifactory docker container has not been updated with the settings from the docker-compose.yaml input file. system.yaml #type: postgresql #driver: org.postgresql.Driver #url: jdbc:postgresql://<your db url, for example: localhost:5432>/artifactory #username: artifactory #password: password |
The timeline we are looking for the support for docker-volumes is sometime May. I would not know the exact release date yet. |
Did you ever find this ? |
@deeco - Look at the official documentation. |
Something like this... both of my images have some customization for internal certs and plugins.
you have to seed the postgres password, they can't seem to figure out how docker uses env vars.
|
@JakeDEvans this helps thank you , I was using similar to https://github.com/deeco/artifactory-install/tree/master/artifactory/artifactory which works fine for version 6 just not version 7 |
Did the official documentation which now supports docker volume not help? Where volumes are pre-created? Here is the updated docs for upgrade and new installation: Hope it helps. |
I haven't had to time to re-attempt the upgrade. We ended having to migrate over to bind mount versus docker volume and are still on the latest 6.x. I'll be re-attempting a move to 7.x in the near future once some time is allotted for the upgrade. |
Current:
postgres:9.6.11
artifactory-pro:6.17.0
Upgrade:
postgres:9.6.11
artifactory-pro:7.3.2
The current installation is running from a docer-compose file, botht the artifactory 6.17 and postgres 9.6.11 are volume mounted to docker named volumes and not bind mounts,
The directions to upgrade from 6.17 to 7.3.2 (https://www.jfrog.com/confluence/display/JFROG/Upgrading+Artifactory#UpgradingArtifactory-DockerComposeUpgrade) I find to be a little vague.
Not really sure what this is doing but it looks like to me that its creating a whole new directory to install all the 7.3.2 data and content in /root/.jfrog/artifactory, wouldn't that cause me to not mount my existing artifactory_data and posgtres_data docker volumes to this upgrade procedure and just create a new empty artifactory 7.3.2. I modified the docker-compose-postgres.yaml to use my existing docker volumes (artifactory_data and postgres_data that reside in /var/lib/docker/volumes but when artifactory 7.3.2 came up its was prompting me for license again and the data and existing user were invalid. If I change the ROOT_DATA_DIR in .env file it looks as if redundant directories are created with in a var directory the script creates that should be holding the artifactory data.
Not sure if I'm missing something here on of these steps. Not sure if something needs to be changed in config.sh file or one of the other underlying helper files to get my previous volumes to work. Kind of weary of changing anything in fear of breaking the upgrade progress that jfrog implemented.
The text was updated successfully, but these errors were encountered: