-
Notifications
You must be signed in to change notification settings - Fork 380
Concurrent image pull #2671
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
Concurrent image pull #2671
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2671 +/- ##
==========================================
- Coverage 53.68% 53.66% -0.02%
==========================================
Files 205 205
Lines 21794 21815 +21
==========================================
+ Hits 11700 11707 +7
- Misses 8872 8884 +12
- Partials 1222 1224 +2
🚀 New features to boost your workflow:
|
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.
Pull Request Overview
This PR implements concurrent image pulling functionality to improve deployment performance by pulling container images in parallel instead of sequentially. The changes refactor the image pulling logic from individual node deployment checks to a centralized concurrent approach.
- Introduces concurrent image pulling with deduplication to avoid pulling the same image multiple times
- Refactors image pulling from node-level sequential operations to topology-level parallel operations
- Updates logging format and variable naming for consistency
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| runtime/docker/docker.go | Updates parameter naming and logging format in PullImage method |
| nodes/node.go | Adds PullImage method to Node interface |
| nodes/default_node.go | Removes image pulling from CheckDeploymentConditions |
| mocks/mocknodes/node.go | Adds mock implementation for new PullImage method |
| core/image.go | Implements concurrent image pulling logic with deduplication |
| core/config.go | Integrates concurrent image pulling into topology validation |
Comments suppressed due to low confidence (1)
core/image.go:77
- The variable name 'imageKey' is used both as the loop variable (line 70) and as a new variable (line 76), which shadows the outer variable. Consider renaming this to 'cacheKey' or 'pullKey' to avoid confusion.
imageKey := fmt.Sprintf("%s:%s", imageName, node.Config().ImagePullPolicy)
fix #2091