-
Notifications
You must be signed in to change notification settings - Fork 26
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
✨add image prepulling to all swarm nodes #3073
Conversation
Codecov Report
@@ Coverage Diff @@
## master #3073 +/- ##
======================================
Coverage 80.7% 80.8%
======================================
Files 716 716
Lines 30903 30905 +2
Branches 4032 4032
======================================
+ Hits 24962 24973 +11
+ Misses 5074 5063 -11
- Partials 867 869 +2
Flags with carried forward coverage won't be shown. Click here to find out more.
|
SonarCloud Quality Gate failed. 0 Bugs No Coverage information |
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.
Very nice description and good first iteration
I assume this is still not complete since I see no changes in catalog etc...
In any case I left here some feedback that hope it helps
BTW: check sonarcloud input as well
Ok, so I guess this was decided last week.
|
this is obsolete, if required can be taken care by : |
What do these changes do?
The Problem
Some service are really big and take a very long time to pull. To make services start faster, images should already be present on the node when a user starts a service.
An Initial Solution
image-puller
service, running on all the nodes, which asks (thecatalog
) for a list of services to be pulled:image-puller
will be the simplest possible service which only asks for instruction at set regular intervals and acts upon themcatalog
acts as single source of truth providing a list of services to eachimage-puller
service asking for it:catalog
will identify eachimage-puller
service by it's docker hostcatalog
will have to run on aswarm manger node
since it requires access to the docker swarm API (asking the director-v2 for the information was discarded since it's preferable to avoid coupling and we might end up using more than 1 call in the future)catalog
based on the id of each requester, the catalog will compile a list of services keeping into consideration which resources that node has availablelatest
andfattest
images will be selected for sync, meaning: the latest version of a service and only services over a certain thresholdRelated issue/s
How to test
Checklist