On Thu, 2014-03-20 at 13:50 +0000, Robert Li (baoli) wrote: > Hi Yongli, > > I'm very glad that you bring this up and relive our discussion on PCI > passthrough and its application on networking. The use case you brought up > is: > > user wants a FASTER NIC from INTEL to join a virtual > networking. > > By FASTER, I guess that you mean that the user is allowed to select a > particular vNIC card. Therefore, the above statement can be translated > into the following requests for a PCI device: > . Intel vNIC > . 1G or 10G or ? > . network to join > > First of all, I'm not sure in a cloud environment, a user would care about > the vendor or card type.
Correct. Nor would/should a user of the cloud know what vendor or card type is in use on a particular compute node. At most, all a user of the cloud would be able to select from is an instance type (flavor) that listed some capability like "high_io_networking" or something like that, and the mapping of what "high_io_networking" meant on the back end of Nova would need to be done by the operator (i.e. if the tag "high_io_networking" is on a flavor a user has asked to launch a server with, then that tag should be translated into a set of capabilities that is passed to the scheduler and used to determine where the instance can be scheduled by looking at which compute nodes support that set of capabilities. This is what I've been babbling about with regards to "leaking implementation through the API". What happens if, say, the operator decides to use IBM cards (instead of or in addition to Intel ones)? If you couple the implementation with the API, like the example above shows ("user wants a FASTER NIC from INTEL"), then you have to add more complexity to the front-end API that a user deals with, instead of just adding a capabilities mapping for new compute nodes that says "high_io_networking" tag can match to these new compute nodes with IBM cards. Best, -jay _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev