Open oliversommer opened 2 years ago
I wonder if we also should pin the container tags in the docker-compose.yml
file as this could lead to the same issue?
FWIW, I always pin to a specific version (aka Docker tag) for all containers, docker-compose, docker or k8s - I like to know exactly what I'm running. Certainly for any 'PROD" work.
The "latest" is very handy is some situations but it can have effects like described here that aren't that great.
I wonder if this is something that could be addressed in the docs - a heads up that prod best practice is to pin to the version you want to run. I think how we have compose in the repo 'just works' for dev work so I don't see a reason to change that.
For docker compose in dev I think if we pin to for example 2.9.0-dev
it will "just work" the same as it is now?
I think matts suggestion to address this in the docs would be best. We already state that the docker-compose.yml file supplied is not intended for production out of the box and should be modified before deploy. The same should also apply to the helm charts.
From official helm doc
IMAGES
'A container image should use a fixed tag or the SHA of the image. It should not use the tags latest, head, canary, or other tags that are designed to be “floating”.'
added section "Mitigations / Workarounds"
quick summary affected: helm chart and deployments based on helm chart. issue: docker tag on images not set correctly out of the box when installing older helm chart version
Bug description In the deployment sections for the helm chart, the declarations for the docker images make use of a helm value for the docker tag. Example here. This value is provided statically by using the string literal "latest" here. As a result, when installing older helm charts (older=not the latest version), the latest docker images will be used instead of the one associated with that version.
This can become severe in conjunction with #5993. However, also in #5993 there is a workaround described, for those affected (e.g. reinstalling via helm with an older version)
Mitigations / Workarounds
Steps to reproduce Install older version of helm chart (chart version <= 1.6.28) with rabbitmq enabled (default).
Steps to reproduce the behavior:
Expected behavior System should come up with celery working.
Deployment method (select with an
X
)Environment information
Logs celery-beat:
celery-worker:
rabbit-mq: