Implement the Runtime v2 Shim async task model for runhcs#2939
Implement the Runtime v2 Shim async task model for runhcs#2939estesp merged 1 commit intocontainerd:masterfrom
Conversation
Changes the requirement of a Runtime v2 shim in order to avoid race conditions between shim and shim client sending async events. Places a requirement of what events and what order a shim must comply to. Signed-off-by: Justin Terry (VM) <[email protected]>
|
@jhowardmsft / @dmcgowan - FYI |
|
Changes look good. Overall, it looks like we are just moving event creation to the specific implementations and outside of the general shim service. Is this a correct way of viewing these changes? |
Codecov Report
@@ Coverage Diff @@
## master #2939 +/- ##
=======================================
Coverage 44.02% 44.02%
=======================================
Files 102 102
Lines 10870 10870
=======================================
Hits 4785 4785
Misses 5351 5351
Partials 734 734
Continue to review full report at Codecov.
|
Hi, @jterry75 @crosbymichael so kata shimv2 also needs the corresponding change? |
|
@lifubang yes, so if you have any feedback please let us know |
|
@crosbymichael - Sorry was out. Yes that is the correct way of viewing the changes. Having the shim service do it expose the race condition between the shim and the shim service event models. Moving each event to the shim removes this race. @lifubang - Yes that is correct if you would like any orchestrator above containerd to get the appropriate events in the appropriate order. Thanks! |
@jterry75 @crosbymichael Got it. |
|
LOL. I read @crosbymichael's response and did the same. Sorry about that! |
|
Are we good with this? |
|
Overall yes. I'm going to implement this tomorrow for the linux runtime and then I think its good to merge if I don't hit any issues |
|
LGTM This is good to go, I'll submit my follow PR for the runc v2 runtime with these changes after this is merged. Thanks @jterry75 |
|
Thanks all! |
Changes the requirement of a Runtime v2 shim in order to avoid race conditions
between shim and shim client sending async events. Places a requirement of what
events and what order a shim must comply to.
Signed-off-by: Justin Terry (VM) [email protected]