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

Upgrade the docker version to 23.0.6 #5436

Merged
merged 3 commits into from
Mar 6, 2024
Merged

Conversation

style95
Copy link
Member

@style95 style95 commented Aug 14, 2023

Description

The docker version of the GitHub action runner is 23.0.6.
Instead of downgrading the engine version I want to give a shot to upgrade the client version.

Related issue and scope

My changes affect the following components

  • API
  • Controller
  • Message Bus (e.g., Kafka)
  • Loadbalancer
  • Scheduler
  • Invoker
  • Intrinsic actions (e.g., sequences, conductors)
  • Data stores (e.g., CouchDB)
  • Tests
  • Deployment
  • CLI
  • General tooling
  • Documentation

Types of changes

  • Bug fix (generally a non-breaking change which closes an issue).
  • Enhancement or new feature (adds new functionality).
  • Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

  • I signed an Apache CLA.
  • I reviewed the style guides and followed the recommendations (Travis CI will check :).
  • I added tests to cover my changes.
  • My changes require further changes to the documentation.
  • I updated the documentation where necessary.

Copy link
Member

@dgrove-oss dgrove-oss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM -- I agree it is better to update the containers to a current docker than to downgrade the GitHub Action runner to an antique version of docker.

@codecov-commenter
Copy link

codecov-commenter commented Aug 14, 2023

Codecov Report

Merging #5436 (5ffbafa) into master (951ce58) will increase coverage by 18.21%.
The diff coverage is 100.00%.

❗ Current head 5ffbafa differs from pull request most recent head ed67fc9. Consider uploading reports for the commit ed67fc9 to get more accurate results

@@             Coverage Diff             @@
##           master    #5436       +/-   ##
===========================================
+ Coverage   58.52%   76.73%   +18.21%     
===========================================
  Files         241      241               
  Lines       14632    14632               
  Branches      616      616               
===========================================
+ Hits         8563    11228     +2665     
+ Misses       6069     3404     -2665     
Files Changed Coverage Δ
...sk/core/containerpool/docker/DockerContainer.scala 98.79% <ø> (+4.81%) ⬆️
...enwhisk/core/containerpool/docker/RuncClient.scala 100.00% <100.00%> (+16.66%) ⬆️

... and 134 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@@ -58,6 +58,13 @@ jobs:
uses: actions/checkout@v3
- name: "Setup"
run: ./tools/github/setup.sh
- name: Maximize free space
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on this workaround: actions/runner-images#2840 (comment)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since multi-runtime tests passed with this change, I applied this change to all workflows.

@style95
Copy link
Member Author

style95 commented Aug 15, 2023

Since upgrading the docker version could impact many downstream, I think it would be better to separate the change to upgrade docker and the change to maximize the build space for multi-runtime tests.

@style95
Copy link
Member Author

style95 commented Aug 15, 2023

Once this PR is merged, I would rebase this PR.

@style95
Copy link
Member Author

style95 commented Aug 16, 2023

It turns out that this change is not directly related to the failure of multi-runtime tests.
So it's not that urgent now but it is still worth discussing.


Using docker-runc obtains significantly better performance, but requires that the version of docker-runc within the invoker container is an exact version match to the docker-runc of the host environment. Failure to get an exact version match will results in error messages like:
Using runc obtains significantly better performance, but requires that the version of runc within the invoker container is an exact version match to the runc of the host environment. Failure to get an exact version match will results in error messages like:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this still a requirement with runc that versions must be an exact match? Makes it very hard to use runc in serverless environment where you may control the invoker container but not the underlying server.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it should not be an exact match, but some versions have breaking changes.
For example, the command's name is changed from docker-runc to runc.
The root volume directory was also different in the previous version.
https://github.com/apache/openwhisk/pull/4430/files#diff-072209721097df0ae37ac99015b28844fec1f9b390314782671445b4f80af622R185

I assume if there is no such breaking change, runc would be compatible, but anyway, it would be better to use the same version if possible.

@bdoyle0182
Copy link
Contributor

LGTM this is very long overdue, are there any blockers to merging this. I believe this should only affect docker client right anyways?

@style95
Copy link
Member Author

style95 commented Oct 5, 2023

I have been thinking of running a performance test with this version.
And last time we upgraded the docker version, some downstream like IBM needed some time to prepare for taking the change in.
I thought that a similar thing might happen.

@style95
Copy link
Member Author

style95 commented Nov 14, 2023

This PR has opened for a while, I would merge this.

@style95 style95 merged commit 8af2092 into apache:master Mar 6, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants