Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AMD SEV technology enablement #6991

Open
7 of 15 tasks
vasiliy-ul opened this issue Dec 22, 2021 · 20 comments
Open
7 of 15 tasks

AMD SEV technology enablement #6991

vasiliy-ul opened this issue Dec 22, 2021 · 20 comments
Labels
kind/enhancement lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Comments

@vasiliy-ul
Copy link
Contributor

vasiliy-ul commented Dec 22, 2021

This is the placeholder issue for tracking the progress of AMD Memory Encryption features (SEV, SEV-ES, SEV-SNP) enablement in KubeVirt.

Original discussion from the mailing list: https://groups.google.com/g/kubevirt-dev/c/a6XlT0qRNAY/m/IWFAOu2xAAAJ

/kind enhancement

Implementation

Testing

Documentation

@xpivarc
Copy link
Member

xpivarc commented Feb 9, 2022

How the plan for testing looks like? Would it be possible to test this with non-root? Thanks, @vasiliy-ul !

@vasiliy-ul
Copy link
Contributor Author

HI @xpivarc . The actual test cases are provided with the implementation PR (well, only one test case so far...). Though for testing the feature there are a couple of prerequisites that are still missing: 1) we need to have a guest VM with recent kernel and UEFI boot support. The relevant PRs (switch to Fedora 35) are under discussion at the moment; 2) the feature requires specific hardware to run on. I am not sure if there is a test machine with AMD EPYC CPU available in kubevirt CI cluster for that. For now I tested and verified manually on AMD machine.

Regarding non-root: I cannot think of any potetnial issue at the moment. Qemu will just need to have RW access to /dev/sev device which can be setup in the same way as other devices (e.g. /dev/kvm). So in theory it should work with non-root... but I might be too optimistic :)

@xpivarc
Copy link
Member

xpivarc commented Feb 9, 2022

HI @xpivarc . The actual test cases are provided with the implementation PR (well, only one test case so far...). Though for testing the feature there are a couple of prerequisites that are still missing: 1) we need to have a guest VM with recent kernel and UEFI boot support. The relevant PRs (switch to Fedora 35) are under discussion at the moment; 2) the feature requires specific hardware to run on. I am not sure if there is a test machine with AMD EPYC CPU available in kubevirt CI cluster for that. For now I tested and verified manually on AMD machine.

As far as I know, we are missing the hw in our clusters.

Regarding non-root: I cannot think of any potetnial issue at the moment. Qemu will just need to have RW access to /dev/sev device which can be setup in the same way as other devices (e.g. /dev/kvm). So in theory it should work with non-root... but I might be too optimistic :)

Thanks for the response. It is also our assumption but we want to be sure :) I would appreciate it if you give it a try.
/cc @vladikr

@vasiliy-ul
Copy link
Contributor Author

It is also our assumption but we want to be sure :) I would appreciate it if you give it a try.

Hi @xpivarc . I tried to run a SEV guest with non-root. Everything was fine. The access to /dev/sev is properly configured for qemu user and I think that libvirt does not actually talk to the device directly (it only queries the domain for SEV info). So, seems there are no issues with that.

@xpivarc
Copy link
Member

xpivarc commented Feb 21, 2022

It is also our assumption but we want to be sure :) I would appreciate it if you give it a try.

Hi @xpivarc . I tried to run a SEV guest with non-root. Everything was fine. The access to /dev/sev is properly configured for qemu user and I think that libvirt does not actually talk to the device directly (it only queries the domain for SEV info). So, seems there are no issues with that.

@vasiliy-ul Thank you!

@kubevirt-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 17, 2022
@iholder101
Copy link
Contributor

/remove-lifecycle stale

@kubevirt-bot kubevirt-bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 6, 2022
@hw-claudio
Copy link

Hi all, this is up-to-date right? We don't have SEV-ES yet

@alicefr
Copy link
Member

alicefr commented Jan 12, 2023

@hw-claudio not yet. We are still integrating the SEV CI nodes to be able to test the code changes

@kubevirt-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 22, 2023
@hw-claudio
Copy link

@alicefr noticed the bot inactivity message, are the SEV CI nodes integrated now, is AMD SEV-ES functional?

@kubevirt-bot
Copy link
Contributor

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

/lifecycle rotten

@kubevirt-bot kubevirt-bot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jul 30, 2023
@vasiliy-ul
Copy link
Contributor Author

/remove-lifecycle rotten

@kubevirt-bot kubevirt-bot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Aug 1, 2023
@kubevirt-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 30, 2023
@vasiliy-ul
Copy link
Contributor Author

/remove-lifecycle stale

@kubevirt-bot kubevirt-bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 30, 2023
@kubevirt-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 28, 2024
@kubevirt-bot
Copy link
Contributor

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

/lifecycle rotten

@kubevirt-bot kubevirt-bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 27, 2024
@kubevirt-bot kubevirt-bot added the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Feb 27, 2024
@FishmanL
Copy link

Is this live with ES/SNP? Currently working with libvirt on one of our clusters and would love to be able to fold this into our CoCo build.

@vasiliy-ul
Copy link
Contributor Author

SEV-ES is already enabled. SNP is WIP in kernel/qemu/libvirt (not yet upstreamed), hence not supported in KubeVirt so far.

/remove-lifecycle rotten

@kubevirt-bot kubevirt-bot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Feb 29, 2024
@kubevirt-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
None yet
Development

No branches or pull requests

7 participants