Network Bandwidth management changes #27809 #26767#27846
Network Bandwidth management changes #27809 #26767#27846shivacherukuri wants to merge 1 commit intomoby:masterfrom
Conversation
|
@shivacherukuri |
|
@aboch |
|
Looks like this needs a gofmt; |
updated with gofmt issues and merge conflicts Signed-off-by: shivacherukuri <[email protected]>
1a1c667 to
1f7be5b
Compare
|
@AkihiroSuda |
|
Maybe "docker update CONTAINER" is better because the setting is specific to a container |
|
@AkihiroSuda |
However, this setting is for an endpoint, not for a container, correct? So I should be able to set a specific limit on an endpoint (if a container is connected to multiple networks) |
|
@thaJeztah |
|
Thanks for the contribution @shivacherukuri. Based on earlier comments it sounds like this needs some more design work. Please open an issue so there can be a discussion about the design of this feature. It is likely that parts of this will need to be implemented in libnetwork. |
|
@dnephin I'm interested in following work in libnetwork to allow for per-container bandwidth limitation. Are there any ongoing PRs/issues there that address this? I couldn't find anything from my own searches. |
|
Hi @vincentwoo .. right now I don't see any other ongoing PRs to address this. I couldn't spend time in the last couple of months to address the comments and the changes required in the design. Let me see when i can come back. Hi @dnephin are there any ongoing efforts upgrading libnetwork to support network bandwidth management changes in the upcoming docker release. Would like to hear the news and more details if it can be shared. |
|
@shivacherukuri We are looking into adding support for network policy and the bandwidth should be part of the UX. In terms of implementation as @aboch commented earlier bandwidth management shouldn't be a separate driver. |
|
@shivacherukuri I'm not aware of current work, but it may be good to discuss the feature in the libnetwork repository, and come to a design there (from a libnetwork perspective at least); feel free to ping me on the issue if you want to have me involved in helping on the UX / design from docker's perspective |
|
Sure, will ping you @thaJeztah and all. Thanks for all your wonderful feedback/comments on the design. |

Code changes for handling Docker network bandwidth management changes.
for more info https://github.com/shivacherukuri/Docker-Network-Bandwidth
includes #27809 #26767
Design:
Added a new driver to the docker engine so that it can natively support network bandwidth management based on container id. This will be an enabler for handling persistent bandwidth management rules and can be used by docker SWARM to schedule containers based on available network bandwidth too.
Dynamically can change n/w bandwidth management rules for a running container using "$docker network bandwidth" command
Managing n/w bandwidth based on actual link/NIC speed. Can manage allocating n/w resources for containers based on the actual remaining/available bandwidth. if the containers running on the host or any network application on host which are not part of of docker network bandwidth management can fall under default bandwidth management rule. This way can guarantee the minimum n/w bandwidth.
Currently $docker network command cli has been updated to make use of the new driver. can be extended to $docker run cli and others
Using tool tc (traffic classifier) to manage n/w bandwidth classes
i have verified my changes running ubuntu 14.04 kernel 4.6.0-rc
Signed-off-by: shivacherukuri [email protected]