13:30:02 #startmeeting pci-passthrough-network 13:30:03 Meeting started Fri Nov 1 13:30:02 2013 UTC and is due to finish in 60 minutes. The chair is sgordon. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:30:04 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 13:30:06 The meeting name has been set to 'pci_passthrough_network' 13:30:10 might be useful to log this :) 13:30:19 alias defined by means of product and vendor id and device type for now 13:30:52 #chair irenab 13:30:53 Current chairs: irenab sgordon 13:30:57 #chair baoli_ 13:30:58 Current chairs: baoli_ irenab sgordon 13:31:20 if auto idscovery for Host pci devices is used, it will catch all VFs that maybe do not have the same physical network access 13:31:46 Yes, the current definition of pci alias is not sufficient 13:32:35 so one think that should be added is physical network "hint" to PCI alias 13:32:54 I am not sure if the physical network should go in the alias 13:32:55 thing 13:33:18 This is a problem specific to network PCI devices 13:33:27 yes 13:33:37 Other PCI devices are not interested in it 13:33:52 so you suggest that neutron should be responsible to resolve it? 13:34:01 this info should be hidden inside port profiles 13:34:20 It might have to be a configuration 13:34:39 I think this should be known in order to schedule the VM on correct Host 13:35:09 Let me reiterate this: a SRIOV VF joins a network when it's assigned a port profile. 13:35:12 The thing is that right now nova handles the PCI devices,right? 13:35:41 the reason for nova to do this is that it has to schedule an instance based on resource requirement 13:35:46 itzikb: yes, for scheduling 13:35:48 are we using sr-iov and pcipassthrough interchangably here ? 13:36:10 @mwagner: for network, we use SRIOV 13:36:14 mwagner: depends :) 13:36:21 we too 13:37:24 ok, in my experience there has been a clear difference between the two 13:37:25 @baoli_: not sure I follow how scheduler can use port porfile 13:38:14 while this discussion is clearly focused on the network side we should also keep in mind that you can passthru other devices (ex storatge controller) 13:38:27 @irenab, for scheduling purpose, port profile is not involved. The scheduler only needs to know that a node has the PCI device that can satisfy the requirement 13:38:40 maybe its possible to pick a solution that will support the global case 13:39:14 @mwagner agreed, Nvidia has came out with technology like SRIOV, but for vGPUs 13:39:37 agree 13:40:06 @mwagner: agreed. we are trying to focus on networking. But some of the nova side work should be generic to support various features 13:40:50 Let me try to summarize a little: 13:40:55 @baoli_: how it takes into account the availability of the physical connectivity of the Host to the required physical network? Do you assume full connectivity? 13:40:56 I am just throwing out there as we discuss where to do things tomake sure we keep it in mind 13:41:26 @mwagner: agree 13:42:12 @baoli_ & @irenab - "the requirement" in your discussion can be very specific to each pci passthrough device 13:42:38 We have a bunch of network PCI devices that all look the same to nova (same alias). But we want nova to schdule a device that is connected to a particlar network, which is only on a subset the devices. 13:43:07 exactly 13:43:41 @irenab: I think that I kind of understand your concern now. Basically, that's another requirement from nova's scheduling point of view 13:43:44 And the question is how to we give nova this hint. 13:44:08 If not alias then how? 13:44:32 Now you are saying physical network connectivity should be part of Nova's scheduling decision 13:44:34 So neutron should know the network topology and the difference of PCI deivces, tell it to nova? 13:45:07 I have the same opinion as yamahata. 13:45:07 yes, I think there will need to be some nova <-> neutron interaction 13:45:12 another option may be to define dedicatad aliases for each group 13:45:23 And can be scaled to other types of pci passthrough devices 13:46:41 @irenab can you give some specifics on this? 13:46:57 PCI alias can be enhanced to implicitly indicate a network segment 13:47:49 adding the info in the alias would make it easy, but it feels a little hacky 13:47:50 thare can be alias per group of devices that should be used to connect to each physical network 13:48:05 @irenab: I think so 13:48:25 it also brings network topology info into nova, which I am uneasy about 13:48:39 HenryG, I agree. There are another uses case of nova <-> neutron interaction. 13:48:43 but it probably will be a lot of pain to manage the lists of devices per Host 13:48:51 @HenryG: not really 13:48:51 and who has the alias -> devices -> physical network mapping? 13:49:11 if nova...then I think we are breaking nova/neutron design 13:49:38 PCI alias is a way to represent PCI devices to Nova 13:49:57 Nova doesn't have any idea about the network topology 13:49:58 #info We have a bunch of network PCI devices that all look the same to nova (same alias). But we want nova to schdule a device that is connected to a particlar network, which is only on a subset the devices. 13:50:20 @sadasu: This is because it's both a pci device and a NIC. I don't see a way around it 13:51:10 @sgordon: one way to do it:nova boot —flavor m1.large —image --nic net-id=,pci-alias=,sriov=,port-profile= 13:51:20 nova should know only alias....neutron should know alias->devices->physical network mapping 13:52:11 so seems there should be sone neutron agent per Host to manage SRIOV NICs, am I right? 13:52:13 the PCI alias will be used to schedule the instance 13:52:14 the nova api extensions for passthrough dont expose the alias atm do they? 13:52:28 @irenab: why? 13:52:36 How about something like this: Nova builds its list of PCI devices. When it discovers a device that is a NIC, it asks neutron which netowrk the NIC is connected to, and adds this info to the alias. ? 13:52:40 (talking about the proposed one here, they didnt make havana) 13:53:37 @HenryG: it only needs to know the alias and the nubmer of resouces in the alias for scheduling purpose. 13:53:40 @baoli_: Neutron should know each Host NICs to be able to answer nova request following proposed above 13:54:09 @baoli_ how does Nova make sure pci-alias, port-profile are correct for net-id? 13:55:15 @sadasu: a net-id is associated with a VLAN, which is also defined in the port-profile. Neutron will make sure that are the same. 13:55:19 @irenab agreed. 13:57:15 baoli_, if the port is VF, Neutron (agent) will change the config of VF to be bound to the VLAN? 13:57:55 @yanahata: in case of the HW VEB yes 13:58:38 I think that we figured out that neutron agent is required also for NIC PCI device discover 13:58:50 @baoli_ agreed...just wanted to point out that nova *checking* with neutron is unavoidable 13:58:53 @yamahata: in the case of libvirt, binding of a VF to a VLAn is to assgine a port profile to the VF 13:59:47 baoli_, got it. thanks 14:00:06 in our case we configure VF locally, so agent will be a must 14:01:03 irenab: do you plan to use a driver in ML2 for managing your agent? 14:01:19 @irenab: whether or not an agent is needed is specific to the node 14:01:20 @HenryG: yes 14:01:20 @irenab agreed! 14:01:29 irenab: excellent! 14:03:16 what I am still not getting is how to impact scheduler to consider network connectivity 14:03:30 @irenab: PCI alias 14:03:35 currently it uses the pci alias 14:04:44 irenab: it is not obvious yet what is the best or most desirable way 14:04:53 You define a PCI alias so that you can create nova instance that makes use of the resources define in that alias 14:05:15 @baoli_: pci alias is a pool of devices with same physicla network connectivity 14:05:20 ? 14:05:40 yes, that is the "easy" way that I mentioned 14:06:10 but I will say again, do we want nova to have this network knowledge? 14:06:11 the IT guy won't like it 14:06:48 @HenryG: I think we don't 14:07:04 @HenryG: nova doesn't have this network knowledge, it only has the PCI alias 14:08:05 but to create the aliases correctly, you need network knowledge 14:08:32 I think we need to involve nova scheduler folks to get a better solution 14:08:37 When you design a cloud, you need to have that in mind 14:09:02 If someone moves cables around, they have to remember to update both neutron config and nova alias config 14:10:05 @HenryG: I think networking info should be kept at neutron config 14:10:29 irenab: yes, that is my preference too 14:10:30 @sadasu: agree 14:11:02 with the number of pci-passthrough ports per physical port, putting the overloaded pci alias burden on the IT is a bit much 14:11:40 we also need to make sure we do not derail the effort to remove nova networking 14:12:15 and how neutron provides this info to the scheduler is what in up for discussion IMHO 14:12:22 @HenryG: what we have discussed so far doesn't involve nova networking 14:12:23 is* 14:12:27 #agree Networking info should be kept in Neutron 14:12:52 #info Need to determine how to impact scheduling 14:13:16 I feel we need scheduler devs to progress here 14:13:19 I'm missing something - How will neutron keep the devices-> network mapping 14:13:33 is there a design session scheduled for passthrough? 14:13:49 yes, as it turns out 14:13:52 on Thursday morning 14:13:56 yah 14:14:01 #link http://icehousedesignsummit.sched.org/event/5d5b92daa0fff4e1d0a070a5c7397650#.UnO27PEYrTc 14:14:17 @sgordon thanks for the link 14:14:27 but its general passthrough not specific networking 14:14:34 yeah 14:14:43 itzikb: such mappings are usually done by config (.ini files) 14:14:48 I ran out of time in puting one session in 14:14:50 networking is heavily involved in the next step here though 14:15:04 and the nova api for pci isnt in havana so needs to be finalized for icehouse 14:15:23 i think this use case will need to be considered in that session 14:15:39 @HenryG: which one? 14:16:00 #chair HenryG 14:16:01 Current chairs: HenryG baoli_ irenab sgordon 14:16:10 Maybe worth to have unconference discussion during the summit? 14:16:32 irenab, +1 - perhaps after the more general pci discussion though? 14:16:47 @sgordon: agree 14:17:26 sorry, I have to leave the session in 3 minutes. 14:17:38 yeah i cant stay much longer either 14:18:06 itzikb: in neutron.conf for bridge-physical mappings, and in vendor .ini files for physical switch port mappings 14:18:32 @sgordon:https://blueprints.launchpad.net/nova/+spec/pci-passthrough-base 14:19:27 Ok, let's continue the discussion during the summit 14:19:37 baoli_, yeah this is what i have been working with atm + the api extension that is on github atm 14:19:37 Thanks 14:19:51 thank you for the great discussion, see you at HK 14:20:09 #endmeeting pci_passthrough_network