| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2025-08-27 | |||
| 12:00:31 | sean-k-mooney | it was exactly 1 failng test so it could be just a one off cause by some test to test interaction | |
| 12:32:33 | opendevreview | Takashi Kajinami proposed openstack/nova master: Purge nested SEV RPs when SEV is disabled https://review.opendev.org/c/openstack/nova/+/958626 | |
| 12:39:27 | tkajinam | my bad. I though I run the whole functional tests but I didn't (and didn't caught some tests also needing update ) | |
| 12:39:32 | tkajinam | I thought * | |
| 12:53:55 | ralonsoh | sean-k-mooney, hello! maybe you missed my message about SR-IOV trusted VFs and MAC changing (https://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/sriov-trusted-vfs.html) | |
| 12:56:07 | sean-k-mooney | ralonsoh: ya i didnt see it but i think we talked about it in the past | |
| 12:56:28 | sean-k-mooney | trusted vf shoudl not allow the mac to be changed form the guest | |
| 12:56:46 | sean-k-mooney | i think we talked about there beign a bug in one of the intel drivers? | |
| 12:57:24 | sean-k-mooney | the tursted vf spec allow the VF to be in promisous mode | |
| 12:57:38 | sean-k-mooney | so it can recive traffic that is not destented for its mack | |
| 12:57:53 | sean-k-mooney | but its mac shoudl be still enforced by nova/neutron to be the neutron port mac | |
| 12:59:03 | sean-k-mooney | the kernel dirver is free to rest the mack to all 0000 when the vm is stopped but if it is started again it shoudl be programed by nova/libvirt to the requsted mac again | |
| 12:59:20 | sean-k-mooney | changes to things like link state in the guest or phsysical on the host shoudl not impact the mac at all | |
| 13:00:24 | sean-k-mooney | chanign the mac in the guest shoudl not propagate to the vf in trusted mode and if it does i woudl consider that to be a security issue | |
| 13:00:37 | sean-k-mooney | specificly in the vendors PF and VF driver | |
| 13:01:40 | ralonsoh | sean-k-mooney, but port bonding (and MAC changing) is also considered in the nova spec | |
| 13:01:49 | sean-k-mooney | yes an no | |
| 13:01:54 | sean-k-mooney | what we were descibeing there | |
| 13:02:11 | sean-k-mooney | was the ablity to create a bond port in the guest with a diffent mac then what is on the VF | |
| 13:02:17 | sean-k-mooney | on the host | |
| 13:02:36 | sean-k-mooney | how this used to work is if you change the mac on the guest interface the host mac woudl remain the same | |
| 13:02:45 | sean-k-mooney | in ip tools | |
| 13:02:50 | sean-k-mooney | or ifconfig | |
| 13:03:05 | sean-k-mooney | btu the mac on the packet that was sent on the wire would be updated | |
| 13:03:25 | ralonsoh | sean-k-mooney, ahhhh I thought that if you add two interfaces to a bond (inside the VM) you also change the VF MAC | |
| 13:03:26 | sean-k-mooney | ralonsoh: i think that is what has changed | |
| 13:03:38 | sean-k-mooney | you can change the guest visable side | |
| 13:04:03 | ralonsoh | ahhhh so you can update the bond MAC but it will eventually use the VF MAC outside the VM | |
| 13:04:06 | ralonsoh | I didn't know that | |
| 13:04:12 | sean-k-mooney | btu on niantic for exampel that never actully changed the mac on the host side form the perspecitive of libvirt or ifconfig | |
| 13:04:38 | sean-k-mooney | it would change the mac on the wire which wi why it worked btu the comtople plane view was nto updated | |
| 13:04:58 | sean-k-mooney | i woudl assume at some point they hooked up the mailbox protocol to propagate the mac change | |
| 13:05:21 | ralonsoh | yeah, this is what is happening now | |
| 13:05:30 | sean-k-mooney | ralonsoh: ideaaly the sriov nic agent would use the pci adddress not the the mac/name | |
| 13:05:35 | ralonsoh | and this is of course an issue (at least from Neutron point of view) | |
| 13:05:58 | ralonsoh | sriov agent uses the MAC/PCI tuple to identify a port | |
| 13:06:04 | sean-k-mooney | is this the cause of the customer bug where tehy were seeing the state flap | |
| 13:06:19 | ralonsoh | yes | |
| 13:06:38 | sean-k-mooney | ah ok. im glad i updated that to the netwrokign team so :P | |
| 13:06:55 | sean-k-mooney | so ya i woudl consider just using the pci adress | |
| 13:07:07 | sean-k-mooney | the reason you check both is because of connectx-3 | |
| 13:07:15 | ralonsoh | so that would require a refactor of the sriov agent | |
| 13:07:19 | sean-k-mooney | in that generation of nic and only in that nic | |
| 13:07:39 | sean-k-mooney | you could have 2 pfs with the same pci adress | |
| 13:07:57 | sean-k-mooney | it was dumb and broke a bunch of other things and no one does that anymore | |
| 13:08:09 | ralonsoh | that's another story... | |
| 13:08:22 | ralonsoh | but of course, that won't work with ML2/SRIOV | |
| 13:15:20 | sean-k-mooney | ralonsoh: well just using the pci address shoudl work for ml2/sriov in general | |
| 13:16:08 | ralonsoh | sean-k-mooney, maybe, I need to check that. We need, at least, to write a warning if the expected MAC address is not set | |
| 13:16:41 | ralonsoh | how do I know a VF is used if I the MAC is the only thing I can check (for a PCI address) | |
| 13:16:59 | sean-k-mooney | you know its used by checkign the binding profile in the port | |
| 13:17:14 | sean-k-mooney | we pass the pci_slot | |
| 13:17:28 | sean-k-mooney | var which has the full pci adress | |
| 13:18:05 | ralonsoh | yes but I mean, in the SR-IOV agent we are detecting the port binding checking that the VF in a specific PCI has the expected MAC | |
| 13:18:24 | ralonsoh | and the MAC is set by nova compute | |
| 13:18:34 | sean-k-mooney | ya so it never actully needed to do that for what it worth | |
| 13:18:38 | ralonsoh | that was the trigger to send the vif-plugged event | |
| 13:18:47 | sean-k-mooney | orginally the sriov nic againe was entirly optional and not needed for intel nics | |
| 13:19:09 | sean-k-mooney | it was created by melanonx ot all managing things like link state via the admin state of the port | |
| 13:19:18 | sean-k-mooney | the mac programming to this day is done by nova | |
| 13:19:29 | ralonsoh | or qos or changing the propagation flag | |
| 13:20:01 | ralonsoh | I'll raise this issue in the Neutron community, I'll create a LP bug | |
| 13:20:08 | sean-k-mooney | as with everythign else the l2 part of the networing (seting the mac) is done by nova based on the mac set in the neutron port | |
| 13:20:13 | sean-k-mooney | ack | |
| 13:20:42 | sean-k-mooney | i think its fair to raise a warnign if it not the expectev version and its not using trusted VF | |
| 13:20:53 | sean-k-mooney | if it is then it shoud be info level IMO | |
| 13:21:58 | sean-k-mooney | maybe warning is valid but this is apprently vendor and drive rdependnet beahivor | |
| 13:22:22 | sean-k-mooney | warnings are normmly a call to arms for an operator to fix somethign and i dont think there is anything for them to fix in this case | |
| 13:22:32 | ralonsoh | warning is better than forcing the resync | |
| 13:22:44 | sean-k-mooney | oh im not saying we shoudl resync | |
| 13:23:07 | ralonsoh | well, if the mac is changed and doesn't match with the Neutron port one, this is indeed a warning | |
| 13:23:08 | sean-k-mooney | im just sayign the log message shoudl maybe be at a lower level | |
| 13:23:26 | sean-k-mooney | ack | |
| 13:23:28 | ralonsoh | I'll raise the bug and propose a patch, we can decide this in the review | |
| 13:23:50 | sean-k-mooney | you could also cosnider deprecating trusted_vf.... | |
| 13:24:05 | ralonsoh | for sure, that should only happen with trusted VF | |
| 13:24:20 | ralonsoh | if the port is not trusted, this is for sure something more serious | |
| 13:24:28 | sean-k-mooney | i dont like that feature becasue we stilll have not fixed the fact it required you to write data to a field only nova shoudl modify | |
| 13:25:06 | sean-k-mooney | i.e. there shoudl be a seprate trunsted vF extention that does not require you to mess with the binding profile | |
| 13:25:20 | sean-k-mooney | since humans shoudl never write to that | |
| 13:25:55 | ralonsoh | sorry, I don't get your point here | |
| 13:26:23 | ralonsoh | Neutron does not set the VF trusted flag | |
| 13:26:26 | sean-k-mooney | the trusted VF feature required you to requet it by writign data to the binding:profile field | |
| 13:26:34 | ralonsoh | ahhh ok ok | |
| 13:26:40 | ralonsoh | now I understand | |
| 13:26:51 | sean-k-mooney | correct neutron does not a human has to inject data into a filed that only nova should modify | |
| 13:26:59 | ralonsoh | well, we have done this before (removing things from the binding profile) | |
| 13:27:00 | sean-k-mooney | there shoudl be a port extenion for it instead | |
| 13:27:08 | sean-k-mooney | yep | |
| 13:27:11 | ralonsoh | agree | |
| 13:27:21 | ralonsoh | ok, I'll open another LP bug heheheheh | |
| 13:27:25 | sean-k-mooney | it woudl be nice to finally fix this so we dont need custom policy for the binding:profile filed | |
| 13:27:34 | sean-k-mooney | thanks | |
| 13:55:33 | gibi | I'm cancelling the eventlet sync today for the sake of the FeatureFreeze. I'm not tracking anything that is critical for the FF from the eventlet-removal series. The nova-conductor change is blocked by a bug in futurist so that is moved to GG. | |
| 13:56:08 | dansmith | gibi: I'm just reading that now | |
| 13:56:21 | dansmith | futurist aside, we could just make a list of threads and wait for them manually right? | |
| 13:56:28 | gibi | dansmith: right | |
| 13:56:35 | dansmith | probably best to move to G anyway given it's not critical | |
| 13:56:38 | gibi | we have a list of futures we can wait on | |
| 13:56:45 | dansmith | ack | |