-
Notifications
You must be signed in to change notification settings - Fork 374
network configuration hotplug support #113
Comments
cc/ @WeiZhang555 |
Ok I'll try to summarize the status of the previous discussion here. We want to be able to support Now the second part is the API itself which does not currently allow us for adding a new interface or route. This is already part of the scope as you can see here (also referenced here). This means someone could already start working on this if this is important for you guys (@guangxuli @miaoyq). Now, to get back to the detection part, I think we should make sure this can be disabled in case we don't need it (k8s case) since this extra binary (even if this is a @bergwolf @laijs @WeiZhang555 I'd like your input about this ! |
@sboeuf This sounds feasible.
I like it :)
And a CNI plugin can also make use of |
I just realized one problem runv once met one minute ago.
|
If we need to support scenarios other than docker, we really need to have a separate lightweight process monitoring the network namespace for network changes. This would then invoke the kata-runtime library directly with a call such as |
I agree this would not work for other cases than Docker (only one container per pod), and this could be solved by introducing a different binary for this purpose only. But my question is, do we need to support other cases than Docker here ? Are we expecting CRI cases to be able to hotplug some more network that our shim should also detect ?
If we're handling only the Docker case, the only shim who needs to monitor is the one representing the container process. We are sure this shim won't terminate before, meaning it won't miss anything if a
You've answered yourself, this is not a suitable design as we always have to take into account that we might not have a @kata-containers/runtime To summarize a bit, here are two questions I have and each of them has two options:
@kata-containers/runtime We really need some input here before we take a decision and we go ahead with the implementation. |
Speaking of network monitoring, is the monitor process going to do a busy-polling or is there some notification mechanism that would let |
Hold on, we might get diverged on "what is Docker case". If we are planning to support libnetwork(CNM) model, don't we need to support "docker run --net container:xxxx" to share two containers network namespace? In other words, don't we want to support composing a POD from docker's client? This was the missing part of CC initially in my opinion, and my hope is we can enhance and support this later. |
@WeiZhang555 -- I think we should discuss this in architecture committee on Monday.
Regarding docker network connect: this could be achieved in CC (this is how I did multi-interface early setup for a VNF like chain in docker), but the original veths would be unconfigured in the namespace, so connectivity of original container would be lost if you were connecting to a runc container's network with a Clear Container. In other words, I didn't use this for shared-netns between containers, but as a workaround to not being able to do hotplug!) AFAIU, if we moved to something like a TC based solution, this should work. @mcastelino -- agreed? I think this is seperate from the hot-plug discussion (such as network connect). |
@egernst @WeiZhang555 yes I think this is a separate discussion (not related to detecting a network being hotplugged without notice) since this can be tied to an OCI lifecycle event (docker run translating into kata-runtime create + start in that case). |
@guangxuli @miaoyq - can you confirm you are planning on adding this feature? |
Fixes kata-containers#113 Refactor generate interface and route, add network hotplug interface Signed-off-by: Ruidong Cao <[email protected]>
Fixes kata-containers#113 Refactor generate interface and route, add network hotplug interface Signed-off-by: Ruidong Cao <[email protected]>
Fixes kata-containers#113 Refactor generate interface and route, add network hotplug interface Signed-off-by: Ruidong Cao <[email protected]>
Fixes kata-containers#113 Refactor generate interface and route, add network hotplug interface Signed-off-by: Ruidong Cao <[email protected]>
Fixes kata-containers#113 Refactor generate interface and route, add network hotplug interface Signed-off-by: Ruidong Cao <[email protected]>
Fixes kata-containers#113 Refactor generate interface and route, add network hotplug interface Signed-off-by: Ruidong Cao <[email protected]>
Fixes kata-containers#113 Refactor generate interface and route, add network hotplug interface Signed-off-by: Ruidong Cao <[email protected]>
Fixes kata-containers#113 Refactor generate interface and route, add network hotplug interface Signed-off-by: Ruidong Cao <[email protected]>
Fixes kata-containers#113 Refactor generate interface and route, add network hotplug interface Signed-off-by: Ruidong Cao <[email protected]>
Fixes kata-containers#113 Refactor generate interface and route, add network hotplug interface Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
@bergwolf can you add your great diagram in some document? I think it will be helpful to everyone who want to play with our CNI solution. |
If you have some 'source' for the diagram (that is, something like SVG, and not just PNG of JPG), then that would be excellent ;-) iirc, you may have created the diagram via some website? If there is no 'source' then, maybe a footnote referencing the site. Basically, it would be good if others could later edit the diagram etc. if need be ;-) |
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
@grahamwhaley I think @bergwolf already gave the source: LINK :-) |
Ah, I see @WeiZhang555 @bergwolf - so, the input is a plain text file? If so, can we add that plain text file to the repo as the image source alongside the png to include in the markdown doc? |
@grahamwhaley Please see kata-containers/documentation#221 |
add UTs for network hotplug related fuctions Fixes kata-containers#113 Signed-off-by: Ruidong Cao <[email protected]>
Continuation of discussion from containers/virtcontainers#241
cc/ @mcastelino @amshinde @sboeuf @bergwolf @laijs @guangxuli @miaoyq
The text was updated successfully, but these errors were encountered: