Wednesday, 2022-07-27

stevebaker[m]bleh, now sushy-tools-tempest-uefi-redfish-vmedia is failing01:00
opendevreviewMerged openstack/metalsmith stable/xena: Do a precise node lookup for unprovision  https://review.opendev.org/c/openstack/metalsmith/+/84958501:45
ajyaGood morning, sushy-tempest-uefi-redfish-vmedia and sushy-tools-tempest-uefi-redfish-vmedia started to fail yesterday. Should that be related to werkzeug change or is it smth else?06:33
rpittaugood morning ironic! o/06:35
rpittauajya: I think it's the werkzeug change, the route redirect does not work anymore and it breaks virtualmedia06:36
ajyaok, I'll do a recheck on one of my patches06:36
ajya..or does it need sushy-tools release first/is it building from source?06:38
rpittausomeone already open an issue https://github.com/pallets/werkzeug/issues/247106:38
opendevreviewRiccardo Pittau proposed openstack/sushy-tools master: [DNM] test werkzeug 2.2 routing change  https://review.opendev.org/c/openstack/sushy-tools/+/85116207:16
opendevreviewJakub Jelinek proposed openstack/ironic-python-agent master: WIP: Enable skipping disks for cleaning  https://review.opendev.org/c/openstack/ironic-python-agent/+/85086107:17
*** undefined is now known as Guest617608:19
opendevreviewMerged openstack/sushy stable/wallaby: Handle AccessError with Basic Auth instead of "reauth"  https://review.opendev.org/c/openstack/sushy/+/85106108:32
opendevreviewMerged openstack/sushy stable/yoga: Handle AccessError with Basic Auth instead of "reauth"  https://review.opendev.org/c/openstack/sushy/+/85105908:32
opendevreviewMerged openstack/sushy stable/xena: Handle AccessError with Basic Auth instead of "reauth"  https://review.opendev.org/c/openstack/sushy/+/85106008:32
rpittaudtantsur, TheJulia the redirect just seems to not work anymore, see the url change here https://review.opendev.org/c/openstack/sushy-tools/+/85116208:40
rpittauthere's an issue open against werkzeug 2.2.0 https://github.com/pallets/werkzeug/issues/2471 and getting more reports08:40
*** undefined is now known as Guest617809:23
dtantsurrpittau: lovely.. but the DNM patch seems to pass, maybe it's our immediate workaround?09:48
rpittaudtantsur: yeah, not sure you checked the issue but apparently the precedent behavior was not correct, I'm trying to move the discussion forward09:53
rpittauanyway, I'll complete the patch and remove the DNM09:53
dtantsur++10:00
dtantsurTheJulia, JayF, I remember some talks about no-heartbeat mode for IPA. Has it moved anywhere?10:01
opendevreviewRiccardo Pittau proposed openstack/sushy-tools master: Fix for werkzeug 2.2 routing change  https://review.opendev.org/c/openstack/sushy-tools/+/85116210:01
iurygregorygood morning Ironic11:30
rpittauhey iurygregory :)11:36
TheJuliadtantsur: I don't really remember13:02
ajyaHi, any 2nd core can spare some time on these backports - https://review.opendev.org/c/openstack/ironic/+/848358 https://review.opendev.org/c/openstack/ironic/+/850356 thanks13:46
TheJuliaajya: approved the first one, the second one needs a different core14:04
yoctozeptomorning14:04
TheJuliagood morning yoctozepto 14:04
yoctozeptoany idea what have changed recently in ironic that we are now seeing 404 from `openstack baremetal introspection rule list`14:04
yoctozeptogood morning TheJulia 14:05
TheJuliayoctozepto: so... what version of flask do you have?14:05
yoctozeptoTheJulia: the one from upper-constraints, let me check...14:05
yoctozepto2.1.314:05
TheJuliahmm14:06
yoctozeptoI will verify the versions inside the image though14:06
TheJuliacould you try 2.1.2 real quick?14:07
yoctozeptoTheJulia: "real quick" no but can try in general14:09
TheJuliaI suspect https://github.com/pallets/flask/pull/4610/files which dropped in 2.1.3 has broken us14:10
TheJuliain multiple locations :(14:10
yoctozeptough :-(14:11
TheJuliayup, inspector is very broken it looks like14:16
yoctozeptook, the previously working images had 2.1.2 so I guess no need to split the hair14:17
yoctozeptothanks TheJulia 14:17
yoctozeptobtw, what's your plan now? blacklist the new version or fix the inspector?14:18
yoctozeptos/fix/adapt14:18
yoctozeptowell, fix by adapting14:18
yoctozeptoor whatever :D14:18
TheJuliadunno yet14:18
TheJuliathe conundrum basically is that I *think* the patch might be in the right for flask14:19
yoctozeptoack14:19
TheJuliaso blacklist and fix and then unblacklist is likely the only route14:20
yoctozeptoack, please keep me in the loop if possible14:22
dtantsurcould we put a cap to global-requirements until we can fix it?14:24
dtantsurmm, I guess blacklist was about the same14:24
TheJuliayeah14:25
TheJuliabasically the same, effectively14:25
TheJulianot what any of us needed right now14:25
dtantsurle sigh14:25
TheJuliaI'm creating an item in storyboard14:25
TheJuliasushy-tools is also straight flask right?14:26
dtantsuryeah, although a different issue?14:27
dtantsurI think rpittau mentioned 2.2.0 changing the URL handling14:27
TheJuliawell. 2.2.0 has not dropped yet14:27
TheJuliaat least on pypi14:27
dtantsurahhhh was werkzeug14:29
dtantsurso it may not be jinja itself14:29
dtantsuryoctozepto: check the werkzeug versions as well14:30
TheJuliaahh, yeah14:30
TheJuliajust found it14:30
yoctozeptoWerkzeug-2.2.014:30
* TheJulia tries downgrading14:31
yoctozeptoworking Werkzeug-2.1.214:31
TheJuliadowngraded to 2.1.2 and unit tests pass14:31
TheJuliaso it is, indeed, Werkzeug14:31
TheJuliahttps://github.com/pallets/werkzeug/pull/2433/files feels like it likely should have dropped as Werkzeug 3...14:34
TheJuliaso, ironic-inspector, sushy-tools. What else?14:37
TheJuliaIPA is fine, fwiw14:37
yoctozeptosweet mother of commits14:37
TheJuliayoctozepto: heh, started reading that one did you?14:40
yoctozeptoTheJulia: looked at the +/- stat, it's a rewrite of a core part14:40
TheJuliaand it appears to be in the default logic path14:42
TheJulianot that I know it's internal path very well14:42
yoctozeptohttps://github.com/pallets/werkzeug/issues/247114:45
yoctozeptoprecisely rpittau there14:45
TheJuliayup14:53
* TheJulia suspects, based upon maintainer's reply, that we're going to have to chagne our code14:53
TheJuliayeah, originating with the new request router14:55
dtantsurand we'll need to figure out the way to make it compatible with both versions.. sigh14:57
rpittausushy-tools should be fixed by https://review.opendev.org/c/openstack/sushy-tools/+/85116214:57
TheJuliayup....14:57
rpittauand yeah we'll ahve to change our code14:57
dtantsurrpittau: do we need to bump the requirement or will it work with the old version as well?14:57
TheJuliaThat doesn't seem horrible, actually14:58
TheJuliaIf that requires the new request router, given the decorator, I'm not sure it is "easy"... short of a version aware meta-decorator14:58
ajyathanks, TheJulia , rloo 14:59
rlooyw :)14:59
rpittaudtantsur: mmm it hosuld work with the older version, version 2.2.0 just enforces the strict_slashes rule if I understood correctly15:00
* TheJulia gives it a spin15:01
rpittauunit tests are ok15:01
TheJuliawith 2.1.2?15:01
rpittauyep15:01
rpittauand 2.2.015:01
TheJuliaokay, that was what I was about to do15:01
rpittauah ok15:01
TheJuliaOkay, then I can go just fix the routing in inspector15:01
TheJuliado we need to assert a minimum?15:01
TheJuliaa.. reasonable... minimum?15:02
rpittauTheJulia: for Werkzeug ?15:03
TheJuliayeah15:06
TheJuliahmmmm15:06
TheJuliawe have our own decorator and we're invoking flask15:07
TheJuliawell... All but one test fixed :)15:08
*** Guest6178 is now known as rcastillo15:11
rpittauprobably best stay at elast at version 2.015:14
rpittaubut it's also Flask that drives that15:15
rpittauwhen we use it15:15
TheJulialooks like just stripping off the trailing slash fixes almost everything unit test wise15:19
rpittauyep15:20
TheJuliaconundrum is the /<version> route15:20
TheJuliathere is no /v2..15:20
JayFdtantsur: I implemented it downstream for Yahoo. It was awful, and not of the quality to be upstreamed. I couldn't determine a way to do it reasonably upstream.15:22
JayFdtantsur: not at least in the timebox I had15:22
JayFdtantsur: literally just stashing huge json dicts in the node object and parsing them out; it only worked there because we didn't have extensive clean/deploy steps15:23
rpittauneed to split, see ya tomorrow! o/15:24
dtantsurJayF: oh, I see..15:36
JayFdtantsur: iirc the flow was: agent heartbeats, the heartbeat endpoint in conductor would check to see if there was a stored pending response, else it would do normal-heartbeat-things async as usual, but instead of calling back, it stored the result to feed back to the client on next heartbeat15:37
JayFso each step took an extra heartbeat in most cases15:38
dtantsurhmm, that's actually the opposite direction from the one that interests me :)15:38
JayFYeah, sync heartbeats would be the way to do it upstream15:38
dtantsurI'm interested in resilience to Ironic moving around without doing a proper HA with HAProxy and stuff15:39
JayFare you saying you want IPA-polling-only vs Ironic-api-calling-only?15:39
JayFI remember when TheJulia and I talked about this originally, hell this might even be in the spec; I wanted it to be a 4 way option: bidirectional, poll-only, no-poll, automatic15:40
dtantsurone of the ideas we're considering is to get rid of heartbeats15:40
JayFI don't connect the dots there as to how that gets you where you're going15:40
dtantsur(it's not our favourite idea, just not discarding anything)15:40
JayFI guess I'm trying to say15:40
JayFget rid of heartbeats isn't an idea; the idea is what we'd use in its place :D 15:41
dtantsurIronic calling the agent periodically15:41
dtantsur(the load on conductors, I know)15:41
JayFYou're basically going back towards an iscsi driver style scaling model like that15:41
JayFbecause you take the load on that has been distributed across all the nodes15:42
dtantsurnot fully, but somewhat, yeah15:42
JayFmaybe not quite as extreme, but it'd have a big hurt on scalability15:42
dtantsuryup15:42
TheJuliaIdeally, we support both ways15:42
JayFI also think we have to consider ... yes15:42
dtantsurJFYI our to-go idea right now is to install a small proxy on all masters15:42
dtantsur(we could also go full HA, but we're a bit under time pressure)15:43
TheJuliaWell, I have a different unit test failing now :(15:43
dtantsurnow it fails differently \o/15:43
TheJuliaokay, doubling up the routes seems to be the magic15:45
opendevreviewMerged openstack/ironic stable/wallaby: Fix redfish RAID failed tasks  https://review.opendev.org/c/openstack/ironic/+/84835815:50
opendevreviewJulia Kreger proposed openstack/ironic-inspector master: Fix Werkzeug 2.2.0 compatability  https://review.opendev.org/c/openstack/ironic-inspector/+/85123815:57
TheJuliaironic-cores ^15:58
opendevreviewMerged openstack/ironic stable/xena: Fix Redfish RAID to update raid_config  https://review.opendev.org/c/openstack/ironic/+/85035616:14
opendevreviewVerification of a change to openstack/ironic bugfix/19.0 failed: Fix redfish RAID failed tasks  https://review.opendev.org/c/openstack/ironic/+/84859216:15
opendevreviewMerged openstack/sushy-tools master: Fix for werkzeug 2.2 routing change  https://review.opendev.org/c/openstack/sushy-tools/+/85116217:36
TheJuliaiurygregory: we can single core approve to fix gates, if you want on that inspector patch17:43
iurygregoryTheJulia, I was planing to do that (was waiting to see if other cores would show up ^^)17:47
TheJuliaahh yeah17:47
TheJuliamakes sense17:47
iurygregorynow I'm trying to figure out how to fix this issue downstream :D 17:49
iurygregorywe already install a specific version of sushy-tools, so we probably need to pin the werkzeug version to be installed on it17:50
TheJulialikely yeah17:53
iurygregorygoing to request a new release for sushy-tools just in case since we already have a fix 18:01
iurygregoryoh we dropped the support for py36 :D 18:07
iurygregorysushy-tools 0.20.0 \o/18:08
ashinclouds[m]Cool cool18:23
opendevreviewMerged openstack/ironic-inspector master: Fix Werkzeug 2.2.0 compatability  https://review.opendev.org/c/openstack/ironic-inspector/+/85123819:17
stevebaker[m]morning20:38

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