Introduce scripts for dynamically building some AWS Kconfig menus#33
Merged
chucklever merged 7 commits intomainfrom Sep 23, 2025
Merged
Introduce scripts for dynamically building some AWS Kconfig menus#33chucklever merged 7 commits intomainfrom
chucklever merged 7 commits intomainfrom
Conversation
Enable kdevops to quickly pick up new regions and availability zones whenever they are introduced by AWS. The regions that are discovered and output by this script are those that the user has opted-in or are "no opt-in required". boto3 reuses connections to the API endpoint, making the generation of the Kconfig menu quick. Jinja2 lets us manage a large amount of bespoke Kconfig help text painlessly. The new script reports some basic authentication issues and has a "raw" output to enable troubleshooting. This implementation is still missing geographic location information that is retrieved via the 'pricing' API. IMO that can be introduced later. To use: $ terraform/aws/scripts/gen_kconfig_location > terraform/aws/kconfigs/Kconfig.location Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
The generated version has the same number of regions -- all of the regions that do not require opt-in were already included. However the number of availability zones has increased for many regions. The script picks these up automatically. Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Enable kdevops to quickly pick up new instance families and types
whenever they are introduced by AWS.
boto3 reuses connections to the API endpoint, making the generation
of the Kconfig menu quick. Jinja2 lets us manage a large amount of
bespoke Kconfig help text painlessly. The new script reports some
basic authentication issues and has a "raw" output to enable
troubleshooting.
This implementation is still missing information which can be
retrieved via the 'pricing' API.
To use:
$ terraform/aws/scripts/gen_kconfig_instance >
terraform/aws/kconfigs/Kconfig.instance
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
The generated version has many more families. The TARGET_ARCH_* Kconfig settings controls which families and types show up in the menu. New family choices include more cost-effective types like t1, t2, and t3, as well as all of the GPU-enabled instance types. Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Enable kdevops to quickly pick up new Linux distributions whenever
they are introduced by AWS or in the marketplace.
boto3 reuses connections to the API endpoint, making the generation
of the Kconfig menu quick. Jinja2 lets us manage a large amount of
bespoke Kconfig help text painlessly. The new script reports some
basic authentication issues and has a "raw" output to enable
troubleshooting.
To use:
$ terraform/aws/scripts/gen_kconfig_ami >
terraform/aws/kconfigs/Kconfig.ami
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
The generated menu has more choices of Linux distributions and releases. Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Series adds three Python scripts (and related files) that construct some of the Kconfig menus for configuring the use of the AWS cloud provider. In addition, the newly-rebuilt menus are committed as part of this series.
The new scripts use the AWS API to retrieve up-to-the-minute configuration information for region/availability zones, instance families and types, and Linux AMIs. This augments the set of resources that were already in place in the hand-generated menus, and gives a simple way to regenerate these menus at any time.
The new scripts can be triggered by make targets (not included here) or run manually.