Wednesday, 2023-04-26

opendevreviewJulia Kreger proposed openstack/sushy master: Retry on ilo state error  https://review.opendev.org/c/openstack/sushy/+/88054201:19
rpittaugood morning ironic! o/07:48
rpittauok, we have yet another problem......08:51
rpittaupyasn1 update to version 0.5.0 breaks pysnmp compatibility, which for a very sad reason is not maintained since 4 years08:51
rpittauwe should probbaly move to pysnmplib https://github.com/pysnmp/pysnmp but I guess that needs to be added to openstack requirements08:51
rpittauI'm getting ahead and working on adding pysnmplib to openstack requirements09:01
rpittauthen need to see to update the requirements of our projects from pysnmp to pysnmplib09:01
rpittauif we agree on this of course, but I don't see a lot of alternatives here09:01
opendevreviewRiccardo Pittau proposed openstack/virtualpdu master: Migrate to pysnmplib  https://review.opendev.org/c/openstack/virtualpdu/+/88153809:05
rpittauthis is the requirements change https://review.opendev.org/c/openstack/requirements/+/88153909:08
opendevreviewRiccardo Pittau proposed openstack/virtualpdu master: Migrate to pysnmplib  https://review.opendev.org/c/openstack/virtualpdu/+/88153809:08
dtantsurrpittau: can we make the snmp job non-voting for the time being?09:10
dtantsurrpittau: we'll probably get into a similar problem with the SNMP driver09:11
rpittauThe problem is that we have a lot of unit tests depending on pysnmp that fail because of the recent pyasn1 update09:22
dtantsurrpittau: sign. so we need to do EVERYTHING in a lock-step?09:37
rpittauYeah.... We could temporarily ask to revert pyasn1 upper constraints to 0.4.8, but that's just postponing the actual fix :/09:39
opendevreviewVanou Ishii proposed openstack/ironic master: [iRMC] Fix parse_driver_info bug enforcing SNMP v3 under FIPS mode  https://review.opendev.org/c/openstack/ironic/+/88135810:41
iurygregorymorning ironic11:22
iurygregoryoh jesus regarding pyasn111:24
rpittauwe probably need to revert to  4.8.0 temporarily anyway because of https://github.com/pyasn1/pyasn1/issues/2812:27
rpittauor hope for a quick 5.0.112:27
rpittauehm12:27
rpittauthat wuold be 0.4.8 and 0.5.112:27
dtantsur\o/12:27
dtantsurin any case, we need to exclude the broken combination from the requirements12:28
rpittauyeah, with pysnmplib at least we should be ok on the snmp side, then we need a new pyasn1 release12:29
rpittaummmm actually nope, the issue is not fixed there :/12:38
rpittaugoing to ask now to pin pyasn1 version to 0.4.812:39
opendevreviewRiccardo Pittau proposed openstack/virtualpdu master: Migrate to pysnmplib  https://review.opendev.org/c/openstack/virtualpdu/+/88153812:44
opendevreviewRiccardo Pittau proposed openstack/ironic master: Use jammy for base jobs  https://review.opendev.org/c/openstack/ironic/+/86905212:49
rpittau^ disabling snmp job here to make CI pass until we have pyasn1 0.4.8 again or a fix12:50
rpittauI've requested to revert pyasn1 update https://review.opendev.org/c/openstack/requirements/+/88155613:01
rpittaupysnmlib and pyasn1 0.4.8 seem to work fine together, at least in https://review.opendev.org/c/openstack/virtualpdu/+/88153813:18
TheJuliaugh, pysnmplib looks like the splunk fork13:38
rpittauTheJulia: not sure we have an alternative :/13:43
TheJuliaI'm kind of hoping ?lexito? gets control of the pysnmp namespace, but given the lack of reply... dunno14:01
TheJuliawell, s/namespace/packages and related packages/14:02
rpittaulextudio?14:02
TheJuliaI think14:02
TheJuliaI'm still waking up14:02
rpittauyeah that is actually an alternative :D14:02
rpittauand a good one14:02
iurygregorydtantsur, regarding https://review.opendev.org/c/openstack/ironic-specs/+/878505/9/specs/approved/firmware-interface.rst, basically you mean that each implementation can define if it will be in-band out-of-band or I'm wrong?14:03
TheJuliahttps://pypi.org/user/lextm14:05
rpittauyep14:06
rpittauI wonder if we could move to its release of pyasn114:06
TheJuliaI really admire their passion, I wouldn't have said something on the pypi pep 541 request otherwise14:06
rpittaummmm probably not, pyasn1 is still a requirement for that14:07
TheJuliaso your just focused on virtualpdu right?14:08
rpittauthat and all snmp at this point14:08
TheJuliaso in both proliantutils and the irmc driver?14:09
rpittauanywhere we use pysnmp, yeah14:09
TheJuliayeah :(14:09
rpittaubtw this is green now, good sign https://review.opendev.org/c/openstack/virtualpdu/+/881538 14:09
TheJuliaThat is, just not a real fan of using the splunk fork... although there seems to be some lost in translation happening in the back and forth posts14:10
rpittauif you'd rather go for pysnmp-lextudio I don't really have anything against it, I chose pysnmplib because it's the one I was following, but the other choice looks as good14:13
TheJuliaWe should likely rope in vanou and also try to reach out to stendulker14:14
TheJuliabecause we should determine the forward path in unison14:14
TheJulia... as we don't want namespace conflicts with packages14:14
rpittauright14:15
rpittauI blocked the change in requirements for the time being, if we at least downgrade pyasn1 we should be fine for the time being14:18
* TheJulia nods14:18
dtantsuriurygregory: more of: we have a common in-band implementation  that is shared by all implementations14:22
dtantsurso, 'agent' firmware_interface similar to 'agent' RAID which only does in-band (we'll need to settle on IPA-level APIs for that)14:22
dtantsurbut then, 'redfish' firmware_interface eventually also supports going to the agent14:23
dtantsurunless we want to start doing interface composition :D14:23
* TheJulia is worried we need an Aeva to appear with whiskey14:24
TheJulia:)14:24
rpittaulol14:25
* iurygregory reading 14:25
rpittauTheJulia: I just did a test with lextudio pysnmp and pyasn1, it works just fine, so I think my vote at the moment goes to lextudio implementation14:26
dtantsurTheJulia: great idea :)14:26
iurygregorydtantsur, let me see if I understood, with the firmware_interface we would implement "AgentFirmware" that would be similar to the "AgentRAID" (only does in-band) this part I think its clear for me14:29
TheJuliasounds correct to me14:30
iurygregoryI'm trying to understand the redfish firmware_interface supporting going to the agent...14:30
iurygregory<thinking face>14:30
TheJuliaso....14:30
TheJuliawell14:30
TheJuliashoot14:30
TheJuliaThe underlying challenge is what if you need both14:31
TheJuliaand maybe that is the rare 10% as opposed to the 90%14:31
TheJuliawell, maybe more like 2%14:31
TheJuliaagent firmware application could still be wired up through deploy though...14:32
TheJuliafeels awful but if someone has the steps and needs to do a one off action, they likely need to do deploy time anyway as a manual action14:32
TheJuliaor automated via template action14:32
opendevreviewJulia Kreger proposed openstack/ironic master: Remove use of nomodeset by default  https://review.opendev.org/c/openstack/ironic/+/88157614:37
TheJuliaif anyone has any questions w/r/t ^ lmk14:37
iurygregoryif the operator wants to run firmware upgrade for one component via in-band and other component via oob, wouldn't it just be a logic in the implementation of redfish firmware interface? like we receive the steps, we can have a flag that would make we call the AgentFirmware ...14:37
zigoHi there! How experimental is the split ironic-inspector-api / conductor ? Can I try it ? (I'm running under Zed)14:37
zigoIf I understand well, I have the choice between: ironic-inspector non-wsgi thing, which includes both api + conductor, or run the api over let's say uwsgi + conductor on a separate service, right?14:38
dtantsurzigo: keeping in mind that we're working on merging inspector into ironic, I think RH OSP folks are using that.14:38
TheJuliaiurygregory: I mean, maybe that also makes sense as well/?14:38
TheJulia.. I think we still do single process. I think14:38
TheJuliaI've known a few people mention splitting it, but it just adds complexity which many don't need14:39
dtantsurTheJulia, iurygregory, given the list of components, an implementation (say, redfish) can know if the steps are out-of-band (they're in the code) or in-band14:39
zigoTheJulia: I probably do if I want to use uwsgi as a front-end (also for doing the SSL termination).14:39
TheJuliadtantsur: seems reasonable which is basically what jury was kind of raising14:39
dtantsuryeah14:41
TheJuliazigo: I think that was one of the benefit cases, I guess the question becomes how much traffic is a driver of if it makes sense or not otherwise, but offloading ssl makes sense, I just think you'd be an outlier user of it that way. Not a bad thing, just... you may encounter unexpected things. Granted the code path is basically the same *either* way so I wouldn't really be *too* worried14:41
dtantsurzigo: the bifrost approach probably won't work for a proper OpenStack cloud, but we make inspector and ironic listen on a unix socket, with nginx providing TCP+TLS14:42
TheJuliai.e. if it starts and basically functions, I wouldn't be worried about other things suddenly being horribly broken14:42
zigoTheJulia: Thanks. FYI, I'll at least try that path first.14:42
zigodtantsur: I use haproxy + corosync/pacemaker doing a VIP in front to do the user-side front-end, though I do re-encryption to each individual service using an internal cluster PKI, and then I make uwsgi handle that ...14:43
dtantsurfancy! this is very far from my standalone world :)14:44
zigoIt's best if I can use uwsgi, if not, I can fallback to having haproxy in each API node to do the internal PKI decryption, like I did for glance...14:44
zigoAnyways, will try the conductor + api in separate process way, and see how it leads me! :)14:45
iurygregorydtantsur, TheJulia ok, so I think I just need to update https://review.opendev.org/c/openstack/ironic-specs/+/878505/9/specs/approved/firmware-interface.rst  removing "Initially we will only support Redfish and updates via OOB." and maybe mentioning the "AgentFirmware" implementation? 14:50
dtantsuriurygregory: if you go down this path, you will also need to specify the agent-side API. Which is going to increase the scope of the spec, but I assume JayF would prefer to see the whole scope there?14:51
iurygregoryoh right14:51
JayFI want us to make sure a path exists to an in-band implementation. I am 100% OK with not solidifying that path.14:51
dtantsurah14:52
JayFI just noticed we haven't done an agent-based interface on something this complex before (like I mentioned, we punted on bios interface in-band)14:52
dtantsuriurygregory: then I think you okay if you provide a high-level idea and omit any details14:52
iurygregoryok14:52
iurygregorywill do that in my afternoon today14:52
zigoTheJulia: If I understand correctly, standalone=True means separated API + conductor daemons, right?14:55
zigoAh, no, opposite way.14:57
zigostandalone=False means separated API + conductor daemons, right?14:57
TheJuliazigo: .... I'm not entirely sure, ... I thought we did separate launch binaries15:09
TheJuliawell15:09
TheJuliascripts15:09
TheJuliayes, ironic-inspector-conductor is the conductor process15:10
TheJuliaI guess that option is if ironic-inspector is its own api surface15:11
TheJuliaif you don't use wsgi15:11
TheJuliaerr15:11
TheJuliahmmmmmmm15:11
TheJuliaso, that appears to be a single process binary launcher15:12
TheJuliaif true, it uses rpc15:12
TheJuliaokay, false == split process15:13
TheJuliaironic-inspector-conductor will not run without it being set to False15:13
NobodyCamGood Morning Ironic Folks15:20
NobodyCamsafe to recheck now?15:21
zigoYeah, saw the binaries, no worries. Though when I launch the api-wsgi, it complains about standalone=False not being set ...15:26
zigoSo...15:26
zigoI know what I have to do ... tomorrow ! :)15:26
TheJuliazigo: which aligns with the ironic-inspector-conductor15:26
zigo(going back home)15:26
TheJuliazigo: have a wonderful evening!15:26
zigoHave a nice one too!15:26
TheJuliaNobodyCam: no idea yet15:28
rpittauNobodyCam: hey o/ you probably want to wait for https://review.opendev.org/c/openstack/ironic/+/869052 to merge15:32
JayFrpittau: aiui the stuff that required jammy should've all been rolled back at an openstack level15:40
JayFrpittau: we still need/want that for sure, but do we still have jobs failing? 15:40
rpittauJayF: the snmp one because of pyasn1 upper constraints update to 0.5.0, I filed a revert for that15:41
JayFaha15:41
rpittauin that patch I moved the snmp job to non-voting at least until we get  pyasn1 reverted to 0.4.815:42
rpittauJayF: there was a discussion before with TheJulia to move to pysnmp and pyasn1 forks by lextudio15:42
JayFack yeah I read that but honestly forgot it in the moment15:48
TheJuliarpittau: so! I found a comment by one of the splunk folks back in december pointing people to use the lexstudio fork15:52
TheJuliawell, to be more precise, a customer found it15:52
rpittauw00t15:52
TheJuliahttps://github.com/etingof/pysnmp/pull/43715:53
rpittauah!15:53
rpittauok that makes things simpler, kind of15:54
TheJuliaslightly less muddy for those that find it15:54
rpittauI guess we can move toward lextudio versions15:54
rpittauI'll reshape the patches with them15:56
rpittauin the meantime pushing https://review.opendev.org/c/openstack/requirements/+/881556 forward will help us with the current snmp situation15:56
rpittaubye everyone, see you tomorrow o/15:58
iurygregoryJayF, quick question, where it would be better place in the spec to mention the high level idea about the in-band path? 16:34
iurygregorymaybe a note in Proposed change?16:36
JayFYeah. "This spec describes the out of band interface. An in-band interface is planned to be implemented later with [a couple sentences on high level design]"16:41
iurygregoryok16:42
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic-specs master: Firmware Interface  https://review.opendev.org/c/openstack/ironic-specs/+/87850517:32
iurygregoryJayF, if you have more ideas on what I should add, I'm happy to modify, was trying to think but all I could add was that note .-.17:38
JayFDid you see my recent comment? That's really the only interface I can think of that would allow dynamic determination of what things to upgrade based on agent detection of hardware17:40
JayFI just mainly didn't want to hold up your spec for something "future" if that makes sense... I just worry that when we design OOB interfaces, we might prevent the IB one from being as good as possible (e.g. like if we designed an interface that didn't allow a single agent to sanely do firmware upgrades across N hardware configs)17:41
JayFiurygregory: https://review.opendev.org/c/openstack/ironic-specs/+/879381 if you can, I'd love to see this get +2A so I can create the etherpad we review in the meetings...17:42
iurygregoryJayF, oh I probably missed your recent comment /facepalm17:44
iurygregorylooking now at the Workitems17:44
iurygregory+217:47
JayF+A ?17:47
iurygregoryhappy to +A if we don't need to wait for other feedback17:47
iurygregorydone \o/17:48
JayFIf there is other feedback, I'm happy to follow up. At this time I think it's into boring territory though :D 17:48
iurygregoryagree17:48
opendevreviewMerged openstack/ironic-specs master: Add 2023.2 Workitems discussed at Ironic PTG  https://review.opendev.org/c/openstack/ironic-specs/+/87938117:58
iurygregoryJayF, adding "This interface would allow dynamic determination of which components can be upgraded based on what the agent detected." would be enough?18:06
JayFLike, I wouldn't object to that, but the purpose I had in asking for us to flesh it out a little bit was to make sure we had a "how" that made sense18:07
JayFthat's a nice statement of intent, but doesn't really get to the point of "have we designed an interface that can interface with the dynamic nature of agent hwms?"18:07
iurygregoryhaving a how wouldn't imply more details of the implementation that would be done? 18:17
JayFit would, but like I said, my concern was just making sure there's a way to get from "how this interface is designed" to "how we could make it work in-band"18:17
JayFI was worried about this until I thought about it and put that comment on the spec18:17
JayFpart of why I  am +2 without mentioning it is that I'm fairly certain there's a path to get there18:18
iurygregoryi see18:18
JayFDoes that make sense? I don't care about which how, just that one exists :P 18:19
JayFand I wanted to avoid the obvious-but-limited pattern of "we'll call magic_method() on one hwm interface to perform the upgrades" which doesn't mesh well with dynamically defined hwms18:19
JayF(whereas calling magic_method() on *all* HWM interfaces; similar to what we do in the agent when doing evaluate_hardware_support, it should be OK)18:20
iurygregoryyeah I think it makes sense18:20
JayFSince the PTG Workstreams landed, I created https://etherpad.opendev.org/p/IronicWorkstreams2023.2 to track in-progress work this cycle18:28
JayFif you wanna update that with any items you're working on, how it's going, etc it'll allow us to look at each meeting18:28
JayFHeads up ironicers: thanks to rpittau's good work, gate should be fixed. pyasn upgrade in requirements just reverted18:38
JayFFYI https://review.opendev.org/c/openstack/nova-specs/+/881643 Re-Propose "Ironic Shards" for Bobcat/2023.2 [NEW] -- cc TheJulia19:32
opendevreviewJulia Kreger proposed openstack/ironic-python-agent master: Deprecate LLDP in inventory in favour of a new collector  https://review.opendev.org/c/openstack/ironic-python-agent/+/88146219:33
TheJuliaJayF: awesome, thanks19:34
JayFhttps://review.opendev.org/c/openstack/ironic-python-agent/+/879897 could use some love (patch from Julia; it needs 1 more +2A)19:48
JayFhttps://review.opendev.org/c/openstack/ironic-python-agent/+/881257 same here (patch from me, trivial, needs +2A)19:48
NobodyCamlooks like I am passing all but ironic-grenade20:47
opendevreviewMaksim Malchuk proposed openstack/ironic-python-agent-builder master: Extend the DIB_CHECKSUM variable usage  https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/88129921:27
JayFGrenade has been failing off/on with a timeout. We had efforts to land a thing to help us set a timeout; IDK where that is now.21:46
JayFYou should be OK to "recheck grenade issue" or similar to see if you can get it to pass21:46
opendevreviewMaksim Malchuk proposed openstack/bifrost master: Remove extra symbols accidentally added  https://review.opendev.org/c/openstack/bifrost/+/87954722:49
opendevreviewMaksim Malchuk proposed openstack/bifrost master: Remove extra symbols accidentally added  https://review.opendev.org/c/openstack/bifrost/+/87954722:49
opendevreviewMerged openstack/ironic-python-agent master: Upgrade to latest hacking - v6  https://review.opendev.org/c/openstack/ironic-python-agent/+/88125723:03
opendevreviewMaksim Malchuk proposed openstack/bifrost master: Remove extra symbols accidentally added  https://review.opendev.org/c/openstack/bifrost/+/87954723:07

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