| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2023-11-17 | |||
| 08:03:01 | tkajinam | I vaguely guess the issue was caused by the new tooz release and https://review.opendev.org/c/openstack/tooz/+/891355 might be the cause | |
| 08:06:28 | tkajinam | hmm. do we really need that job in master ? I see the job test upgrade from zed to 2023.2 | |
| 08:06:48 | tkajinam | and does not look appropriate for master | |
| 08:08:36 | tkajinam | ignore above. I noticed I was looking at a wrong branch of grenade... | |
| 09:30:58 | bauzas | tkajinam: looking | |
| 09:31:35 | bauzas | yeah this is failing when upgrading cinder | |
| 09:32:53 | bauzas | we're on Caracal, so it's upgrading from Antelope | |
| 09:33:23 | bauzas | https://github.com/openstack/grenade/commit/159054a9274f984d8e53e5e5bd9e7ab0fb29708b | |
| 09:33:30 | bauzas | (C is a SLURP release) | |
| 09:36:17 | bauzas | heh, fun, we got a GMR report in https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_73a/900783/2/check/grenade-skip-level-always/73acbef/controller/logs/screen-c-vol.txt | |
| 09:39:31 | bauzas | 2023-11-17 06:30:28.118 | ++ /opt/stack/new/grenade/projects/70_cinder/resources.sh:verify:220 : openstack volume show cinder_grenade_vol2 -f shell -c status 2023-11-17 06:30:29.692 | Internal Server Error (HTTP 500) | |
| 09:39:41 | bauzas | yeah, something got wrong on the cinder side | |
| 09:40:27 | bauzas | and yup yup, good catch tkajinam | |
| 09:40:43 | bauzas | https://paste.opendev.org/show/br9ep5e0MjNReG9A9ta7/ | |
| 10:00:07 | frickler | bauzas: cf. https://review.opendev.org/c/openstack/devstack/+/901221 | |
| 10:00:51 | bauzas | ack thanks | |
| 10:01:51 | bauzas | I don't exactly get the patch that broke tooz yet | |
| 10:02:00 | bauzas | but it was merged on Oct 16 | |
| 10:02:11 | bauzas | IMHO we should rather revert it | |
| 10:03:03 | bauzas | https://review.opendev.org/c/openstack/tooz/+/891355 was merged on Sep 28 so it's not the culprit | |
| 10:09:55 | frickler | bauzas: tooz was released yesterday with that patch afaict, added into u-c with https://review.opendev.org/c/openstack/requirements/+/901131 | |
| 10:11:50 | frickler | maybe that default setting change should have triggered a major version bump. also maybe grenade should be patched to handle the etcd upgrade | |
| 10:12:46 | bauzas | frickler: oh right, tooz is a library | |
| 10:13:07 | bauzas | don't judge me, it's Friday morning and I'm already tired :) | |
| 10:13:33 | bauzas | and yeah, looks to me it's a behavioural change | |
| 10:13:34 | frickler | I don't judge anyone on Friday's ;) | |
| 10:15:10 | bauzas | "* Note that this probably means a new minor version of tooz, while the behaviour can be worked around in config, this is enough to break existing systems on upgrade." | |
| 10:15:31 | bauzas | indeed it breaks | |
| 10:17:50 | bauzas | frickler: I'm tempted to require a u-c reverty | |
| 10:17:56 | bauzas | elodilles: ^ | |
| 10:18:50 | bauzas | elodilles: fwiw, our grenade skip level job is broken due to the new tooz releasee https://review.opendev.org/c/openstack/releases/+/899966 | |
| 10:20:34 | elodilles | reading | |
| 10:24:34 | bauzas | I just sent the usual 'hold your rechecks' email to the wolrd | |
| 10:26:07 | bauzas | frickler: I feel something is wrong with the tooz patch | |
| 10:26:33 | bauzas | if we want to have SLURP upgrades, we somehow need to keep a backwards compatible behaviour for a second | |
| 10:27:17 | bauzas | or we need to say 'this is a major breaking change' and only once we no longer support older releases that we want to pull it | |
| 10:31:28 | elodilles | bauzas: thanks for the mail o/ (maybe [oslo] team should have been in the subject, too) | |
| 10:31:40 | bauzas | yeah | |
| 10:32:22 | bauzas | well, oslo is free to deliver major versions of their libraries that break compatibility | |
| 10:32:41 | bauzas | but then they need to signal it correctly for the release team appropriately | |
| 10:33:13 | bauzas | elodilles: I tagged with [tooz] I get that filter is maybe too much restricted ? | |
| 10:33:25 | bauzas | (fwiw, I don't do tag filtering on my mailbox) | |
| 10:33:46 | bauzas | (and I hope oslo contributors to not do it as well) | |
| 10:36:38 | elodilles | yes, they probably see the mail with [tooz] tag as well | |
| 10:40:54 | bauzas | elodilles: https://review.opendev.org/c/openstack/requirements/+/901079 | |
| 10:42:40 | elodilles | +1 | |
| 10:43:19 | elodilles | (from release team perspective i'm still happy we are not finding this one week before the final release o:)) | |
| 10:44:31 | bauzas | all hail to the grenade-skip-level lord | |
| 10:44:53 | frickler | and to the "release at rc-1" policy | |
| 10:45:05 | frickler | eh milestone-1 | |
| 10:45:20 | elodilles | yepp \o/ | |
| 11:33:59 | opendevreview | Rajesh Tailor proposed openstack/nova master: trivial doc fix https://review.opendev.org/c/openstack/nova/+/901237 | |
| 11:34:01 | pas-ha[m] | re tooz/etcd - may I bring your attention to https://review.opendev.org/c/openstack/etcd3gw/+/887662 - this adds version autodiscovery to etcd3gw, once there, we could switch default version in tooz to 'auto', and everyone is happy, new tooz will be able to work with the same 'backend_url' with old and new etcd3 | |
| 11:39:03 | pas-ha[m] | this allows to upgrade the etcd and tooz-using components in whatever order w/o changing the configuration | |
| 12:57:25 | opendevreview | Merged openstack/nova master: Bump jsonschema minimum to 4.0.0 https://review.opendev.org/c/openstack/nova/+/850021 | |
| 13:33:19 | jangutter | pas-ha[m]: regarding version autodetect: https://lists.openstack.org/pipermail/openstack-discuss/2023-August/034704.html | |
| 13:35:17 | jangutter | pas-ha[m]: probing for a version also means you don't error on the case where you forgot to upgrade your etcd. | |
| 14:13:57 | bauzas | lemme get it straight | |
| 14:14:08 | bauzas | etcd changed its endpoint by a release | |
| 14:14:36 | bauzas | tooz accordingly changed to use the newer endpoint by a specific tooz release | |
| 14:15:18 | bauzas | given now, we upgrade tooz but not etcd, tooz talks the new way while it should talk to the other endpoint | |
| 14:15:32 | bauzas | amirite, jangutter pas-ha[m], frickler ? | |
| 14:17:57 | jangutter | bauzas: correct, it's also possible to override the endpoint away from the default, in cinder config. Both old and new tooz can work with old and new etcd if the endpoint is given explicitly. | |
| 14:18:02 | tkajinam | the problem is that tooz used to use v3beta which is hardcoded and users had to override it in case needed | |
| 14:18:53 | bauzas | jangutter: was cinder using the default, or was it specifically asking an endpoint? | |
| 14:19:03 | tkajinam | the problem here is that in stable/2023.1 we had old tooz using v1beta by default along with old etcd3 with v1beta. now we upgrade only tooz and the new version uses v1 by default. | |
| 14:19:15 | tkajinam | and because etcd3 is still old after upgrade v3 api is not available | |
| 14:20:13 | jangutter | https://opendev.org/openstack/devstack/commit/3a7a3cd8c5a5ac3f1655d6ff17974f8623fb3330 <--- before this, cinder was using default, after this cinder was asking explicitly for v3 | |
| 14:20:29 | bauzas | we shouldn't expect operators to upgrade their dependencies when upgrading | |
| 14:20:43 | tkajinam | we added api_version=/v3 in coordination url in devstack stable/2023.2, so if you first deploy cinder with stable/2023.1 coordination url does not contain api version | |
| 14:20:56 | opendevreview | John Garbutt proposed openstack/nova-specs master: Expose PCI device NUMA using PXB https://review.opendev.org/c/openstack/nova-specs/+/869416 | |
| 14:21:01 | tkajinam | and the same config value is carried over so tooz continue using the default which has been changed from stable/2023.1 to master | |
| 14:21:42 | jangutter | tkajinam: and it's worse, tooz was using v3alpha, not v3beta https://review.opendev.org/c/openstack/tooz/+/891355/6/tooz/drivers/etcd3gw.py | |
| 14:21:43 | bauzas | okay, but that's then a devstack config problem | |
| 14:21:55 | tkajinam | ah, yeah. I was wrong/ v1alpha | |
| 14:22:09 | bauzas | jangutter: why shouldn't we changing devstack now to use the default? | |
| 14:22:32 | tkajinam | bauzas, no we can't use default | |
| 14:22:36 | bauzas | that's still a breaking change and people would need to change their config when upgrading to Caracal | |
| 14:23:21 | jangutter | the only way config stays the same is if etcd and tooz is upgraded in lockstep. | |
| 14:23:24 | tkajinam | bauzas, the default in tooz stable/2023.1 is v3alpha, the default in tooz master is v3. Because we keep using old etcd without v3 during upgrade process we have to override api version to v3alpha to keep using v3alpha after upgrade | |
| 14:23:58 | jangutter | if etcd and tooz mismatches, the endpoint has to be specified. | |
| 14:24:31 | bauzas | shouldn't tooz be somehow a bit smarter and do a failback call if etcd isn't new enough ? | |
| 14:24:56 | tkajinam | that's what was proposed above by pas-ha[m] | |
| 14:25:02 | opendevreview | John Garbutt proposed openstack/nova-specs master: Add spec for PCI Groups https://review.opendev.org/c/openstack/nova-specs/+/899719 | |
| 14:25:57 | bauzas | what I'm afraid is that operators doing upgrades would face that problem too, right? | |
| 14:26:24 | bauzas | if we start tweaking devstack, there is surely an impact for regular ops that don't deploy with it :) | |
| 14:26:43 | jangutter | that's technically down to etcd3gw backend... and etcd doesn't have a nice version discovery, so, it's the try-different-versions method. | |
| 14:26:45 | bauzas | this means they have to change some config on the fly during upgrades | |
| 14:26:57 | tkajinam | well, we did document the upgrade impact to suggest setting api version in case old api version should be used. | |
| 14:27:08 | bauzas | jangutter: I'm personnally fine with a try/catch clause | |
| 14:27:19 | tkajinam | but what we are learning here is that just documentation may kill some people. | |
| 14:27:23 | tkajinam | including us | |
| 14:27:28 | bauzas | oh yeah | |
| 14:27:47 | tkajinam | https://review.opendev.org/c/openstack/tooz/+/891355/6/releasenotes/notes/etcd-3.4-eee8300c942a1263.yaml | |
| 14:28:00 | bauzas | if you really do breaking upgrades, my personal recommandation is to provide tools that people can consume for checking their states and whether they'll break | |
| 14:28:05 | jangutter | yep, the release notes are the last resort :-/ | |
| 14:28:34 | bauzas | tkajinam: we, in nova, create the nova-status upgrade command for that exact reason | |
| 14:28:40 | bauzas | created* | |
| 14:29:04 | bauzas | because even if we spoil the breaking changes in our relnotes, people may be impacted and miss the point | |
| 14:29:37 | bauzas | anyway, I'm not saying tooz shall do a tooz-status upgrade commande | |