Tuesday, 2024-07-09

opendevreviewMerged openstack/sushy-tools master: Replace hardcoded BiosVersion with an updatable field  https://review.opendev.org/c/openstack/sushy-tools/+/90948701:09
opendevreviewcid proposed openstack/ironic master: Self-Service via Runbooks  https://review.opendev.org/c/openstack/ironic/+/92214202:20
opendevreviewJulia Kreger proposed openstack/ironic master: Fix anacaonda boot interface  https://review.opendev.org/c/openstack/ironic/+/92370104:09
opendevreviewJacob Anders proposed openstack/sushy-tools master: [WIP] Add support for BIOS update emulation  https://review.opendev.org/c/openstack/sushy-tools/+/90950006:37
rpittaugood morning ironic! o/06:49
rpittauTheJulia JayF, re virtualpdu, I should be available during my afternoon today, I have only a 30 minutes call at some point07:04
maxh[m]TheJulia: I opened an issue and layed down the details: https://bugs.launchpad.net/ironic-python-agent/+bug/207254408:18
iurygregorygood morning Ironic10:58
shajizadGood morning, dtantsur I was just checking your comments for the VIF patch, specifically about calling microversion twice. Will storing the required microversion based on whether optional params were included, and then calling assert_microversion for that value solve the issue?11:14
shajizadSomething like this:... (full message at <https://matrix.org/_matrix/media/v3/download/matrix.org/bWyLIhbXdXJPiMeIqUoEtuBh>)11:16
dtantsurshajizad: yes, that's exactly what I have in mind.11:22
shajizadAlright thank you11:26
shajizadI pushed the changes 👍🏻11:26
iurygregorytks shajizad o/11:34
opendevreviewJacob Anders proposed openstack/sushy-tools master: [WIP] Add support for BIOS update emulation  https://review.opendev.org/c/openstack/sushy-tools/+/90950012:30
TheJuliagood morning13:05
iurygregorygood morning TheJulia 13:11
TheJuliarpittau: how is your afternoon looking over the next couple of hours?13:12
sylvrHello ! I opened this bug report https://bugs.launchpad.net/kayobe/+bug/2072550 but I'm wondering if I should make it affect Ironic/Bifrost too13:13
TheJuliasylvr: just because a machine has an IPMI bmc doesn't mean the address is discoverable (requires inband bmc channel is enabled, often it is disabled) or qualified for discovery (dhcp + bmc is not a great idea)13:16
sylvrTheJulia: it managed to work a few weeks back, ipmi_driver is my only option and a dhcp server to give IP to the BMC is necessary as it is the only option that don't require to manually set tens or hundreds of bmc IPs...13:20
sylvris there a solution I missed ? 13:20
dtantsurI wonder if Kayobe changed something in-between. (Also, this feature is not 100% compatible with the newer inspection, so may be that.)13:21
sylvrwell, I had an issue with the version 2023 for a while13:22
TheJuliasylvr: a well managed bmc network does really require address entry, as much overhead it creates, it saves you way more chaos of the dhcp server loosing/changing assignments13:23
TheJuliaLikely need to get someone working with kayobe to chime in, really not much has chnaged on those release branches13:25
sylvrwell, maybe it's more a kayobe issue, but if kayobe is capable of assigning IP for inspection/introspection and then set a node IP with a static one, that could be done on the oob network : zero touch and then more security as it don't need to rely on the DHCP when the nodes are registered correctly ?13:26
rpittauTheJulia: I'm free in ~30 minutes13:26
TheJuliarpittau: Okay, then I'll quickly take mr corgi for a walk then13:27
rpittaualright :)13:27
TheJuliaJayF if your up in 30m13:28
TheJuliasylvr: if kayobe has such functionality, it really was not communicated to us. I guess the best troubleshooting step you can take is see if you can  capture logs from the introspection or get a temporary ramdisk/OS on that host and see if "ipmitool lan print" works13:33
TheJuliabbiam13:33
TheJuliawell at least 10m13:33
dtantsurTheJulia: good morning! Something occurred to me during the downstream network boot discussion... in case of virtual media, we can pass some information to IPA as configuration since IPA can mount the resulting "device". This won't work in case of UEFI HTTP boot, will it?13:36
dtantsurAs in: can IPA mount an ISO that has been provided via UEFI HTTP boot?13:36
JayFTheJulia: rpittau: ack on 7am pt13:49
TheJuliadtantsur: highly unlikely, since as soon as the kernel begins booting, excess memory not part of the initial ramdisk is considered free for overwriting by the kernel.13:51
TheJuliadtantsur: I'd consider it like classical ramdisk boot of an ISO.13:51
TheJuliaThe only way for extra data to get in is for the data to get patched into the ramdisk13:52
TheJuliarealistically13:52
JayFipa-configdrive=base64stringonkernelcommandline (/s or maybe not?)13:54
TheJuliaThat is a super tight length limit13:54
JayFOh, I figured there'd be some issue with actually doing it that way, but was just pondering on the various oob ways we have to get data in13:54
JayFand that's the most reliable in a weird way13:54
TheJulia?2k chars *total* on x86_64 if I'm recalling correctly13:55
TheJuliayeah, gets recorded on the cmdline13:55
JayFif it was just for network information, I bet we could get there13:55
TheJuliadhcp is a functional requirement for httpboot cases13:56
* TheJulia makes coffeeeeeee13:56
TheJuliahttps://meet.google.com/iwu-gmus-vhy13:58
TheJuliaJayF: rpittau: ^13:58
sylvrTheJulia : I'm going to check the logs on my IPA as you recommended, also gave me ideas on how to (hopefully) handle "dynamic" BMC addresses without a DHCP server, thanks !13:59
rpittauTheJulia: yep I'm in13:59
cidMind if I slipped in too, 14:03
* cid joining in anyways :D14:04
dtantsurTheJulia: got it, thanks. So we cannot do stuff like agent tokens or TLS certificates14:05
JayFagent token is via kernel command line iirc14:09
JayFbut tls, yes14:10
dtantsurInterestingly, I'm in the middle of a way "need to stop using command line eventually" discussion right now14:14
TheJuliawheeeeeeeee14:19
iurygregorythank god I'm not in this discussion 14:20
dtantsurso wondering what our options are if the people pushing UKI do not start to look outside of their bubble14:20
iurygregorywhat UKI means? .-.14:21
dtantsurdo you really want to know? ;)14:21
TheJuliaUniKernel14:21
iurygregoryohhh14:21
dtantsurhttps://uapi-group.org/specifications/specs/unified_kernel_image/14:21
TheJuliasomehow have a signed artifact (how?!?!!??!!?!?!?!?!)14:21
TheJuliahow long until we have a windows registry?14:22
dtantsurRealistically, we need a way to pass configuration that is not tied to anything affecting the core of the operating systems (== does not compromise secure boot)14:23
dtantsurWhich, unfortunately, is not something we can realistically invent14:23
TheJuliaAhh, Interesting, it is building a EFI application image14:24
JayFyeah, UKIs are pretty cool. Except for the part where it breaks our whole model by removing the concept of a command line for the most part14:25
TheJuliasee, this is why we need a time machine to go back to 2018-2019 and hire someone to make EFI IPA14:26
JayFit's why the people working at one layer need to have a %#^#$%ing conversation that cuts through the stack14:27
JayFbefore someone's bright idea breaks half of the world14:27
TheJuliabut it is not breaking if it is innovation!14:27
dtantsur\o/14:27
TheJulia</sarcasm>14:27
JayFtime to rewrite ironic in go and compile with GOARCH=efi /s 14:28
TheJuliait would need to be a EFI runtime using all EFI interfaces14:28
TheJuliazero drivers14:28
TheJuliaand even then, it would need to be signed14:29
TheJuliawhich is a whole huge hurdle14:29
dtantsuryeah, the signing part is the biggest problem14:29
TheJuliain the UKI world, are they anticipating MSFT to sign for every kernel update?14:30
TheJuliaor are they somehow embedding shim into it?14:30
dtantsurI cannot find any information on that14:35
dtantsurI suspect we're still going to have shim as a separate binary...14:36
dtantsur"This file can either be directly invoked by the UEFI firmware (which is useful in particular in some cloud/Confidential Computing environments) or through a boot loader (which is generally useful to allow multiple kernel versions with interactive or automatic selection of version to boot into)."14:38
dtantsurMy bet is on shim/grub still present.14:38
opendevreviewcid proposed openstack/ironic master: Self-Service via Runbooks  https://review.opendev.org/c/openstack/ironic/+/92214214:40
tkajinamhttps://www.redhat.com/ja/blog/rhel-confidential-virtual-machines-azure-technical-deep-dive14:41
tkajinamRed Hat Enterprise Linux 9.2 uses a simpler boot scheme for an Azure CVM. It boots a UKI directly from shim:14:41
opendevreviewHimanshu Roy proposed openstack/ironic master: add virtual media GET api to fetch all details related to virtual media devices for a given node  https://review.opendev.org/c/openstack/ironic/+/92165714:41
dtantsuryeah, definitely shim, thank you tkajinam 14:42
tkajinamthat's the one I saw when I was investigating UKI some time ago14:42
tkajinamthough I've not yet tried it actually14:42
opendevreviewHimanshu Roy proposed openstack/ironic master: add virtual media GET api to fetch all details related to virtual media devices for a given node, add unit tests  https://review.opendev.org/c/openstack/ironic/+/92165714:42
TheJuliadirect uki from shim does seem likely from what I've heard from some of the boot folks15:02
rpittaubye everyone see you tomorrow o/15:20
shajizadHello dtantsur, I noticed for virtual media you said that the detach function should have an optional parameter. But this is not specified on https://docs.openstack.org/api-ref/baremetal/15:39
iurygregoryshajizad, I just checked our code seems like our api-ref is missing the information. https://opendev.org/openstack/ironic/src/branch/master/ironic/api/controllers/v1/node.py#L2182  https://opendev.org/openstack/ironic/src/branch/master/ironic/tests/unit/api/controllers/v1/test_node.py#L8801  https://opendev.org/openstack/ironic/src/branch/master/ironic/tests/unit/api/controllers/v1/test_node.py#L881216:02
shajizadIs device types a list? How is that passed into the request?16:04
dtantsurshajizad: ?device_types=a,b,c16:05
iurygregorydtantsur, from the tests I think it pass  ?device_types=a&device_types=b  https://opendev.org/openstack/ironic/src/branch/master/ironic/tests/unit/api/controllers/v1/test_node.py#L881316:06
iurygregorynow I'm puzzled, since ?device_types=a,b would make more sense to me16:07
dtantsuriurygregory: both are now possible. the first form is something I only added recently to our API (in general, not just for this case)16:07
iurygregoryoh, ok!16:07
iurygregorymakes sense16:07
shajizaddtantsur: Thank you16:07
shajizadCan I do this manually is there something in the sdk code I should use 16:08
dtantsurshajizad: there should be, Ironic's "fields" argument is treated the same way16:08
dtantsurokay, it's more complex https://opendev.org/openstack/openstacksdk/src/branch/master/openstack/baremetal/v1/node.py#L9716:10
dtantsurbut you should be able to implement it quite easily reusing https://opendev.org/openstack/openstacksdk/src/branch/master/openstack/baremetal/v1/_common.py#L12616:10
opendevreviewMerged openstack/sushy-tools master: Fix httpboot handling and unit tests  https://review.opendev.org/c/openstack/sushy-tools/+/92359216:50
TheJuliaJayF: so I think the root cause of the issue is virtualpdu's binding of udp transport in virtualpdu/pdu/pysnmp_handler.py, unfortnately I think the cleanest way is a rewrite of it but I'm not sure. If we can get it so virtualpdu is in a different venv, that would at least allow us to unwedge ironic snmp support and virtualpdu to make them independent problems17:35
JayFisolating it to a root cause makes it tempting to fix directly :D 17:35
JayFjust use  defer pysnmp_handles.close() 17:36
JayFlolsob17:36
* JayF currently auditing the nova driver for more missed iter() in the unit tests17:37
JayFonce I'm done with that, I'm going to try to draft guest-metadata17:37
JayFthen I'll get to vpdu17:38
TheJuliaYeah, I'm out of time to burn on it. did try wiring up stop() to tear everything down, but I'm likely just too far down the rabbit hole17:38
JayFI just have trouble understanding that code, it's very misdirected17:39
JayFbeing written that way is probably part of how this kinda bug emerges17:39
TheJuliaindeed17:40
JayFfound exactly one remaining unit test that needed an iter([nodes]) in that nova driver, not bad, now if adding the iter breaks the tests :( 17:44
JayFfyi https://review.opendev.org/c/openstack/nova/+/923781 is landing, fixes that ^ instance18:11
JayFthe more I think about it, the more I think we should split the venvs for ironic & ironic-bmc-emulators because that's the only way to be certain we can change *only one of them* while testing still be somewhat valid18:15
JayFso I will head down that route when this bubbles to the top of my list18:15
opendevreviewJulia Kreger proposed openstack/ironic master: Fix anacaonda boot interface  https://review.opendev.org/c/openstack/ironic/+/92370118:33
opendevreviewcid proposed openstack/ironic master: Follow-up to change; #922951 breaks RAID  https://review.opendev.org/c/openstack/ironic/+/92357018:39
cido/18:59
iurygregorysomeone asked me how to debug "InspectionError -> Failed to inspect hardware. Reason: unable to start inspection: The attribute Links/ManagedBy is missing from the resource /redfish/v1/Systems/1" .. I told them do check the redfish response using curl "curl -ksu "<user>:<password>"  https://10.16.10.91/redfish/v1/Systems/1 | jq ."... there is no ManagedBy YAY!20:07
iurygregoryX-Fusion 2288H V520:11
iurygregoryhttps://xkcd.com/927/ \o/20:11
hjensasTheJulia: reported bug on inspection tempest validating against flavor - https://bugs.launchpad.net/ironic-inspector/+bug/2072589. I guess a somewhat simple way, would be to allow overriding the flavor used by inspection tests.20:20
TheJuliaYeah, I'm not super convinced that a flavor is really the right thing to use, but I'll take a look. Thanks!20:21
opendevreviewJulia Kreger proposed openstack/ironic master: Fix anaconda boot interface  https://review.opendev.org/c/openstack/ironic/+/92370121:11
JayFI'21:58
JayF**I'm implementing https://blueprints.launchpad.net/nova/+spec/ironic-guest-metadata and I'm wondering, would it be valuable to send over image *name*?21:59
JayFseems to me like it might be?21:59
TheJuliaSeems reasonable22:14
opendevreviewJulia Kreger proposed openstack/ironic master: CI: set tftp folder permission  https://review.opendev.org/c/openstack/ironic/+/92359023:13
opendevreviewJulia Kreger proposed openstack/ironic-tempest-plugin master: Permit boot_interface to be updated :(  https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/92359123:16

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