| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2025-04-03 | |||
| 13:25:04 | mnaser | So otherwise if I use metadata ill have to do this manually after system boot | |
| 13:25:34 | sean-k-mooney | so ironic has it own enrechment of the stand metadta https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L1045-L1106 | |
| 13:25:37 | sean-k-mooney | for the network info | |
| 13:25:59 | sean-k-mooney | which is all custom for the ironic integration and not part of how this normally works | |
| 13:26:42 | mnaser | The enrichment relies on the get network metadata returning the right thing and that doesn't do that so that's how we end up where we are :p | |
| 13:27:39 | sean-k-mooney | right os most if not all other dirver use the commeon code that is shared with the api for generating this metadtaa | |
| 13:27:50 | sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/api/metadata/base.py#L112 | |
| 13:29:04 | sean-k-mooney | so they generate there enriched config driver here when calling provision https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L1239-L1258 | |
| 13:29:05 | mnaser | I think attach_interface is how ports are plugged? | |
| 13:30:06 | sean-k-mooney | so port bidnign is intened to happen in the compute manger and that is when the ip should be assigend | |
| 13:30:31 | sean-k-mooney | and then port pluggin is where we are ment to talk to the network backend to make sure the ports are conencted on the swtich | |
| 13:30:34 | sean-k-mooney | virutal or otherwise | |
| 13:30:58 | sean-k-mooney | and tha tis when we are ment to waith for the network-vif-plugged evnet | |
| 13:31:42 | sean-k-mooney | plug_vifs in the ironic driver is a noop | |
| 13:31:44 | sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L1567-L1638 | |
| 13:32:42 | sean-k-mooney | that is breakign the virt dirver contract by how its delegating the attachment | |
| 13:33:07 | dansmith | sean-k-mooney: juicy OTU series just waiting for +Ws :) https://review.opendev.org/c/openstack/nova/+/944148 | |
| 13:34:10 | sean-k-mooney | dansmith: yes... im aware. im slightly anooyed at you for askign for an os-traits release when i ask not to do that unlie we landed teh vdi traits but its on my list to look at before the ptg | |
| 13:34:52 | mnaser | Now I'm wondering where does it even get the ports from... Unless it doesn't and ironic does that stuff behind the scenes? | |
| 13:35:07 | sean-k-mooney | mnaser: so attach_interface is ment to be for adding/removing port after the "server" is created | |
| 13:35:21 | mnaser | That's what I thought... | |
| 13:35:30 | dansmith | sean-k-mooney: you did? I'm sorry | |
| 13:35:49 | mnaser | So that means the neutron vif plug happens when the spawn is called | |
| 13:35:50 | sean-k-mooney | dansmith: its fine, release are cheap | |
| 13:36:00 | sean-k-mooney | mnaser: ya internaly in ironic | |
| 13:36:16 | mnaser | So I think it might be impossible to get configdrive then | |
| 13:36:28 | dansmith | sean-k-mooney: yeah, I honestly never would have though it would be worth ever holding a release to batch up more than one | |
| 13:37:10 | mnaser | Because the plug happens after we call ironic to spawn with configdrive included. | |
| 13:37:17 | mnaser | I see what you mean about the whole callback thing now | |
| 13:37:20 | mnaser | Uuuuuugh | |
| 13:37:22 | sean-k-mooney | dansmith: well last time i ask peole said they woudl take a look at the traits patch and didnt. gibi did look this time to give them credit | |
| 13:37:51 | sean-k-mooney | mnaser: this is one of the large pices of technial debt with the ironic driver | |
| 13:37:59 | sean-k-mooney | its doign several things its not allowed to do | |
| 13:38:05 | dansmith | sean-k-mooney: link me | |
| 13:38:10 | sean-k-mooney | including changign the vnic type ot baremetal | |
| 13:38:33 | sean-k-mooney | dansmith: its no kind of blockd on use approving the specless blueprint which si now a ptg topic but sure on sec | |
| 13:39:21 | dansmith | sean-k-mooney: okay well if I had realized I would have argued not to block my thing on another blocked thing, especially since "releases are cheap" :) | |
| 13:39:25 | sean-k-mooney | dansmith: its https://review.opendev.org/c/openstack/os-traits/+/940418 | |
| 13:40:08 | sean-k-mooney | dansmith: we can wait till melwitt has a chance ot respond or till the ptg | |
| 13:40:26 | sean-k-mooney | dansmith: anyway ill try and get to the OTU device tommorw or this evening | |
| 13:40:27 | dansmith | yeah, sounds like that's the best idea | |
| 13:41:01 | sean-k-mooney | mnaser: i think port bidning is still done in nova. | |
| 13:41:33 | sean-k-mooney | mnaser: if we can confirm that we may be able ot tweak plug_vifs to refesh the cache or soemthign like that to get the ip in teh defered case | |
| 13:41:46 | sean-k-mooney | mnaser: but its kind of building one hack on top of anohter | |
| 13:42:09 | sean-k-mooney | unless we can do that in a common way in the compute manger of coruse | |
| 13:43:00 | mnaser | hmm yea | |
| 13:43:49 | mnaser | Do other drivers rely on compute manager to bind the ports? | |
| 13:44:01 | sean-k-mooney | yes | |
| 13:44:08 | sean-k-mooney | virt drivers are not allowed to do it | |
| 13:44:19 | sean-k-mooney | tehy can do port pluging | |
| 13:44:33 | sean-k-mooney | btu that a diffent thing | |
| 13:45:19 | sean-k-mooney | as i said the ironic dirver or ironci its self is doing thing that its not technailly allowed to do like modifyiing cidner volume attachmetn or neutron ports | |
| 13:45:24 | mnaser | I see, so then technically we should have a bound port at some point when we generate the config drive | |
| 13:45:51 | sean-k-mooney | i dont thinke we will | |
| 13:46:10 | mnaser | Like I know this sounds stupid but as a workaround for me now a sleep and a refresh of network info can potentially make the ip arrive? | |
| 13:46:13 | sean-k-mooney | because im not sure any of the prot groups stuff for the bonds will be done when we bind but i might be wrong | |
| 13:46:35 | mnaser | It doesn't matter since all I need is for the IPs to be there on the neutron port | |
| 13:46:40 | sean-k-mooney | mnaser: ill point out that we never added supprot for l3 rounte network to the ironic driver in nova as far as i recall | |
| 13:47:08 | sean-k-mooney | we added some generic supprpot but it was never tested with ironic | |
| 13:47:21 | sean-k-mooney | and i doing think it was supproted in the nova spec | |
| 13:47:27 | mnaser | The ironic code even sorta handles the port group and maps it automatically | |
| 13:47:41 | mnaser | And updates the Mac address in the config | |
| 13:48:06 | mnaser | So I'm pretty sure if Nova manager binds it, we should be able to fix things if we wait? | |
| 13:49:28 | sean-k-mooney | i think we would have to call attach_interface to trigger that | |
| 13:49:53 | sean-k-mooney | port bidnign is the process of setting a binding:host on the neutron port to the hostname of the relvent host | |
| 13:50:02 | sean-k-mooney | that casuse the neutron ml2 driver to update the port | |
| 13:50:08 | sean-k-mooney | with extra data like the ip | |
| 13:50:53 | sean-k-mooney | however we dont know the mac adress of interface in nvoa unless we are looking that up form ironci or anytihng about the port groups again unless we are calling out to ironic | |
| 13:51:32 | sean-k-mooney | the ironic driver moved all fo that to ironic so they could have a singel code path for that in ironic for standaloen mode | |
| 13:52:07 | sean-k-mooney | mnaser: a simpler way to do this might be to modify ironic to just update the content of the config drive wehn it does all the networking setup | |
| 13:52:46 | sean-k-mooney | that doubling down on the wrong behavior but if they are modifying networkhing out of band then updating the metadta to reflect that makes sense | |
| 13:54:17 | dansmith | sean-k-mooney: https://meetings.opendev.org/irclogs/%23openstack-nova/%23openstack-nova.2025-04-01.log.html#t2025-04-01T14:09:06 | |
| 13:54:50 | dansmith | sean-k-mooney: to be fair, you were talking to gibi not me.. I did show up a few minutes later (first thing in the morning) asking gibi a question about a gerrit review, but I obviously didn't read back the scroll there | |
| 13:55:16 | sean-k-mooney | ya thats fair. | |
| 13:55:50 | sean-k-mooney | i expected Uggla to rely that into the release patch | |
| 13:56:11 | dansmith | also, what's not fair is how hard it is to grep logs for something sean-k-mooney said.. "grep sean-k-mooney.*release 2025*.log" .. no results :D | |
| 13:56:41 | sean-k-mooney | :) there use to be a hound instnace that someone ran that had all the irc logs | |
| 13:56:48 | sean-k-mooney | liek 8-10 year ago | |
| 13:56:54 | sean-k-mooney | it was kind of nice to be able to find thing | |
| 13:56:56 | dansmith | sean-k-mooney: honestly, every time I add something to os-traits I get really upset about how incredibly silly the process is that we've designed for getting string constants into nova | |
| 13:57:09 | sean-k-mooney | ya | |
| 13:57:27 | sean-k-mooney | so that was added by mikal as a ptg topic | |
| 13:57:33 | sean-k-mooney | askign if we can avoid the dance somehow | |
| 13:57:34 | dansmith | write nova patch, write os-traits patch, merge os-traits, release os-traits, merge upper-constraints, bump requirements.. only then can you go back to the first step and run tests on the nova patch :( | |
| 13:57:46 | sean-k-mooney | we coudl have nova just create the standard traits on start up if not present | |
| 13:58:02 | dansmith | sean-k-mooney: I proposed this per gmann to cut out one step at least https://review.opendev.org/c/openstack/requirements/+/946183 | |
| 13:58:31 | sean-k-mooney | hum that could help | |
| 13:58:45 | dansmith | feel free to +1 to show your support :D | |
| 13:58:46 | sean-k-mooney | we stil have an annoying coupleing dance with placeemtn too | |
| 13:59:06 | sean-k-mooney | this applies to os-ressouce classes too. | |
| 13:59:07 | dansmith | yes, honestly we should just squash placement and os-traits back into nova to solve it for good :D | |
| 13:59:40 | sean-k-mooney | well we solve it for us. but then we force neutorn et all to land a patch to nova to add a triat | |
| 14:00:07 | sean-k-mooney | what i was consdiring is allowing anytihng with a service role to add standard traits via the api | |
| 14:00:11 | dansmith | ...which is still less work than they have to do currently with os-traits, releases, requirements, etc :) | |
| 14:00:29 | dansmith | idk, that's a much larger step | |
| 14:00:55 | sean-k-mooney | it is | |
| 14:01:09 | sean-k-mooney | the other thing i codnered was sevador plugin | |
| 14:01:24 | sean-k-mooney | i.e. have an entry poirnt for addign traits | |
| 14:01:29 | sean-k-mooney | btu that feel more complex | |
| 14:02:47 | sean-k-mooney | dansmith: https://etherpad.opendev.org/p/nova-2025.2-ptg#L235 that where mikal still expressed there furstration with the current workflow | |