<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 31 Aug 2021, at 11:50, Peng Tao <<a href="mailto:bergwolf@hyper.sh" class="">bergwolf@hyper.sh</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta charset="UTF-8" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">On 2021/8/31 13:21, David Gibson wrote:</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">On Tue, Aug 31, 2021 at 11:15:06AM +1000, David Gibson wrote:<br class=""><blockquote type="cite" class="">On Mon, Aug 30, 2021 at 02:20:54PM +0200, Christophe de Dinechin wrote:<br class=""><blockquote type="cite" class=""><br class=""><br class=""><blockquote type="cite" class="">On 24 Aug 2021, at 06:34, David Gibson <<a href="mailto:kata-dev@gibson.dropbear.id.au" class="">kata-dev@gibson.dropbear.id.au</a>> wrote:<br class=""><br class="">So.. I just discovered I had a mail misconfiguration which meant at<br class="">least one recent message I sent to the list on the govmm stuff didn't<br class="">get through.  Which probably explains why I had a different idea of<br class="">what was going on that other people seem to have had.<br class=""><br class="">I proposed the integration of govmm into the Kata repository for two<br class="">reasons:<br class=""><br class="">1) To avoid the back and forth of synchronized govmm & Kata changes<br class="">2) To avoid maintaining another external interface<br class=""><br class="">When I first pitched it to Fabiano I had the impression that Kata was<br class="">the only user of govmm making it an internal interface in practice, so<br class="">(1) was the main motivation.  Having discovered that's not the case,<br class="">though, (2) is really the more important factor.  The Kata team really<br class="">doesn't have the resources to maintain a general VMM interface - which<br class="">is in fact an extremely difficult problem (witness the complexity of<br class="">libvirt).  It's made more difficult by the fact that there's not<br class="">really a natural API boundary in between qemu itself and Kata's<br class="">hypervisor interface, so what is and isn't in govmm is already pretty<br class="">arbitrary and based on Kata's needs.<br class=""><br class="">AIUI, at the last AC meeting, the decision was made to move govmm into<br class="">the kata-containers repo, encouraging external users to consume it<br class="">from the new location.  That addresses (1), but not (2), since it's<br class="">still effectively an external interface.  It makes the dilineation of<br class="">that interface even less clear than it already is.<br class=""></blockquote><br class="">Yes and no. By putting it inside the kata repo, we make it clear<br class="">that it is not a public interface. Anyone using it is at risk of breakage.<br class=""></blockquote><br class="">Except that that appears to be explicitly *not* the intention.<br class=""><br class="">AIUI, Salvatore (representing the one known external user) was at the<br class="">AC meeting, and the decision was to merge the repo but that Salavatore<br class="">would consume govmm from the kata-containers repository.  Salvatore's<br class="">use was cited as a possible argument against my draft patch to remove<br class="">some things that are not used in Kata [0].<br class=""><br class="">In other words, still an external interface in practice.<br class=""></blockquote>I finally spotted the links to the recordings of the AC meetings, so<br class="">I've watched those and have a better idea of the details that were<br class="">discussed.  Salvatore using govmm from within the kata repository and<br class="">being kept in the loop for upcoming changes was explicitly discussed.<br class="">So, an implicit promise was essentially made to maintain this as an<br class="">external interface if integrated (at least for now).  But as discussed<br class="">above, I really don't think we have anyone lined up to actually<br class="">fulfil that promise.<br class="">It's a little vexing: the discussion started off with essentially the<br class="">arguments I've made above, however, when it came to actually making a<br class="">decision focus shifted to the proposed "interim step" of combining the<br class="">repository but having it used externalling.  My fundamental point is<br class="">that as an interim step this is counter-productive:<br class=""> - It makes things harder on the Kata side, because we still have to<br class="">   treat this as a maintained external interface that we can't break.<br class=""> - It makes things harder on the external user side, because now you<br class="">   need to import a different (and much larger) repository, and the<br class="">   risk of an interface being broken from the Kata side is increased<br class="">   (because it's less obviously an external interface).<br class="">So to re-iterate, I really think the next step ought to be instead to<br class="">*fork* govmm into the kata containers repository.  Once there it<br class="">becomes a burely Kata-local copy, which can be modified (and/or<br class="">eliminated) as per Kata needs.  As @sameo said on the call, we already<br class="">have a hypervisor abstraction layer, we don't need a second one.<br class="">External users keep using the external govmm, and its up to those<br class="">users to fix bugs or make extensions there.<br class=""></blockquote><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">I suggested on the AC call to fork govmm because I thought we'd want to keep its abstraction. If the long term goal is to drop govmm layer, we should make a **copy** of it instead of moving it to kata repo IMO. Then as David outlined, we can tailor it and eventually replace it with a kata specific direct integration with qemu.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">OTOH, I think what's important for now is to reach agreements on these questions:</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">1. Do we want to keep the govmm abstraction layer for kata?</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""></div></blockquote><div><br class=""></div><div>I think one of the points David and others have made is that we already have a hypervisor abstraction in Kata, so we don't need a second one, and that govmm is not a particularly good one either.</div><br class=""><blockquote type="cite" class=""><div class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">2. If not, what is the replacement?</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">We can take it to today's AC meeting IMO.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Cheers,</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Tao</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">_______________________________________________<br class="">kata-dev mailing list<br class=""><a href="mailto:kata-dev@lists.katacontainers.io" class="">kata-dev@lists.katacontainers.io</a><br class=""><a href="http://lists.katacontainers.io/cgi-bin/mailman/listinfo/kata-dev" class="">http://lists.katacontainers.io/cgi-bin/mailman/listinfo/kata-dev</a></blockquote></div></blockquote></div><br class=""></body></html>