-
Notifications
You must be signed in to change notification settings - Fork 141
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
feat(KONFLUX-5670): Define computeResources for prefetch-dependencies* tasks #1763
base: main
Are you sure you want to change the base?
Conversation
the failing check is saying you need to generate some files:
|
I think this is due to the fact that -ta version does not have same values as non -ta one |
890ab47
to
52db40e
Compare
Hello @hugares . At the end I had to do some changes in Hello @zregvart. Is this correct approach please? |
52db40e
to
bce5491
Compare
bce5491
to
651c76f
Compare
651c76f
to
faa9fcb
Compare
OK, ignore me Zoran. Looks like yaml in |
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
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.
Is this based based on tests with one specific repo, or do you have data across varied uses of git-clone and prefetch-dependencies?
The memory and cpu usage will vary wildly depending on the size of the repo, the configured package managers, the number of dependencies etc.
ComputeResources: core.ResourceRequirements{ | ||
Requests: core.ResourceList{ | ||
core.ResourceCPU: resource.MustParse("1"), | ||
core.ResourceMemory: resource.MustParse("3Gi"), | ||
}, | ||
Limits: core.ResourceList{ | ||
core.ResourceCPU: resource.MustParse("1"), | ||
core.ResourceMemory: resource.MustParse("3Gi"), | ||
}, | ||
}, |
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.
Ideally the values here would be part of the recipe, nothing that would block this change, this can be added if/when there is a need to modify this in the future
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 agree (as far as I understand the architecture here) but that would require bigger code change and I did not wanted to go too deep to it for now. But, let me know and I will happily work on it in different PR.
Hello @chmeliik ! Graphs come from real world builds on If the concern is limits are too small, I think they should be OK until some new huge repo appears (I have pasted a graph for whole week of data). If the concern is the requests (and limits) are too high for small repos without specific requirements, I assume that should be fine, because in that case the pod/task will be running just briefly, so resources will not be allocated for too long. |
Ack 👍
Yeah this was it. Ok, let's see if the current requests and limits are enough |
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, could you just update the commit message or split into two commits? This PR updates the computeResources for every create-trusted-artifact
step and for one separate step in the prefetch-dependencies task
OK, I was trying to reproduce the issue KONFLUX-5951 and was able to do so with Gomod Cachi2 configured. I do not know what caused that issue, but noticed that for me all of 50 concurrent prefetch-dependencies pods were running on the same node!
I have picked 1 CPU and 3 GiB of memory as a
request
(and in an effort to slowly migrate to model where we have requests == limits), used the same forlimits
. This is why I used these numbers (graphs from stone-prd-rh01):... looks like steps
step-prefetch-dependencies
andstep-create-trusted-artifact
can take about 2 GB (including cache and so)... RSS memory is of-course smaller
... regarding CPU it takes about 1 CPU across all containers
... again, only containers
step-prefetch-dependencies
andstep-create-trusted-artifact
seems to be bigger players here