feat: relax cpu_options schema and add amd_sev_snp + nested_virtualization support#5039
Conversation
|
7ed48b6 to
37651d6
Compare
Brend-Smits
left a comment
There was a problem hiding this comment.
Hey @brilong
Great feature! Thanks a lot for the contribution.
I've tested this change and reviewed it together with @stuartp44
I've pushed some small commits to update the terraform modules and reformatted some code to make the linters happy...
From my perspective this is good to get merged now!
|
Small comment, I notice that your (@brilong) commits don't have verified signatures.. This prevents us from merging the pull request. Could you please rebase your PR and make sure the commits are signed? |
…ation support Signed-off-by: Brian Long <brilong@cisco.com>
- Upgraded AWS provider from version 6.22.1 to 6.35.1 in external-managed-ssm-secrets, multi-runner, and prebuilt examples. - Updated local provider from version 2.6.1 to 2.7.0 in the same examples. - Increased random provider version from 3.7.2 to 3.8.1 across all examples. - Updated provider hashes to reflect the new versions for AWS, local, and random providers.
668b3ba to
14d6640
Compare
|
@Brend-Smits I believe I have properly signed and verified my commits. Please take a look at let me know if you need anything else. Thank you! |
Thanks Brian! I've approved the PR, now waiting for @npalm to merge this. |
2075e98 to
571ad47
Compare
|
@npalm How does this look now? I updated the provider constraints to >= 6.33 in multiple places, both examples and module code. |
|
Hello @Brend-Smits, are you waiting on me for anything else? Thanks. |
|
Good from my point of view. Can we merge this now @npalm ? |
|
Really need this change in my use case. |
|
Could you merge this @npalm or do I need to |
Will do my best |
|
Hello @npalm and @Brend-Smits, I notice another release came out and this PR along with others from @shivdesh are still not merged. What can we do to get these in a release? See #5061 and #5062 . Thank you! |
Hey @brilong, Unfortunately my approval is not enough to get this PR merged. I'm waiting for #5089 to be reviewed/merged so we can change that. After that it should go a lot smoother. Currently we have a single maintainer who needs to approve to get things in, which is a bottleneck. |
|
@Brend-Smits @npalm it has been a few months since this PR was opened and still not merged. Could we prioritize approving and merging our contributions? Thank you. |
|
+1, we would like to leverage this and not have to maintain it in a fork |
|
Hey @brilong Sorry for the delay. I've now got permission to merge pull requests in this project. Thanks a lot for your contribution, and again, sorry for the delay..! |
🤖 I have created a release *beep* *boop* --- ## [7.7.0](v7.6.1...v7.7.0) (2026-06-11) ### Features * Add feature to enable dynamic ec2 config via workflow labels ([#5003](#5003)) ([c68445d](c68445d)) * add support for macos runners ([#4930](#4930)) ([3e179a3](3e179a3)) * Introduce Amazon Linux 2023 ARM image ([#4780](#4780)) ([e572ae5](e572ae5)) * relax cpu_options schema and add amd_sev_snp + nested_virtualization support ([#5039](#5039)) ([5a3746d](5a3746d)) * **runner-role:** Enable using separate IAM role for runners ([#4875](#4875)) ([6642e57](6642e57)) ### Bug Fixes * **ci:** sign auto-generated docs commits ([#5154](#5154)) ([a6af4d2](a6af4d2)) * **runners:** wire job_retry.lambda_memory_size and lambda_timeout ([#5120](#5120)) ([404785e](404785e)) * **scale-up:** Add ec2:TerminateInstances permission to scale-up Lambda IAM policy ([#5152](#5152)) ([94c4e12](94c4e12)) * **scale-up:** prevent negative TotalTargetCapacity when runners exceed maximum ([#5062](#5062)) ([9ab7410](9ab7410)) * **webhook:** Fix publish events to EventBridge ([#5143](#5143)) ([a72b737](a72b737)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: runners-releaser[bot] <194412594+runners-releaser[bot]@users.noreply.github.com>
Summary
This PR updates the module’s CPU options plumbing to support newer EC2 Launch Template
cpu_optionsfields (notablynested_virtualizationandamd_sev_snp) while also making CPU topology settings optional so users aren’t forced to specifycore_count/threads_per_corejust to enable other CPU options.Motivation / Problem
When configuring runners via
multi-runner, thecpu_optionsobject currently requirescore_countandthreads_per_core. This blocks use-cases where users want to set only newly-supported provider fields likenested_virtualizationwithout also pinning CPU topology. AWS itself treats these settings as optional and instance-type-dependent.What changed
cpu_optionsobject type so these fields are optional:core_countthreads_per_corenested_virtualization(valid:enabled/disabled)amd_sev_snp(valid:enabled/disabled)amd_sev_snpandnested_virtualizationto restrict values toenabled|disabledwhen set.aws_launch_templatecpu_optionsblock to pass throughamd_sev_snpandnested_virtualization(usingtry(..., null)so unset values remain unset).cpu_optionscan include the new fields and no longer forcescore_count/threads_per_core.Compatibility / Notes
core_countandthreads_per_corecontinue to work.nested_virtualizationoramd_sev_snpwithout specifying CPU topology.Testing
terraform initterraform validateterraform planwithcpu_options.nested_virtualization = "enabled"on supported instance familiesFixes #5040