<div dir="ltr"><div>Hey y'all,<br><br>We have an internal use case which requires a VM with a TPM, to be used to<br>store a private key. Libvirt has two ways to present a TPM to a VM: passthrough<br>or emulated. Per kashyap and the #qemu IRC channel, libvirt stores the TPM's<br>state on disk, unencrypted. Our risk profile includes "someone walks away with<br>a disk", so this won't work for our use case.<br><br>The QEMU devs have asked for RFEs to implement vTPMs where the state never<br>touches the disk, so I have hopes that this will be done eventually.<br><br>However, I suspect that this will still take some time, especially as nobody<br>has volunteered to actually do the work yet. So, I'd like to propose we<br>implement TPM passthrough in Nova. My team is happy to do the work, but I'd<br>love some guidance as to the best way to implement this so we can get a spec<br>done (I assume it's "just another resource class"?).<br><br>If Nova doesn't want this feature in, and would rather just wait for the<br>features in QEMU, we'll carry it downstream, I guess. :)<br><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><br></div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Thoughts?</div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><br>// jim</div></div></div></div>