[openstack-dev] [nova][PCI] one use case make the flavor/extra-info based solution to be right choice

Jay Pipes jaypipes at gmail.com
Thu Mar 20 19:18:15 UTC 2014


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




More information about the OpenStack-dev mailing list