Friday, 2021-11-12

arne_wiebalckGood morning, Ironic?07:46
iurygregorygood morning arne_wiebalck and Ironic o/07:55
arne_wiebalckgood morning iurygregory o/07:57
* arne_wiebalck was cut off yesterday :)07:58
iurygregorywhy?07:59
arne_wiebalckirccloud issues07:59
iurygregoryouch08:00
arne_wiebalckand meetings :-D08:00
iurygregoryI hope you don't have meetings today :D08:02
iurygregorybecause TGIF!08:02
arne_wiebalckheh, only one08:06
arne_wiebalckyesterday I tried redfish on a node for cleaning08:07
arne_wiebalckit failed, so I may need your help08:07
arne_wiebalckwhen setting the boot source Ironic got https://paste.opendev.org/show/810963/08:09
arne_wiebalckI tried with curl, same issue, until I explicitly set the header with '--header 'If-None-Match: ""'08:10
arne_wiebalckknown issue?08:10
iurygregorylet me check08:23
iurygregoryarne_wiebalck, I never saw this error before tbh what type of server ? maybe a FW issue?08:24
arne_wiebalckiurygregory: looks more like the server requires the req to be in a certain format08:28
arne_wiebalckiurygregory: so, the req Ironic sends is not compatible/accepted08:29
iurygregoryarne_wiebalck, we saw some interesting things like this but not this one :D08:29
arne_wiebalckiurygregory: could totally be the implementation08:29
iurygregorylike for supermicro 08:29
iurygregoryprobably their implementation is wrong and we need to find a workaround..08:30
arne_wiebalckwe will need to see if it is wrong or just using sth Ironic is not expecting08:39
arne_wiebalckmaybe dtantsur or mraineri ran into this and have suggestions?08:54
arne_wiebalckyeah, seems like Ironic is missing sth, see the chapter 6.5 on etags in the redfish spec: if the service provides an etag, an if-(none-)match needs to be part of the header08:59
jandersgood morning Ironic, Happy Friday o/09:31
iurygregoryarne_wiebalck, oh interesting, so maybe we need something in sushy/ironic to handle this =)09:37
iurygregoryhey janders o/09:37
arne_wiebalckhey janders o/09:37
arne_wiebalckiurygregory: yeah, probably ... would be good to get a better understanding to define the next steps 09:38
iurygregoryarne_wiebalck, agree, I know some machines have etag but I never saw this happening... maybe we forgot to backport something? which version of ironic you are using?09:39
arne_wiebalckthis is on victoria09:39
dtantsurFriday \o/09:40
iurygregorydtantsur, \o/09:40
dtantsurarne_wiebalck: yet another creative redfish implementation..09:41
arne_wiebalckdtantsur: yeah, that is what I think09:41
dtantsuriurygregory: we have basically no etag support yet09:41
dtantsurarne_wiebalck: what's the hardware vendor/model?09:42
arne_wiebalckdtantsur: this is a Gigabyte server09:42
iurygregoryyeah, but the thing is that some machines we use does have etag information and we never saw this.. :D09:42
dtantsurbecause nobody in their right mind would make etags mandatory09:42
iurygregory++09:42
dtantsurI guess we can start with a quick workaround, we already use etags in one place09:43
iurygregorywe have checks for etag in vmedia09:44
dtantsurhttps://opendev.org/openstack/sushy/src/branch/master/sushy/resources/manager/virtual_media.py#L153-L15509:44
arne_wiebalckwouldn't an empty if header be a work-around?09:44
iurygregoryyeah09:44
dtantsurarne_wiebalck: I'd be concerned with using anything too creative09:44
dtantsurI think we can do it properly, see the link09:44
arne_wiebalckdtantsur: ++09:44
iurygregorythe yeah was about the link dtantsur pasted :D (I was about to paste the same hehe)09:44
dtantsur:)09:45
dtantsurI guess we should update all PATCH implementations to do this (and hope that nothing breaks)09:45
dtantsurwell, ideally, we need to support retries when etag no longer matches...09:45
arne_wiebalckdtantsur: maybe I am not getting how it is supposed to work, but if we retry when the etag does not match, isn't that the same as ignoring the etag?09:48
* arne_wiebalck is completely new to etags :)09:48
dtantsurwell, the idea is that you refresh your local copy, see if the change still applies and retry09:48
arne_wiebalckdtantsur: I agree, though, using the etag on patch would be a good first step09:49
arne_wiebalckdtantsur: I see09:49
* arne_wiebalck is happy to try patches :-D09:50
arne_wiebalckanother thing I was wondering if this would have been caught by the interop profiles rpioso09:50
iurygregorysince this is something that redfish allows I think it should..10:09
iurygregoryif this information is in the redfish spec I mean =)10:10
arne_wiebalckiurygregory, what I meant was: the interop profiles are intended to make sure Ironic can interact with an endpoint; in this case it seems the endpoint is redfish compliant, but Ironic fails to talk to it, so I wonder if the profiles we have/are preparing would flag an issue if run against this hardware10:28
iurygregorythe profile is able to detect that the model will use patch? if yes it should fail 10:29
arne_wiebalckisn't Ironic using patch to update the boot target?10:33
iurygregoryoh my mind was in vmedia workflow :D 10:34
opendevreviewVerification of a change to openstack/ironic master failed: [iRMC] Convert the type of irmc_port to int  https://review.opendev.org/c/openstack/ironic/+/81715411:22
janderssee you next week Ironic o/12:51
jandershave a great weekend everyone12:51
dtantsursee you janders 12:52
iurygregorybye janders o/13:08
dtantsurTheJulia: morning, I'm attempting a reincarnation of your old idea: https://storyboard.openstack.org/#!/story/200967613:41
TheJuliabraaaaiiins13:48
TheJuliadtantsur: sounds good to me13:49
TheJuliaand sounds like the fastest path for single process13:49
TheJuliagiven locking13:49
TheJuliaI *seem* to think the poc patch I had worked aroudn the eventlet nightmare13:50
TheJuliafwiw, if you can find it13:50
dtantsuryep, found it already13:51
TheJulia\o/13:52
TheJuliaokay13:52
TheJuliawhere was my brain yesterday13:52
TheJuliahalf in the land of nova-compute13:52
TheJuliaand ussuri/train ci13:52
TheJuliaPAIN13:52
TheJuliadtantsur: iurygregory: any opinions on killing all builds of tinycore on for ussuri/train?13:55
TheJuliatl;dr, can't build the images anymore, qemu.org has a new ssl cert as of ?Oct 25? which is not recognized as valid13:55
dtantsursweeet13:56
TheJuliaand there is no way for us to patch that code13:56
TheJuliabecause it was never branched then13:56
dtantsurcan we just kill support for ussuri?13:56
TheJuliaand infra has flat out rejected it13:56
TheJuliaI still need to be able to get patches down to train13:56
TheJuliaOR I could only carry patches downstream and we could abandon upstream's train branch13:56
TheJuliaabandon13:57
TheJuliaI guess worth discussing next week14:05
TheJuliasince my only option is to excise tinyipa from ussuri/train branches at this point14:05
dtantsurI'm still for allowing to remove branches in-between14:06
dtantsurJFYI14:06
TheJuliaWell, I'd be cool with that14:06
TheJulialess to backport/support14:06
TheJuliaand I could still excise tinyipa from train on the repos14:07
TheJuliaAdded to next week's agenda14:09
TheJuliaso my nova patches of great evily goodness *seem* to work, at least in what I can reproduce in CI14:09
dtantsurgreat evily goodness sounds awesome :)14:10
TheJuliaThey explicitly update instance.host and compute_node.host, which should prevent orphaning of instances and compute nodes getting dropped14:10
TheJuliaas the hash ring rebalances *insert evil laugh here*14:10
TheJuliaOf course, the downside to this is I've got checks for "wait, this is inconsistent, hold off! We're going to rebalance again! checks.14:11
* TheJulia ponders breakfast14:14
dtantsurfood++14:14
TheJuliaThere is a chance I may not be around during the meeting on Monday. It is a travel day for me to get home since we're leaving first thing tomorrow morning and breaking everything in to ~5 hour drives14:16
dtantsurack14:18
dtantsursafe travels!14:18
TheJuliaThanks! It is the beginning of "windy" season, but the forecasts all look good14:19
* TheJulia goes and finds breakfast14:20
iurygregoryTheJulia, let me read all the conversation (I went out for my 1:1 and I just got back :D )15:13
iurygregoryTheJulia, ++ to kill (we do have some dib jobs in ussuri train right?) so we would be fine I guess 15:20
TheJuliayeah, we do have some dib jobs15:21
TheJuliajust I'm going to have to change metalsmith, ironic, ipa, and ipa-b jobs15:21
TheJuliawhich is not a big deal15:21
TheJuliabut still15:21
iurygregoryI can help with that =)15:22
iurygregoryso we are totally broken in ussuri train right?15:22
TheJuliaWell, I put it on the agenda for next week15:22
TheJuliayeah, we are15:22
TheJuliaI already set downstream expectation that it will likely take a week or two to get back to a working train branch15:22
TheJuliawhich would largely just be switching the jobs over at this point15:23
TheJuliaThe intertubes hate me today... 1.5 hours expected to download a file15:24
TheJulia7-8kb/sec sustained15:25
TheJuliaerr, up to 10!15:25
iurygregoryomg =(15:40
TheJuliaNobodyCam: launchpad bug 185300916:04
TheJulia... as well.16:04
TheJuliabreakfast was a bad idea16:21
dtantsurhow so? :(16:22
TheJuliait is very much not settling16:23
dtantsuroh16:24
* arne_wiebalck just watched htop for an Ironic driven CPU burn-in on a 256-core machine :-D16:37
* arne_wiebalck needs a bigger screen16:38
opendevreviewDmitry Tantsur proposed openstack/sushy master: Support for creating and deleting virtual media TLS certificates  https://review.opendev.org/c/openstack/sushy/+/81779216:44
arne_wiebalckdtantsur: for the etag issue, I would think that either patch() checks the resource for it and adds the header; another approach would be to pass the header in for each patch() call after checking for an etag16:55
opendevreviewDmitry Tantsur proposed openstack/sushy-tools master: CertificateService: implement CertificateLocations  https://review.opendev.org/c/openstack/sushy-tools/+/81755916:55
arne_wiebalckthe former looks cleaner, the latter easier 16:55
dtantsurarne_wiebalck: the latter is what we do for virtual media, right?16:55
arne_wiebalckdtantsur: yes, exactly16:55
arne_wiebalckdtantsur: it would avoid to change the interface to patch()16:56
dtantsurI assume we already have a way to pass headers?16:56
arne_wiebalckdtantsur: yes16:56
arne_wiebalckdtantsur: it is part of patch()`s innterface16:56
arne_wiebalck*interface16:56
dtantsurarne_wiebalck: I don't think it should be done inside the generic patch() call because it does not necessarily know if the request is still valid (and thus can be retried)16:56
arne_wiebalckdtantsur: ok16:56
arne_wiebalckdtantsur: using a wildcard unblocks Ironic in my testing (not a solution, I just wanted to see if that works)16:58
dtantsurokay, good to know16:58
arne_wiebalckdtantsur: I will try passing the etag next16:58
arne_wiebalckwhere next is probably next week :)16:59
dtantsurmakes sense :)17:04
arne_wiebalckbye everyone o/17:41
dtantsurhave a nice weekend folks o/18:03
*** Guest5508 is now known as melwitt19:26
*** melwitt is now known as Guest571619:27
*** Guest5716 is now known as melwitt19:32
*** melwitt is now known as jgwentworth19:34
*** outbrito_ is now known as outbrito19:42

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