[nova] TPM passthrough

Eric Fried openstack at fried.cc
Thu Jun 20 15:08:35 UTC 2019


> So, I'd like to propose we
> implement TPM passthrough in Nova. My team is happy to do the work, but I'd
> love some guidance as to the best way to implement this so we can get a spec
> done (I assume it's "just another resource class"?).

And by "just another resource class" you mean:

- Add TPM to os-resource-classes (exact name subject to bikeshedding).
- Virt driver's update_provider_tree() looks at the guts of the host to
figure out how many TPM devices exist and, if nonzero, tacks an
inventory of that many TPM onto the root provider (max_unit 1
presumably; all others default).
- Flavor desiring this thingy is authored with extra spec resources:TPM=1.
- Scheduler lands instance on host with TPM inventory, and allocates
one. (This is free, no additional code changes necessary.)
- Virt driver's spawn() looks at the allocation, sees TPM:1, and
augments the guest's domain XML to attach the thingy.

Is it any more complicated than that?

I'm fine with this.


More information about the openstack-discuss mailing list