Tuesday, 2025-06-24

daleesHi all, meeting here in 5 minutes.07:55
jakeyiphi dalees 07:57
dalees#startmeeting magnum08:00
opendevmeetMeeting started Tue Jun 24 08:00:09 2025 UTC and is due to finish in 60 minutes.  The chair is dalees. Information about MeetBot at http://wiki.debian.org/MeetBot.08:00
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.08:00
opendevmeetThe meeting name has been set to 'magnum'08:00
dalees#topic Roll Call08:00
daleeso/08:00
jakeyipo/08:01
sd109o/08:01
daleesmnasiadka: ping08:01
mnasiadkao/ (but on a different meeting so might not be very responsive)08:01
daleesokay08:02
daleesAgenda has reviews and one topic, so I moved that first.08:02
dalees#topic Upgrade procedure08:02
daleesjakeyip: you brought this one up?08:03
jakeyiphi that's mine. just want to know, anyone has an upgrade workflow inmine?08:03
jakeyipin mind?08:03
daleesfor the combination of magnum, helm driver, helm charts capo, capi?08:04
jakeyipyes.08:05
daleesdo you mean versions, or actual processes of performing them?08:06
jakeyipwe recently looked into upgrading capi/capo but realised there are dependency with magnum-capi-helm and also helm charts08:07
sd109capi-helm-charts publishes a dependencies.json which specifies which capi version is tested against for each release of the charts: https://github.com/azimuth-cloud/capi-helm-charts/blob/affae0544b07c4b2e641b3b5bf990e561c055a91/dependencies.json08:07
daleesyeah, we've done capi/capo but not to their latest where they dropped capo's v1alpha7. that will be tricky to make sure all clusters are moved off old helm charts.08:08
jakeyipsd109: are there upgrade tests being run ? 08:10
jakeyipcharts will provision the resource at the version specified. upgrading CTs / charts _should_ upgrade those resources too?08:11
jakeyipcapi / capo upgrades also upgrade the resources too I believe, but ideally they should be upgraded by charts first?08:13
daleesjakeyip: so the way these versions work is one is the 'stored' version (usually latest) and the k8s api can translate between that and any other served version (wheel-spoke in k8s docs). 08:14
daleesso once you upgrade capo, it'll write new CRDs for the new versions to k8s, and start storing and serving the new versions (eg v1beta1). It doesn't matter if the charts write in the old or new crd version as long as it's still served.08:15
daleesso you need to care when they stop serving, but otherwise can keep using either old or new crd versions.08:15
sd109There are upgrade tests being run but since we haven't upgrade CAPO past v0.10 (due to some security group changes in v0.11 and the need for the new ORC installation in v0.12) yet, we haven't actually tested v0.12 upgrade that drops v1alpha7 for example08:16
daleeskubebuilder has some good info on this if you want to read more: https://book.kubebuilder.io/multiversion-tutorial/conversion-concepts.html08:16
jakeyipin this case, the chart will be using an older version, what happens when you do a helm upgrade?08:16
daleessd109: ah, that's helpful to know you haven't gotten there either!08:17
sd109When you do a helm upgrade, it will upgrade the resources to new v1beta1 thanks to https://github.com/azimuth-cloud/capi-helm-charts/pull/42308:18
jakeyipno I mean a `helm upgrade` changing values but not chart, which happens when you resize etc08:19
daleesif helm tries to talk to capo with an old crd version that isn't served it'll fail.08:20
daleesie. new capo (after v1alpha7 no longer served), and old chart that specifies v1alpha7.08:21
jakeyipin the case where it is still served but not latest08:21
daleesif it's served, it'll just translate to v1beta1 and store as that.08:21
jakeyipok08:22
daleesthat's the wheel-spoke model the kubebuilder docs talk about. (I *think* it changes the stored version in etcd on first write after the controller upgrade)08:22
jakeyipI'll read that08:23
sd109So I guess we need to make sure all user clusters are using a new enough version of capi-helm-charts to be on v1beta1 before we upgrade CAPO on the management cluster08:23
jakeyipyeah and also driver needs to be upgraded to talk v1beta1 first08:24
jakeyipI _think_ the sequence is something like - driver -> charts -> cluster templates -> all clusters -> capi+capo ? 08:26
daleesyeah, that sounds right - for the version of capo that drops v1alpha7 (was it v0.10?).08:27
sd109I think the only place which needs updated in the driver is here: https://opendev.org/openstack/magnum-capi-helm/src/commit/60dc96c4dae8628e92c20b1ca594c4cf10eba5e4/magnum_capi_helm/kubernetes.py#L28908:27
daleesyou do need capo at least up to a version that supports v1beta1 first (but that will be most of the installs)08:27
sd109And as far as I can tell that actually only affects the health_status of the cluster becuase it gets a 404 when trying to fetch the v1alpha7 version of the openstackcluster object from the management cluster08:28
sd109It was v0.12 that dropped v1alpha7 in CAPO08:28
daleesah v0.12, thanks.08:28
jakeyipI think there were more issues than that but I can't remember now08:29
daleesjakeyip: you had a patchset for that - did it merge?08:30
jakeyipfor magnum? 08:30
jakeyipsorry for the driver? I didn't merge it  yet I think08:30
daleesah this one - https://review.opendev.org/c/openstack/magnum-capi-helm/+/95080608:31
daleessd109: would you have a look at that soon?08:31
sd109Can we move that to v1beta1 now instead of v1alpha7?08:31
daleesyeah, I'd prefer that08:32
jakeyipcan we / should we increment more than two?08:32
daleeswell, it blocks upgrade to capo 0.12 if we don't08:32
jakeyipdoes capo serve more than 2?08:33
daleesIt's probably worth noting the version restrictions, but yes they do.08:34
dalees(i need to look up these particular versions of capo)08:35
jakeyipok I really need to try it out first then report back08:35
jakeyiphappy to skip ahead while I take a look at capo, then come back later08:35
sd109There's some CAPO docs in API versions here which suggest CAPO does some kind of automatic migration to new API versions for us? https://cluster-api-openstack.sigs.k8s.io/topics/crd-changes/v1alpha7-to-v1beta1#migration08:35
sd109I also need to go away and have a closer look so happy to move on for now08:36
daleesif you would like a whole lot of yaml to read through, all the info about your capo version is found in: `kubectl get crd openstackclusters.infrastructure.cluster.x-k8s.io -o yaml`08:36
daleeslook for "served: true", "stored: true" and "storedVersions"08:36
daleesokay, we shall move on. thanks for sharing what we each know!08:37
dalees#topic Review: Autoscaling min/max defaults08:37
daleeslink https://review.opendev.org/c/openstack/magnum-capi-helm/+/95206108:38
daleesso this is from a customer request to be able to change min and max autoscaling values08:38
daleesi think we touched on this last meeting, but needed more thinking time.08:39
daleesperhaps it's the same again08:39
sd109Yeah sorry I haven't had time to look at that one yet, I'm hoping to get to it this week and will leave any comments I have on the patch itself08:40
jakeyiphm I thought I reviewed that but seems like I didn't vote08:40
daleesthanks both, we can move on unless there are things to discuss.  please leave review notes in there when you get to it.08:41
jakeyipI will give it a go again08:41
jakeyipoh it's in draft :P 08:42
dalees#topic Review: Poll more Clusters for health status updates08:42
daleeshttps://review.opendev.org/c/openstack/magnum/+/94868108:43
jakeyipI will review this08:43
daleesso this one I understand will add polling load to conductor for a large number of clusters08:43
daleeswe've been running it for ages, and it enables a few things I'm doing in later patchsets in the helm driver: better health_status, and pulling back node_count from autoscaler.08:44
daleesit would be better to use watches for this than polling though.08:44
jakeyiphm the current situation is syncing _COMPLETE, but this adds more?08:47
sd109Don't think I have anything to add on this one, seems like a nice addition to me but agree that the extra load is worth thinking about08:49
daleesah, that's true - it already is polling CREATE_COMPLETE and UPDATE_COMPLETE. So really that would be most clusters.08:49
jakeyipyeah I didn't understand you comments "Without the _COMPLETE I also wonder if..." . 08:51
daleeshuh. I think I had confused myself on what was being added.08:53
daleesagree, _COMPLETE is already there.08:53
jakeyipI think what you want is adding CREATE_IN_PROGRESS to surface the errors where a cluster gets stuck midway thru creation with things like autoscaler pod errors?08:54
jakeyipmaybe need to clarify the use case in the commit message, then good to go 08:54
daleesyeah I think so. thanks08:55
daleesthere are 3 more reviews noted in agenda but only 5 min. Any particular of those or others we might talk about?08:56
dalees#topic Open Discussion08:56
daleesor other topics, for the last part of the meeting08:56
jakeyipI will look at them, maybe discuss next week08:57
jakeyipnext meeting :P08:57
sd109Yeah I haven't had time to look at the two Helm reviews either so I don't think we need to discuss them now08:58
daleesall good, those helm ones are from stackhpc. Johns update to his one looks good and I want to progress Stigs one sometime as it's hurting us occasionally, but it can wait.08:59
sd109Great, thanks. I'm also trying to get someone from our side to progress Stig's one too but proving difficult to find the time at the moment09:00
daleesyep, i think it's promising. probably just needs to move more things (like delete) to the same reconciliation loop to avoid the conflicts.09:01
daleesbut yeah, time!09:01
dalees#endmeeting09:01
opendevmeetMeeting ended Tue Jun 24 09:01:27 2025 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)09:01
opendevmeetMinutes:        https://meetings.opendev.org/meetings/magnum/2025/magnum.2025-06-24-08.00.html09:01
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/magnum/2025/magnum.2025-06-24-08.00.txt09:01
opendevmeetLog:            https://meetings.opendev.org/meetings/magnum/2025/magnum.2025-06-24-08.00.log.html09:01
daleesthanks both for coming and sharing!09:01
jakeyipthanks dalees 09:02
*** LarsErik1 is now known as LarsErikP10:30

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