Wednesday, 2023-11-29

*** mmalchuk_ is now known as mmalchuk03:44
jakeyipHi all, dalees, mnasiadka, I can't make it for today's meeting, so I'm going to cancel it05:16
mnasiadkajakeyip: sure07:06
mnasiadkaIt's Kolla release time, so I have enough on my plate07:06
noonedeadpunkI just had 1 thing to raise actually, which is slightly time-sesetive to decide on08:19
noonedeadpunkAnd that is again kata support :) If you've seen ML from Kendal, there's another mentorship program for North Dacota right now. The only thing missing to re-purpose https://etherpad.opendev.org/p/2023-BU-Magnum is having actually a mentor that is aware about magnum codebase enough08:20
noonedeadpunkSo was wondering if there's a potential volunteer from the magnum core team to be a mentor if it will fly08:21
johnthetubaguynoonedeadpunk: FWIW, I noticed dalees has recently added gVisor: https://github.com/kubernetes-sigs/image-builder/commit/aed2a1ecc24ab720af0ca612d99da2f8e8a0832e I am assuming kata would be a similar change, but that is more an assumption than me really knowing.09:12
johnthetubaguyjakeyip: keen to catch up wtih you all, but sounds like next week09:12
daleestravisholton, did that actually - not my work :) (but we're both Catalyst Cloud)09:14
noonedeadpunkjohnthetubaguy: I assume that's the approach for CAPI driver?09:15
noonedeadpunkas heat driver doesn't use that09:15
noonedeadpunkor does it?09:16
johnthetubaguyCorrect, but I thought we agreed the heat driver is getting deprecated and removed, so it seems a bad time to add support there.09:16
noonedeadpunkI'm not arguing with that, more asking :)09:17
noonedeadpunkok, then it makes more really kata-side of things then on magnum09:18
johnthetubaguynoonedeadpunk: no worries, same here to be honest, I thought we agreed that a few cycles ago, but it seems we didn't :)09:18
* noonedeadpunk haven't seen deprecation reno09:18
johnthetubaguyTo be explicit, the cool part of adding Kata in Cluster API is it would be easier to use in all Cluster API supporting things... which is a good point, that sounds more like a project for the Kata team.09:19
johnthetubaguynoonedeadpunk: me neither, I should probably propose that, to try to make that PTG discussion stick09:20
noonedeadpunkI guess that clusterapi needs to merge first and be out of beta first though?09:25
noonedeadpunkOr dunno09:25
mkjpryorSo in order to support Kata, in the StackHPC Cluster API driver at least, there are three things that need to happen I think09:26
johnthetubaguynoonedeadpunk: Unsure, some people were arguing for no drivers in the upstream repo... I don't like that idea myself, but I like it more than keeping the heat driver around with few people to maintain it properly. That might just be the strange conversation in my head.09:27
mkjpryorFirst, we need to build Cluster API compatible images with the Kata runtime installed09:27
mkjpryorSecond, the required configuration needs to be supported in the CAPI Helm charts09:27
mkjpryorThird, we add labels to enable it in the Magnum driver09:27
johnthetubaguytravisholton: I am wondering if you have gVisor patchs for those bits?09:29
noonedeadpunkmkjpryor: that sounds absolutely fair list09:29
johnthetubaguymkjpryor: true, I forgot about the two extra bits, I see that in the readme now (facepalm)09:29
mkjpryorjohnthetubeguy: Whatever we do r.e. upstream drivers, we undoubtedly need to get better at supporting out-of-tree drivers. I joined late - was there any news on jakeyip's plan for this?09:30
travisholtonI don't have anything in capi-helm-charts (yet)09:30
mkjpryor*johnthetubaguy even (!)09:30
mkjpryorjohnthetubeguy sounds a bit weird09:30
travisholtonjust in image_builder09:31
johnthetubaguytravisholton: cool, that is a good step. Seems like kata could follow your lead there09:31
mkjpryortravisholton: It is possible that having the runtime + the required CRI config in the image could be enough? We probably still need something in the CAPI Helm charts to add the RuntimeClass objects where there are multiple runtimes available?09:32
johnthetubaguymkjpryor: don't know I haven't checked back on the spec, it seemed like a sound approach.09:32
travisholtonmkjpryor:  as far as I know that is enough. Once an image is built with that it is only necessary to create the rutimeclass pointing to gvisor and use it in a pod09:35
travisholtonso it would be generally available for anyone09:35
mkjpryortravisholton: So we just need a way in CAPI Helm charts to specify the RuntimeClass objects to create?09:36
travisholtonthat should be pretty easy. the spec is not much at all09:36
mkjpryortravisholton: Is the idea that _any_ image built using the CAPI image_builder will have both containerd _and_ Kata available?09:36
mkjpryorOr will there be a configuration option that you have to set?09:37
mkjpryortravisholton: Did you say you have had something for Kata accepted into the image_builder? Or is it still a PR?09:38
travisholtonno I have tried kata 09:38
travisholtonbut my gvisor patch is already in09:38
travisholtonso for a runtimeclass you just need https://kubernetes.io/docs/concepts/containers/runtime-class/#2-create-the-corresponding-runtimeclass-resources09:39
travisholtonand set "handler: gvisor"09:39
travisholtonsorry I have *not* tried kata09:41
mkjpryorI see09:41
mkjpryorMy misunderstanding09:41
mkjpryorIt would be interesting to see some numbers comparing the impact of gvisor vs Kata, as they seem to do similar things. Kata seems to be getting a lot of traction.09:43
mkjpryorIt can also do cool things like encrypting the memory, which I'm not sure gvisor can do?09:43
noonedeadpunkkata also has full kernel isolation )09:45
noonedeadpunkbut it's actually creating VMs09:45
noonedeadpunkthough from k8s prespective that should be just another CRI indeed09:46
johnthetubaguymkjpryor: it would be nice to retest this now virtio-fs is more mature: https://www.stackhpc.com/kata-io-1.html09:46
* travisholton doesn't see anything in the gvisor docs specifically about encrypting memory09:46
mkjpryorYes - of course. Supporting both in CAPI Helm charts, and hence Magnum, is a case of having an image with the required bits installed basically09:46
johnthetubaguynoonedeadpunk: +1 that is my assuption, its just another CRI09:47
noonedeadpunkOk, then basically I think that initial ehterpad may be just scraped, as concept is completely different now. Though it might be easier to implement then before - ball is not on magnum side09:47
mkjpryorThe main difference I can see is that Kata requires nested virt right? And gvisor doesn't.09:48
mkjpryorAssuming we are running in VMs.09:48
noonedeadpunkyeah, true09:48
johnthetubaguynoonedeadpunk: +1 although I still think Magnum support kata would be great :)09:49
travisholtonit doesn't require nested virtualisation09:49
mkjpryorKata? Or gvisor?09:49
travisholtongvisor09:49
noonedeadpunkgvisor don't but kata does09:49
mkjpryorThat was what I meant :-) 09:49
noonedeadpunkand I read it in same way :)09:49
johnthetubaguyyeah kata does (unless you are in an Ironic instance)09:50
mkjpryorI wonder how much of gvisor can be implemented as rules in Falco :-P09:50
mkjpryorThere must be an eBPF version for sure09:50
noonedeadpunkIf I'm not mistaken, vexxhost driver has their own image-builder?09:51
johnthetubaguyI think the distionction is probably that Falco doesn't block syscalls directly, it does actions when bad syscalls are made. I think gVisor is more about an allow list.09:51
johnthetubaguynoonedeadpunk: I believe its a CLI wrapper around the standard upstream packer one, but I am not 100% sure09:52
noonedeadpunkyeah, it gets tarball from https://github.com/kubernetes-sigs/image-builder/ 09:54
johnthetubaguyWe are currently just using a github action to build, validate then publish the images (quite similar to what SCS are doing for their own images): https://github.com/stackhpc/azimuth-images09:54
johnthetubaguyThis is the SCS one doing similar, but slightly different things: https://github.com/osism/k8s-capi-images09:55
noonedeadpunkI think gardener does the same but on their own as well actually...09:56
noonedeadpunkhttps://github.com/gardenlinux/gardenlinux09:58
travisholtonwe are doing roughly the same as johnthetubaguy 09:58
noonedeadpunkok, thanks folks for this enlightning talk!10:00
johnthetubaguyMy preference is for the operator to build and validate images, then publish templates using those. In that flow the user doesn't really need to generate images. At least, that has been my assumption so far (and is roughly what we did with the Heat driver).10:00
johnthetubaguyI should run too, was good to catch up!10:01
travisholtonsee y'all later10:06
-opendevstatus- NOTICE: The Gerrit service on review.opendev.org will be restarting momentarily for a patch update to address a recently observed regression preventing some changes from merging21:08

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!