Monday, 2026-09-14

melwittsean-k-mooney: thanks for the review on my specs :) I have replied and updated the NIC support in generic PCI driver one15:24
sean-k-mooneycool ill try and take a look later in the week15:25
sean-k-mooneydid the expectaion aound the nova cybrog neutron interactions make sense to you wehn you read them15:25
sean-k-mooneyi know that is a bit complex but the spec were at least somehwat clear on what each service should be doing15:26
sean-k-mooneyi looked at the neutron code but didnt look at teh nova side15:26
melwittsean-k-mooney: yes I think I understood the basics of what you said about nova/cyborg/neutron16:08
melwitton the nova side it appears you are right about accessing 'physical_network' is _currently_ pointless bc it's not used for anything16:09
melwittit accesses the key but then does nothing with it16:10
sean-k-mooneyack16:11
melwittthe question is then, should nova be using that key to report a trait to placement (per the https://specs.openstack.org/openstack/nova-specs/specs/xena/implemented/sriov-smartnic-support.html spec)16:11
sean-k-mooneythat shoudl be an easy fix so16:11
sean-k-mooneyno it should not16:11
sean-k-mooneythe placement reporting is doen by cyborg16:12
sean-k-mooneynova shuld be using the phsyical network form the neturon port/network to request the phsynet when quering placement16:12
melwittyeah, in my testing I commented out that key access and then was able to create the server successfully with the sriov port16:12
melwittack16:12
sean-k-mooneybasiclly we shoudd more or less do this like we would for neutron sriov ports16:13
sean-k-mooneycurrenly we do that filtering after the placement call16:13
sean-k-mooneybut ideally we woudl do it before hand16:13
sean-k-mooneyi.e. we do it via the pci filter today for neutron16:13
sean-k-mooneyin nova our vifi object have a type filed and a network field https://github.com/openstack/nova/blob/master/nova/network/model.py#L427-L42816:15
sean-k-mooneybut im not sure we currently recored the phsynet in the network16:16
sean-k-mooneyso we may have to look that up directly form neutron16:16
sean-k-mooneyor plumb that inf though the modeles16:16
sean-k-mooneythis is the bit i didnt want to look up on firday :)16:16
sean-k-mooneywe have some exsting code we can draw form like https://github.com/openstack/nova/blob/master/nova/network/neutron.py#L2183-L222416:18
sean-k-mooneyfor example in create_resouces_requsts https://github.com/openstack/nova/blob/master/nova/network/neutron.py#L235616:18
sean-k-mooneyinfact that is also wehre we are creating the cyborg requests16:19
sean-k-mooneyhttps://github.com/openstack/nova/blob/master/nova/network/neutron.py#L2356-L237316:19
melwitthm ok, so nova should be using the key to request a trait rather16:20
sean-k-mooneyunless im missing somehting we are looking up the phsynet and nerver actully passing it16:21
sean-k-mooneymelwitt: yes16:21
melwittthat is what I saw as well, looking it up but then doing nothing with it16:21
sean-k-mooneybecause the device profile is the same regardless fo the network16:21
sean-k-mooneybut hte phsynet depend on the network and or l2 segment16:21
melwittok I will update the nova bug with this info16:22
sean-k-mooneyah... https://github.com/openstack/nova/blob/master/nova/network/neutron.py#L2417-L242216:27
melwittok yeah I see now, I had misread the spec16:27
sean-k-mooneyso right now stpehens piror chagnes are findign a host aht has the requried phnets16:27
sean-k-mooneybut when they added the cybrog feature the didnt do it on a per nic basis16:27
sean-k-mooneyi.e. then never enriched the requried traits for the cyborg request group16:28
sean-k-mooneyso if your host only has 1 phsynet this will owrk but if it has 2 then you might get a device on the wrong one form placement16:28
melwittdoes that mean anything needst o change about the code you linked with the physnets? or would the cyborg change be an additive change16:28
sean-k-mooneythat will then fail at the port bidning stage in neutron16:28
sean-k-mooneyno the code shoudl still be changed16:28
melwittI mean, does _that_ code need to change? with cyborg, is it bad to add the physnet to the set the way it is currently?16:29
sean-k-mooneythose are 2 diffent api responces16:29
sean-k-mooneyit is correct to add it to the attachment handel16:29
sean-k-mooneybut https://github.com/openstack/nova/blob/master/nova/network/neutron.py#L2367-L2376 is the imporant part we need to check16:30
sean-k-mooneywe are gettign the reqeust form the device profile16:30
sean-k-mooneythe device profile shoudl not have the phsynet16:30
melwittoh ok, so the if physnet: physnets.add(physnet) can stay as-is even when we fix the cyborg part16:30
sean-k-mooneyright16:30
melwittok that's good16:30
sean-k-mooneythat for neutron sriov port16:30
sean-k-mooneyso that bit is fine16:30
sean-k-mooneysorry was distracted with nova irc meeting as you probaly saw17:02
melwittyes np18:13

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