Friday, 2023-08-25

opendevreviewTaketani Ryo proposed openstack/ironic master: Add a way to set up a tftp without xinetd  https://review.opendev.org/c/openstack/ironic/+/89260604:26
rpittaugood morning ironic! Happy Friday! o/06:07
arne_wiebalckGood mrorning rpittau and Ironic!06:54
rpittauhey arne_wiebalck :)06:55
rpittauJayF: I think we need a launchpad project space for ipa-builder :)07:24
espenflHi there. I have previously been deploying bare metal nodes nicely with an inventory file using Bifrost. Had a pause of a few months and got back to it now and updated the Bifrost setup to the most recent. In doing so, I get for instance `Unsupported parameters for (openstack.cloud.baremetal_node) module: properties.vendor` when enrolling using the previously working08:16
espenflinventory. These are for supermicro nodes, so was using `properties.vendor`, which is not passing in `openstack.cloud.baremetal_node`. Upon locking at the Ironic code, it seems it is still supported there. Is this something that needs to be added to `openstack.cloud.baremetal_node` or am I doing something that is no longer supported? Thanks in advance for any comment or08:16
espenflhelp.08:16
dtantsurespenfl: hi, I suspect the ansible module has an allowlist of properties. Do you actually need the vendor there?08:20
espenflI think, that for supermicro, the only thing this does is to sort the difference of the bootdev so that it is set to disk when you set this. We only set pxe and do not change anything else, so in practice I do not really need it I think. Just noticed. Happy to open a PR for it and adding it to the allowlist. Ironic supports it:08:23
espenflhttps://docs.openstack.org/ironic/latest/admin/drivers/ipmitool.html, but maybe we do not need it Bifrost side for now?08:23
dtantsurespenfl: rather in the ansible module: https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/baremetal_node.py#L51108:24
espenfldtantsur: Yes. Indeed. I will open a PR towards that then.08:25
opendevreviewIllia Polliul proposed openstack/ironic-python-agent-builder master: Exclude .pyc encoding files.  https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/89270609:35
rpittauiurygregory: I did some tests with abort inspection with inspector itself and I don't think it works as we expect it works :)10:06
rpittauit looks like the abort command goes through also when the inspection is not running, which can be dangerous as it will try to force the power off of the node10:06
rpittauI don't see changes that impacted that behavior in inspector, but there's a lot between wallaby and now, so it's a mistery how the functional test was working before but no anymore in the inspector client CI10:06
opendevreviewIllia Polliul proposed openstack/ironic-python-agent-builder master: Exclude .pyc encoding files.  https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/89270610:35
iurygregoryrpittau, yeah agree10:57
iurygregorygood morning Ironic10:57
espenflHi there. Upon enrolling a node with Bifrost (using the bifrost-cli) I get: `"BadRequestException: 400: Client Error for url: ********/nodes, Expected UUID for uuid: "`. I know this specific inventory deployed a few months ago, so what have changed is a more update Bifrsot and Ironic installation. A bit unsure where to start with this. Seems an uuid is not supplied.11:24
iurygregorynormally you pass a json file to enroll nodes, maybe check what is there?11:25
iurygregoryrpittau, how did you manage to reproduce consistently the inspector client issue?11:29
espenfliurygregory: Thanks for the reply. Yes, using the same json as before (March I believe). Bifrost should generate an uuid if not given I think.11:35
iurygregorylet me check in my env 11:35
iurygregorywhich command did you use?11:36
iurygregoryI have a env up I can try to reproduce your issue here11:36
opendevreviewMahnoor Asghar proposed openstack/ironic master: Add inspection (processing) hooks  https://review.opendev.org/c/openstack/ironic/+/88755411:39
iurygregoryespenfl, the command you are using is $./bifrost-cli enroll /tmp/baremetal.json right?11:43
espenfliurygregory: correct11:44
iurygregoryyeah I'm getting the same error11:47
espenfliurygregory: Okey, that is good I guess. I was concerned something was messed up on my side.11:55
iurygregoryyup11:56
espenflIt seems this has to be happening in `ansible-collections.openstack.cloud.baremetal_node` and this is maybe some newer addition in the context of Bifrost? Hence, why this was not happening before summer. The uuid should be generated there if not provided it seems.12:00
iurygregorywe have been using the collections from some time I think12:02
iurygregorymaybe a new release of the collection is requesting this..12:02
rpittauiurygregory: I just run the functional tests and I got the error12:05
iurygregorywith the changes I have in the patch you commented right?12:06
rpittauyep12:06
iurygregoryok, there is probably something crazy in my env :D 12:06
iurygregorylol12:06
iurygregoryrm -rf now :D12:06
rpittaulol12:06
iurygregoryI was chasing the code but seems like we've always returned 202 .-.12:07
iurygregoryeven our docs doesn't mention error for abort in case inspection hasn't started12:07
rpittauyep12:08
iurygregoryhttps://docs.openstack.org/api-ref/baremetal-introspection/?expanded=abort-introspection-detail12:08
rpittauthat's why I have no idea how the test was passing before12:08
iurygregory<insert it's fine gif here>12:08
iurygregoryyup!12:08
iurygregorysame12:08
rpittaumaybe the python version changed something ?12:08
rpittau¯\_(ツ)_/¯12:08
iurygregorywho knows right? :D12:09
iurygregorywe have to play with a few things12:09
iurygregoryand good catch with the changes in the tox.ini12:09
rpittauprobably need more eyes on it, it's easy to overlook things with so many changes12:10
iurygregory++12:13
espenflOkey, so it seems `openstacksdk` sends an empty `uuid` and `id`. But one is expected. Not sure if `openstacksdk` is supposed to create that id or it is supposed to happen in `ansible-collections`, but I will check a bit more.12:32
opendevreviewPierre Riteau proposed openstack/ironic-inspector master: docs: fix typo  https://review.opendev.org/c/openstack/ironic-inspector/+/89278512:46
*** TheJulia is now known as needs_brains_and_sleep13:04
needs_brains_and_sleepbrraaaaaaains!13:04
opendevreviewMerged openstack/ironic-inspector master: docs: fix typo  https://review.opendev.org/c/openstack/ironic-inspector/+/89278513:13
*** needs_brains_and_sleep is now known as TheJulia13:23
opendevreviewVanou Ishii proposed openstack/ironic master: Update iRMC driver vendor library version  https://review.opendev.org/c/openstack/ironic/+/89279013:55
TheJuliaso it *looks* like the ovn job actually worked14:33
TheJuliawell, 2 out of 314:33
TheJuliait seems ovn + rescue might be problematic14:33
JayF\o/14:39
TheJuliaseems... snat gets turned back on somehow14:39
TheJuliaand then back off14:39
opendevreviewRiccardo Pittau proposed openstack/ironic master: Move metal3 integration job to non-voting temporarily  https://review.opendev.org/c/openstack/ironic/+/89279414:47
rpittauJayF TheJulia dtantsur ^14:47
rpittauI raised the issue  in the metal3 community channel14:47
JayF+2A, ty rpittau 14:50
* JayF gone for a couple hours14:50
dtantsurMaybe having it voting was too ambitious..14:57
rpittaunah, it worked fine so far, and we actually catch multiple issues14:58
rpittauas other integration jobs we need to keep an eye on it14:58
opendevreviewRiccardo Pittau proposed openstack/ironic master: Revert "Move metal3 integration job to non-voting temporarily"  https://review.opendev.org/c/openstack/ironic/+/89279715:12
rpittaubye everyone, have a great weekend! o/15:45
opendevreviewVerification of a change to openstack/ironic-python-agent-builder master failed: Exclude .pyc encoding files.  https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/89270616:10
dtantsurHave a great weekend folks o/ I'm leaving for 1.5 weeks, see you then. The IRC bouncer will be off at some point, so email me if anything is needed.16:15
opendevreviewJulia Kreger proposed openstack/ironic master: Enable OVN CI  https://review.opendev.org/c/openstack/ironic/+/88508716:22
TheJuliao/ dtantsur 16:22
TheJuliaso, folks, anyone have opinions on finally creating an neutron aware tftp service?16:22
JayFsounds like a good topic for ptg16:25
TheJuliawe've discussed it before, but OVN basically shooting tftp in the foot, we don't have many options :\16:30
JayFhonestly, I'd suggest, instead of making TFTP a separate service, maybe just adding it to their existing DHCP agent/interface?16:36
JayFsince dnsmasq you get tftp for "free"?16:37
TheJuliawell, we would need to make a service to do that16:37
TheJuliaand in OVN, there is no more dnsmasq16:37
TheJuliaovn itself is the dhcp server16:37
JayFdoes ovn provide tftp?16:38
TheJulianope16:38
JayFlet me ask the question this way16:38
JayFinstead of saying "neutron aware tftp service"16:38
JayFwhat's the actual feature we need?16:38
JayFlike what is going to change about interactions to make things like OVN behave better16:39
TheJuliawe need to attach a tftp instance onto the actual subnet in use by a bare metal instance16:39
TheJuliaand use that to service requests16:39
JayFbecause right now tftp crosses a network segment in ~most configurations16:40
TheJuliayes16:40
TheJuliaand if there is any NAT in that mix, OVN can't forward tftp16:40
JayFwould such an implementation be limited to "providing iPXE roms and configs" ?16:40
TheJuliayou can't rom UEFI16:40
TheJuliaafaik16:40
JayFTheJulia: I wonder if making OVN know how to behave properly with segmentation and MTUs is the better path16:40
TheJuliawell, you can load an image, but we have no way to tie that to the card16:40
TheJuliaso we loose netboot control16:40
TheJuliaJayF: maybe, maybe not, dunno16:41
JayFdid you mean "from uefi" or "rom uefi"16:41
JayFI lost the thread at that point16:41
TheJuliaso you can make a EFI firmware image that you can load onto a system, it can persist there, but it is not like "i want to boot from the network card oprom"16:42
TheJuliawhich is what ipxe roms are16:42
TheJuliaand there is no way to tie the two together remotely16:42
JayFI am confused because right now, I have local UEFI-based netbooting setup that feeds an modified ipxe rom (netboot.xyz) to efi hosts16:42
TheJuliaat best, it might be a entry in the boot order list, but may not be modifiable16:42
JayFI think we are still not talkign about the same thing?16:43
TheJuliaanother option is HTTPBoot, but that leaves everything that can't do it out16:43
TheJuliaand OVN doesn't support such in it's dhcp server yet16:43
TheJuliaI'm not sure we're meaning the same thing when we say rom16:44
JayFI'm talking about e.g.16:45
JayF> -rw-r--r--   1 root  wheel  1027072 Jul  2 04:12 ipxe.efi16:45
TheJuliayes, and how do you tell the system to boot that file16:46
TheJuliaon a plus side https://github.com/openstack/neutron/blob/master/neutron/agent/ovn/metadata/agent.py doesn't seem too insane16:46
JayFnext-server and filename? 16:46
TheJuliacan't use next-server16:46
TheJuliathat is inherently tftp16:46
JayFokay you are confusing my question then16:46
JayFI was saying, if such a theoretical TFTP neutron interface exists16:46
TheJuliaoh16:47
JayFwhat is the api to it?16:47
JayFDoes it always serve up ipxe roms and you just give an ipxe config?16:47
JayFI'm just thinking about how complex dhcp configs get in a hurry; ifs based on boot mode, based on ipxe vs network rom, boot types supported, etc16:47
TheJuliaif an interface existed, we would have an agent, say running as 10.1.0.253 or $mystical_magical_metadata IP, which could service packets/connections from that logical network16:48
TheJuliawe would use that as the configured server IP instead of the ironic default16:48
JayFso perhaps something like "we'll get this ipxe config booted on the server" would be a semi-reasonable interface, the neutron implementation could just own getting ipxe booted on the node, once ipxe comes up it feeds the provided user config in16:48
TheJuliathe client would then be able to retrieve artifacts from it16:48
TheJuliait wouldn't be neutron most likely, they would force it to be out of their tree16:49
JayFThis is kinda why I want to mix the dhcp and the tftp magic though16:49
JayFbecause I think depending on dhcp config it may change how you wanna serve up netbooting16:49
JayFI guess I'd rather think of it as "neutron pxe booting interface" than "neutron tftp" because it gets more interesting16:49
TheJuliaso the challenge there is, we would have to tell "oh, here are the artifacts you'll use to setup the tftp server"16:49
JayFI'm saying don't support that.16:50
TheJuliaor "here is the proxy to, you'll need to proxy everything via http"16:50
JayFMy suggestion would be a payload like: {mac: 000000000000, ipxe_conf: '#!ipxe\n\nyour_conf_here'}16:50
JayFthen the neutron service would own everything about getting ipxe booted with that config on the node16:51
JayFleaving the implementation detail of *how* to boot that node to the enhanced dhcp+netboot interface16:51
TheJuliaI guess I'm hesitant to try and put anything on to the ovn core's plate because it has taken us 3 years to get dhcp support16:51
TheJuliaand even then,, it is not just ipxe config, it is any part of the existing pxe infrastructure which the conductor may have on the filesystem16:52
TheJuliafrom templates to files because we need to bootstrap the bootloader16:52
JayFdo we still support non-localboot post-provisioning?16:52
TheJuliaFor example, PXE when using grub, we need to chain through two files before we can even go hunting for config16:52
JayFI thought tftp was 100% limited to getting a pxe config (+ramdisk+kernel if you're using tftp for that, but IRL that is not very reliable)16:53
JayFugh16:53
TheJuliatechnically, it has been kept in our back pocket16:53
JayFwhy do we have to support grub+pxe16:53
TheJuliabecause tons of people just don't want ipxe16:53
JayFget them all in one place and I can tell them they're wrong /s 16:53
TheJulia(and grub is actually not half bad, just doesn't have any ability to fallback like ipxe does)16:53
TheJuliaalso, Secure Boot16:53
JayFwith our grub pxe support, it never uses ipxe at all?16:53
JayFthat's right, secure boot is the real answer there isn't it16:54
TheJuliait never uses ipxe16:54
JayFstevebaker[m] gave a good talk on that at the summit16:54
JayFI wish the reality of running hardware didn't require Ironic to be so unopinionated as software :( 16:54
TheJuliahumans generally default to an opinionated mode, generally unless you apply lots of this dried green stuff16:55
opendevreviewMerged openstack/ironic master: Move metal3 integration job to non-voting temporarily  https://review.opendev.org/c/openstack/ironic/+/89279418:20
opendevreviewJulia Kreger proposed openstack/ironic master: Enable OVN CI  https://review.opendev.org/c/openstack/ironic/+/88508720:04
JayFTheJulia: you wanna help and land https://review.opendev.org/c/openstack/ironic/+/891912 and then we can add a "with OVN" configuration to the devstack-guide? 20:05
JayF:D 20:05
JayFah, I see we need a DS patch20:06
TheJuliaunfortunately, yes20:06
TheJuliawe have to start some stuff up earlier than it likes to20:07
TheJuliaJayF: do you have the ptg etherpad link handy? I can't seem to find it21:17
JayFit's in the meeting agenda21:17
JayFhttps://etherpad.opendev.org/p/ironic-ptg-october-202321:18
TheJuliathanks!21:18

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