Skip to content
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

Productize Notos: autodeploy keeps recreating the containers even if unchanged #246

Open
tlvu opened this issue May 24, 2022 · 3 comments
Open
Assignees
Labels
enhancement New feature or request

Comments

@tlvu
Copy link
Collaborator

tlvu commented May 24, 2022

Guessing it is because the docker-compose version used by autodeploy container and the docker-compose version installed are too different.

If indeed the cause, we will have to update docker-compose of all existing Pavics deployments. This is very disruptive for all existing hosts because they all have to co-ordinate for the rollout.

Another solution is for pavics-compose.sh to also run inside a docker image with docker-compose (the autodeploy docker image) so then any docker-compose update will be 100% transparent because the docker-compose on the host is not used anymore.

Running pavics-compose.sh inside a docker image will also fix a problem where sometime invoking it directly works but not when autodeploy invoke it because it is either missing a binary or a volume-mount. This will allow to catch autodeploy errors much earlier.

Relate to #384

@fmigneault
Copy link
Collaborator

Another solution is for pavics-compose.sh to also run inside a docker image with docker-compose (the autodeploy docker image) so then any docker-compose update will be 100% transparent because the docker-compose on the host is not used anymore.

Not sure if this is an actual fix. If running in a docker, the docker engine it uses must be compatible to the docker-compose running inside it. It only moves the problem elsewhere, and can greatly complicate the definition of networks definition since they would now have to be bridged between the host and that internal-docker network

@tlvu
Copy link
Collaborator Author

tlvu commented Oct 25, 2023

Not sure if this is an actual fix. If running in a docker, the docker engine it uses must be compatible to the docker-compose running inside it. It only moves the problem elsewhere, and can greatly complicate the definition of networks definition since they would now have to be bridged between the host and that internal-docker network

So far I've been able to run the older docker-compose v1 with the latest docker engine. Looks like there is great compatibility there.

Agreed that if the docker engine itself needs to be updated, all existing deployments will need to perform the upgrade manually. However at least we remove the need for manually updating the docker-compose as well.

Another reason for running pavics-compose.sh inside the same container used for the autodeploy is to fix a problem where sometime invoking pavics-compose.sh directly works but not when autodeploy invoke it because it is either missing a binary or a volume-mount. This will allow to catch autodeploy errors much earlier.

@tlvu
Copy link
Collaborator Author

tlvu commented Oct 25, 2023

Relate to #384

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants