Bug 2224114
| Summary: | [RFE] Skopeo to Provide Bandwidth Limiting | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | Benjamin Schmaus <bschmaus> |
| Component: | skopeo | Assignee: | Miloslav Trmač <mitr> |
| Status: | CLOSED WONTFIX | QA Contact: | atomic-bugs <atomic-bugs> |
| Severity: | low | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 9.2 | CC: | dwalsh, jnovy, lsm5, mboddu, pthomas, tsweeney, umohnani, walters |
| Target Milestone: | rc | Keywords: | FutureFeature |
| Target Release: | --- | Flags: | tsweeney:
needinfo?
(dwalsh) |
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-07-28 15:14:48 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Benjamin Schmaus
2023-07-19 19:58:13 UTC
I see the desire for some sort of declarative knob, but note there is e.g. tc which can be used to generically shape traffic independently of any specific application. https://access.redhat.com/solutions/3067231 https://joshrosso.com/c/tc/ Assigning to Miloslav. I've also cc'd @dwalsh as I think he'll be interested in this too. I do appreciate that limiting bandwidth is very important on some systems. That said, I don’t think it’s all that user-friendly or productive for every single binary that could ever reach the internet to grow its own (necessarily tool-specific) bandwidth limiting option; and I’m not very convinced that even doing that for the major users, like (skopeo sync) might well be, is the best approach. Enforcing some kind of more global limit, either based on a route or possibly on a cgroup, seems to me to be a far more general and safe approach, notably because it can be set up by the administrator and it does not rely on individual users’ discretion to use the bandwidth limiting option; and because the bandwidth limiting implementation would be consistent for all affected programs, regardless of implementation details like the language and libraries used. It seems that cgroups provides facilities to do that (net_cls in cgroupsv1, or iptables’ xt_cgroup in cgroupsv2) — but I’m not really familiar with either of these. I am familiar with tc since I used it as an example here: https://cloud.redhat.com/blog/openshift-latency-bandwidth-testing-for-edge although others from Red Hat have had mixed success when using it. I am open for different approaches that could be applied but I think we need to make it easy to consume for customers as the edge. One thing to consider how am I using tc if this is running in an OCP cluster? Now that is a good question, and it seems to have a pretty satisfactory answer: https://access.redhat.com/solutions/5018951 / https://docs.openshift.com/container-platform/4.13/nodes/pods/nodes-pods-configuring.html#nodes-pods-configuring-bandwidth_nodes-pods-configuring . |