<div dir="ltr"><div dir="ltr"><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><br>// jim</div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 20, 2019 at 10:44 AM Mohammed Naser <<a href="mailto:mnaser@vexxhost.com">mnaser@vexxhost.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, Jun 20, 2019 at 10:40 AM Jim Rollenhagen <<a href="mailto:jim@jimrollenhagen.com" target="_blank">jim@jimrollenhagen.com</a>> wrote:<br>
><br>
> 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>
<a href="https://wiki.qemu.org/Features/TPM" rel="noreferrer" target="_blank">https://wiki.qemu.org/Features/TPM</a><br>
<br>
Would it be using this?  I'm just trying to gauge out what TPM passthrough<br>
involves out of personal curiosity.<br></blockquote><div><br></div>Yes, though I think those notes are from before it was implemented.<br><br>Here's the libvirt XML to make it work:<br><a href="https://libvirt.org/formatdomain.html#elementsTpm">https://libvirt.org/formatdomain.html#elementsTpm</a><br><br>I assume we'd just translate a TPM resource class in the flavor to this XML,<br><div>but I'm hoping a nova developer can confirm this. :)</div><div><br></div><div>// jim</div></div></div>