VEP 285: Preset launch security defaults via preference#286
VEP 285: Preset launch security defaults via preference#286jschintag wants to merge 1 commit intokubevirt:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
| - [ ] Unit tests are implemented and passing | ||
|
|
||
| ### Beta | ||
| - [ ] Common preference types are added to common-templates for IBM Secure Execution |
There was a problem hiding this comment.
You mean common-instancetypes.
|
|
||
| The following table summarizes the outcomes: | ||
|
|
||
| | VMI | Preference | Outcome | |
There was a problem hiding this comment.
How does it go together with instancetypes?
There was a problem hiding this comment.
As far as i understand instancetypes override settings in the VMI, so it would override it here as well.
Let me add that here as well.
|
|
||
| ## Overview | ||
|
|
||
| Add the `launchSecurity` parameter to `VirtualMachineClusterPreference` and |
There was a problem hiding this comment.
IIRC the intention for providing launcheSecurity with instance types is that nodes need to have the necessary hardware i.e. the resources to support the chosen setting. It's not simply a runtime preference of the guest.
There was a problem hiding this comment.
The hardware support for nodes is determined via nodeselectors (at least for AMD SEV and IBM Secure Execution, no idea about Interl/Arm).
The idea here is not related to the Hardware in the cluster, but rather to specific VM images.
For example IBM Secure Execution requires specific changes to the VM image, which would mean that image can only run in SE mode. If that is then used as a golden image in the cluster, linking it to a preference which means launchSecurity would be enabled automatically. No need for users to choose an instancetype with launchSecurity or enable it manually.
There was a problem hiding this comment.
The more I think about this the more I think we need to deprecate LaunchSecurity out of the instance type spec entirely and just provide it through preferences.
@0xFelix this will bork the v1 VEP for a cycle, would you be against this?
There was a problem hiding this comment.
It's hard to draw a line on deciding what belongs into an instancetype or a preference. But I agree that we should move launchSecurity to preferences.
There was a problem hiding this comment.
okay, @jschintag can you deprecate the instance type field as part of this work in v1beta1?
There was a problem hiding this comment.
Sure @lyarwood. I have added the removal to the beta target and added a deprecation notice to the alpha target.
1487f98 to
75b4206
Compare
|
Thank you for the quick review @0xFelix. I have updated the table to include instancetypes and fixed the mention of common-templates. |
| // Optionally defines the preferred LaunchSecurity | ||
| // | ||
| // +optional | ||
| LaunchSecurity *v1.LaunchSecurity `json:"launchSecurity,omitempty"` |
There was a problem hiding this comment.
I'm not a fan of it but everything is prefixed with preferred, I've wanted to drop it forever but the backwards compat required would be a nightmare.
@0xFelix if we do delay v1 maybe yet another thing to throw in the backlog?
There was a problem hiding this comment.
@lyarwood Do you want this to keep using the preferred prefix? But I agree we could drop it in the future (even this cycle already?).
There was a problem hiding this comment.
I'm pretty overloaded this cycle but I can write it up as a backlog VEP and we can try to address it either this cycle or next.
|
|
||
| ## Overview | ||
|
|
||
| Add the `launchSecurity` parameter to `VirtualMachineClusterPreference` and |
There was a problem hiding this comment.
The more I think about this the more I think we need to deprecate LaunchSecurity out of the instance type spec entirely and just provide it through preferences.
@0xFelix this will bork the v1 VEP for a cycle, would you be against this?
75b4206 to
9b03d43
Compare
I am fine with that, let's refine the instanctype API first and not rush v1 in this cycle. |
This VEP proposes to enable easier management of confidential computing VMs by using common preferences. Signed-off-by: Jan Schintag <jan.schintag@de.ibm.com>
9b03d43 to
d6d9f95
Compare
This VEP proposes to enable easier management of confidential computing VMs by using common preferences.
VEP Metadata
Tracking issue: #285
SIG label: /sig api
What this PR does
Propose adding launchSecurity field to VirtualMachinePreference for configuring VMs.
Special notes for your reviewer