-
Notifications
You must be signed in to change notification settings - Fork 7
Remove compose v1 syntax #504
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
Conversation
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/3113/Result ✅ SUCCESSBIRDHOUSE_DEPLOY_BRANCH : remove-compose-v1-syntax DACCS_IAC_BRANCH : master DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-91.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/80/NOTEBOOK TEST RESULTS |
fmigneault
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes look ok.
I will actually try them on our server that needs the update, and report back if I find anything that breaks.
birdhouse/README.rst
Outdated
| * docker engine | ||
| * docker CLI | ||
| * docker compose plugin (v2.20.2+ is required) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea to have this explicitly.
Are there any specific docker engine/CLI versions required to work with compose 2.20.2+?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Found something...
docker-compose-plugin is already the newest version (2.18.1-1~ubuntu.18.04~bionic).
This change enforces Ubuntu 20.04+
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'm OK with that. 18.04 was EOL in 2023. I'll update the README.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are there any specific docker engine/CLI versions required to work with compose 2.20.2+?
I tried to find any documentation about that but I wasn't able to find anything specific. Certain versions of Docker Desktop come with specific versions of docker compose but as far as the engine/CLI I can't find anything about specific version compatibilities.
I'm just assuming that if you have a relatively modern version of docker engine you'll be compatible with a relatively modern docker compose. 🤷
tlvu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM to please doc in the README or the Migration doc that the docker image in the scheduler component, for the autodeploy job, will need to be overridden to use a newer docker-compose as well.
And also all the external components in external repos will also need to remove the version string so please document all this in clear backward incompatible section that needs manual intervention for those pulling this PR in.
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/3118/Result ❌ FAILUREBIRDHOUSE_DEPLOY_BRANCH : remove-compose-v1-syntax DACCS_IAC_BRANCH : master DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-133.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/85/NOTEBOOK TEST RESULTS |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/3120/Result ✅ SUCCESSBIRDHOUSE_DEPLOY_BRANCH : remove-compose-v1-syntax DACCS_IAC_BRANCH : master DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-91.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/87/NOTEBOOK TEST RESULTS |
fmigneault
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it's blocking on your end, you can go ahead.
I need to keep working on CRIM's instance to migrate data and upgrade the OS to validate the updates (planed early next week).
|
It's not blocking so I'm happy to wait until you run your tests and are satisfied. |
|
CRIM's server is now updated https://hirondelle.crim.ca/versions/ It combines this PR and #509. All seems to work correctly. I'm proposing we merge all "patch PRs" (including #511), and then bump all of this together into |
…517) ## Overview The `env-local` optional component generates a docker compose file that contained a version field which are deprecated. This fixes the issue by removing the code that generates the deprecated field. Also updates an external volume declaration that was still using the old syntax. ## Changes **Non-breaking changes** - None **Breaking changes** - None ## Related Issue / Discussion - This should have been included in #504 ## Additional Information ## CI Operations <!-- The test suite can be run using a different DACCS config with ``birdhouse_daccs_configs_branch: branch_name`` in the PR description. To globally skip the test suite regardless of the commit message use ``birdhouse_skip_ci`` set to ``true`` in the PR description. Using ``[<cmd>]`` (with the brackets) where ``<cmd> = skip ci`` in the commit message will override ``birdhouse_skip_ci`` from the PR description. Such commit command can be used to override the PR description behavior for a specific commit update. However, a commit message cannot 'force run' a PR which the description turns off the CI. To run the CI, the PR should instead be updated with a ``true`` value, and a running message can be posted in following PR comments to trigger tests once again. --> birdhouse_daccs_configs_branch: master birdhouse_skip_ci: false
Overview
Breaking Change: as of birdhouse-deploy version 2.7.3, the stack could not be deployed with a docker compose version
<
2.20.2. However, that was not specified in the release notes so we're stating it here.The incompatibility is due to the addition of various additional keys under healthcheck in the docker compose files including
interval,timeout,start_period, andstart_interval.The version 1 compose specification that docker uses is out of date and no longer maintained by docker. We currently have a mix of version 1 syntax and version 2 (specifically
2.20.2+) syntax in our docker compose files.This means that the stack will not properly run with a docker compose version <
2.20.2. For any version >2.20.2the stack runs properly but displays lots of deprecation warnings about deprecated version strings, external volumes and external network definitions.This PR updates all version 1 syntax so that these deprecation warnings are not displayed. Documentation has been updated to make this dependency on a modern version of docker explicit.
Changes
Non-breaking changes
Breaking changes
Related Issue / Discussion
Additional Information
@tlvu I think you'll be especially interested in this
CI Operations
birdhouse_daccs_configs_branch: master
birdhouse_skip_ci: false