Wednesday, 2023-11-15

jakeyiphi all, just checking to see who is around and interested for a meeting. please populate agenda here.08:28
jakeyipI have a (WIP) spec that captures some of the discussion over vPTG. needs some eyes https://review.opendev.org/c/openstack/magnum-specs/+/90041008:29
jakeyipdalees: I saw your comment and will ack them later, thanks!08:30
daleesjakeyip: hello, I'm around today08:42
jakeyipdalees: let me know if you have anything, I'm driving atm, may be 10 mins late08:53
travisholtonhello all08:58
mnasiadkaI'm here if needed09:05
jakeyipI'm here too09:12
jakeyip##startmeeting magnum09:12
jakeyip#startmeeting magnum09:12
opendevmeetMeeting started Wed Nov 15 09:12:53 2023 UTC and is due to finish in 60 minutes.  The chair is jakeyip. Information about MeetBot at http://wiki.debian.org/MeetBot.09:12
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.09:12
opendevmeetThe meeting name has been set to 'magnum'09:12
jakeyipAgenda:09:13
jakeyip#link https://etherpad.opendev.org/p/magnum-weekly-meeting09:13
jakeyip#topic Roll Call09:13
jakeyipo/09:13
travisholtono/09:13
daleeso/09:14
jakeyipmnasiadka: ?09:14
mnasiadkao/09:14
jakeyipthanks all09:15
jakeyipplease put discussion items in etherpad09:15
jakeyip#topic improve-driver-discovery spec09:15
jakeyipI've wrote up something to capture the discussion. https://review.opendev.org/c/openstack/magnum-specs/+/900410 hopefully that gives us a good base09:16
jakeyipneed help and eyes on it09:16
daleesthanks for writing that down jakeyip , much appreciated.09:16
jakeyipno worries, happy to move it on09:17
jakeyipso I've been hemming and hawwing because I am unsure which alternative was the best, given all the changes that are happening09:18
jakeyipI guess we just need to fix something, and make it work09:18
daleesI've given my feedback today, but it's fairly minor. We need the driver tiebreak and we can move on with the CAPI drivers09:19
jakeyipdalees: thanks for your feedback09:20
jakeyipthere's no pressure to read that spec at this meeting, happy to have a week to input comments and a discussion about it next meeting09:20
daleesyeah - it'll require a little refactor in the driver loading system, but then the driver selection tiebreak can be done. Almost all the options do expose the Magnum user to the driver concept, but it seems unavoidable with multiple drivers for one tuple.09:20
noonedeadpunko/09:21
jakeyipmy opinion is they need to know driver specific details already currently,  like os_distro=fedora_coreos09:22
jakeyipwhich isn't actually an os_distro label09:22
jakeyiphi noonedeadpunk 09:22
mkjpryorUsing image properties to do it still ties an image to a driver, which mirrors the current situation09:22
mkjpryorAnd if the operator uploads the images and creates the templates, and blocks the creation of new templates, the user still doesn't need to know about drivers09:23
mkjpryorEven if they allow custom templates, the operator-uploaded images would select the correct driver09:23
jakeyipgood point mkjpryor 09:23
mkjpryorSo I guess that is me saying that I quite like it09:24
jakeyip:)09:24
mkjpryorI don't like the idea so much of co-opting the os_distro label to do explicit driver selection in the tie-break case. It feels like we should have our own label to do that09:24
mkjpryorThat way it also reduces to the current situation in the case where you have no clashes as well09:25
mnasiadkaWhat about adding another cluster template property that ties to the driver, if unspecified then we fall back to what we have today?09:25
mkjpryorYeah - that is jakes proposal one I think09:26
mkjpryorAh - cluster template property09:26
jakeyipmkjpryor: the proposal calls for using another glance image property. ln 83-8909:26
jakeyipmnasiadka: cluster template property will require client change. we can also use label09:27
mnasiadkaglance image property ties that image to a specific driver, in a cloud where users can upload their own image and create their own cluster template - this is going to be a problem09:27
daleesmnasiadka: we we discussed that, it felt like it necessitates exposing an API to list enabled drivers. But on reflection maybe the image property does in a similar way.09:27
mnasiadkawell, if the goal is that we try to make it with minimal effort and easy backporting - then sure, we don't want an API impact09:28
jakeyipmnasiadka: in the current implmentation, the user already has to find out driver specific information like os_distro=fedora_coreos for setting on their own image. I feel it isn't a big leap for another image property specifying the driver name09:29
jakeyipI noted in the spec that the 'correct' os_distro label should be 'fedora' . 'fedora-coreos' is a magnum thing09:30
mnasiadkaos_distro is one of the ,,standard'' glance image properties09:30
mnasiadka#link https://docs.openstack.org/glance/latest/admin/useful-image-properties.html09:30
mnasiadkaAnd people learned that over time09:30
mnasiadkaBut maybe it's enough09:30
jakeyiphttps://gitlab.com/libosinfo/osinfo-db/-/blob/v20231027/data/os/fedoraproject.org/coreos-stable.xml.in?ref_type=tags#L1009:31
jakeyipanyway they can't put any image and expect it to work with CAPI driver. they have to build a CAPI image and select a CAPI driver09:31
jakeyipit's not like heat09:31
mnasiadkaok then, why not09:32
mkjpryorThe difference for me is that if we use an _image_ property, then users only creating custom templates don't need to worry about drivers - they just specify the image that the operator uploaded with the correct properties09:32
mnasiadkaIn order to allow custom image properties, Glance must be configured with the glance-api.conf setting allow_additional_image_properties set to True. (This is the default setting.)09:32
mnasiadkahmm09:32
mnasiadkawell, I guess nobody disables that today09:32
mkjpryorIs there a good reason to disable it?09:33
mnasiadkaprobably not09:33
mkjpryorSo if we use an extra image property to break the tie-break, users don't need to know about drivers in order to create custom templates which is nice09:34
mnasiadkaespecially the operator would loose all custom image properties, eg the Nova ones as well09:34
mnasiadka(if they would disable it)09:35
mkjpryorIf a user is uploading a custom image, especially for the CAPI drivers, I would argue that is an advanced enough use case that expecting them to know the driver names and set an extra property is not an unreasonable expectation09:35
daleesmkjpryor: yeah, agreed - the image property keeps it confined to one place the operator is likely to manage. it does lock one CAPI image into one driver, but the use case for having two CAPI drivers enabled is to transition, so it's less likely to want the same image for both (and you could just upload twice).09:35
mkjpryordalees: It would be nice if Glance could recognise that the two images have the same checksum and not store them twice though :D09:36
mkjpryorBut yeah - for transition I think it is fine09:37
mnasiadkawell, ideally a user should be able to override the driver on each of those three levels (image, cluster template, cluster) - but maybe let's go with the image only (since it's for transition time) - and see if there are any corner cases users would report09:38
jakeyipcool09:40
jakeyipsorry was having a browse in glance source wondering if os_distro is a build in or extra property :D 09:40
jakeyipa grep shows https://github.com/openstack/glance/blob/stable/2023.2/glance/async_/flows/api_image_import.py#L85-L9209:41
jakeyipnothing concrete, don't worry about it too much09:41
mkjpryorI don't have a problem with also adding a template field to override the driver choice09:41
mkjpryorI actually don't think it should be customisable on the cluster level09:41
jakeyipmkjpryor: that needs API update, was hoping to avoid that09:42
jakeyipunless we use labels :) 09:42
mkjpryorI think it can happen in a second patch if we decide we really want it after using the image property for a bit09:42
jakeyipyeap09:42
jakeyipI think mostly all fine? please leave review if you have concern, I'll tidy up and maybe we aim for a spec merge in 1 or 2 weeks09:43
jakeyipI'm also going to try find some time to do the POC and send up code for it09:44
jakeyiplet's move on09:44
jakeyip#topic CI tests09:44
jakeyipmnasiadka: are you blocked on anything?09:45
mnasiadkaI'm blocked on my time, I might have some on Friday to fix the failed deploy log collection09:45
mnasiadkabecause that's the only thing that is not working for now09:45
jakeyipmnasiadka: I think if the passing case is OK, you can submit it09:47
mnasiadkaok, I'll shape it up in current form and ask for final reviews09:48
jakeyipit's still useful, we can use it to test if deprecating the swarm driver and stuffs will get a -1 ,09:48
jakeyipthanks09:48
jakeyip#topic spec resize master count09:48
jakeyipdalees: 09:49
daleesjust wanted to briefly mention this - I've tested and have this working in CAPI helm, masters can size between 1, 3 and 5.09:49
daleesI'd like to write a spec and implement this in the driver interface, so existing (heat) will not support resize, but CAPI can if it wanted to09:50
daleess/masters/control plane/09:50
jakeyipdalees: I think that will be very useful for people who started with 1... :D09:50
jakeyipqn: can it scale down?09:51
daleesyep, any odd number, both up and down.09:51
jakeyipok09:52
jakeyipwe are almost at time. dalees anything else for this topic?09:52
daleesno, just mentioning at this point. I will write the spec09:53
jakeyip#action dalees to write spec09:53
jakeyip#topic ClusterAPI09:53
jakeyipeveryone's favorite :) 09:53
daleesmkjpryor: thanks for the reviews; I was about to ask ;)09:54
jakeyipI have a question - we need to fork the Helm Chart hosted by Magnum 09:54
jakeyipcan someone help?09:54
daleesjakeyip: which helm chart? the stackhpc capi one?09:55
jakeyipdalees: yeah09:55
jakeyipI mean, this doesn't _need_ to happen until we merge StackHPC in tree. but I'm interested if someone already knows how to do this or is already doing this09:56
jakeyipdalees: I think you mentioned you were working on OCI version of helm chart?09:56
daleesI created a repo for it in opendev, but now I realise that to fork properly(and keep commits) the source git repo should be specified on creation. So we may need to delete and re-create when we're ready to merge the driver09:56
jakeyipcan a fork in opendev work? I was under the impression it may require to build the site in Github pages?09:57
daleesjakeyip: helm charts can be uploaded to an OCI registry, so this can be too. The OCI support just needed to be in the capi helm driver (and it now is, thanks johnthetubaguy)09:57
daleeshttps://helm.sh/docs/topics/registries/09:58
mkjpryordalees: in the next couple of months I want to look at moving all our Helm charts to OCI, so it will probably happen by default for the CAPI Helm charts at some point09:58
daleesmkjpryor: cool - we host stackhpc charts in our OCI and the magnum-capi-helm driver works nicely with it.09:59
noonedeadpunkso, for ones with limited connectivity, would need either to source stackhpc repo or have a clone of whole  OCI registry?09:59
daleesnoonedeadpunk: yes, but that's true for loads of OCI images that are required to boot a k8s cluster.10:00
mkjpryorIt becomes exactly like you would do for a Docker image - just mirror the repository into your own registry10:00
noonedeadpunkwell, just source is a bit concenring as a requirement for in-tree driver10:01
daleesit ends up being a single asset in a OCI registry10:01
mnasiadkadalees: it's not going to work that way - we just need to push all the commits with history (the fork)10:01
mnasiadkawell, not history even10:02
noonedeadpunkyeah, and indeed it needs repo to be dropped and re-created...10:02
mnasiadkaone commit10:02
noonedeadpunkwhich is kinda sucks if it's already under governance...10:02
noonedeadpunkas then it indeed has quite some overhead10:02
noonedeadpunkbut indeed would be nice if it is moved with whole history10:03
jakeyipdalees: can you drive this? since you have the most experience10:04
mnasiadkabasically easiest would be to push the code in one commit, add Co-Authored-By for all authors10:04
noonedeadpunkanother tip for moving to opendev - it can not contain any zuul config files10:04
noonedeadpunk(during forking)10:04
daleesjakeyip: i have experience in doing it wrong :) But yep I can figure out removing the empty repo, and we can fork the charts properly into governance with history once the driver merges.10:05
noonedeadpunkyeah, that would be another way around, depending how much we wanna preserve history10:05
jakeyipmnasiadka: if there is no requirement from OpenStack and StackHPC is fine with us doing this, that is good idea10:05
daleesrepo link: https://opendev.org/openstack/magnum-capi-helm-charts10:06
mnasiadkaI'll leave the ''StackHPC is fine with us doing this'' to mkjpryor 10:06
jakeyipthat will allow us to start with bare minimum, instead of forking and backing out some of the StackHPC addition like GPU10:07
jakeyip#action dalees to look into hosting helm chart10:07
jakeyipwe are over time, let's call the meeting. leave something for next meeting 10:07
mkjpryorThe charts are released under the Apache 2.0 licence so whether we are fine with it or not isn't a deal breaker10:08
mkjpryor:D10:08
jakeyipmkjpryor: hahaha 10:08
jakeyipwell legally correct and morally wrong isn't a path Magnum Core Team should take ;)10:08
mkjpryorBut I think the ambition was always that they would become a community resource that represents best practice for deploying CAPI clusters on OpenStack10:08
jakeyip#endmeeting10:09
opendevmeetMeeting ended Wed Nov 15 10:09:21 2023 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)10:09
opendevmeetMinutes:        https://meetings.opendev.org/meetings/magnum/2023/magnum.2023-11-15-09.12.html10:09
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/magnum/2023/magnum.2023-11-15-09.12.txt10:09
opendevmeetLog:            https://meetings.opendev.org/meetings/magnum/2023/magnum.2023-11-15-09.12.log.html10:09
mkjpryorSo I personally don't have a problem with it. I guess I would naturally become a maintainer on that project10:09
jakeyipSorry I have to end meeting as I have someone waiting for me. please feel free to continue10:09
mkjpryorNo worries10:09
jakeyipseeya next week 10:09
mkjpryorWe have our company all hands next week so there probably won't be any StackHPC folks attending10:10
jakeyipgotcha10:10
daleesok, thanks for joining all.10:10
daleesnoonedeadpunk: re "just source is a bit concenring" - I don't think Helm will function pointing at a git repo - it needs an artifact tar.gz or OCI blob. So we'll need to "publish" somewhere - does that help?.10:12
noonedeadpunkdalees: So, I think it was more about - how welcomed contributors from outside will be, will 4 opens be respected there and things like that10:13
noonedeadpunkwhich are kinda solved in opendev. and when it's true for the driver but not true for hard dependency - it's slightly meh. Though openstack have plenty of such dependencies, so dunno10:14
noonedeadpunk(as well as plenty of issues with them)10:14
daleesah ok, I understand now. that hard dependency has the ambition of being part of opendev, so we'll aim for that. 10:17
noonedeadpunkyeah, sound good then :)11:00
mnasiadkanoonedeadpunk: kinda solved, unless the project is not maintained ;-)11:13
noonedeadpunkyeah, though it at least gives a chance to pick up maintenance without much hussle if anybody will be up for it12:10

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