public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
From: Luis Chamberlain <mcgrof@kernel.org>
To: Chuck Lever <cel@kernel.org>, Daniel Gomez <da.gomez@kruces.com>,
	kdevops@lists.linux.dev
Cc: Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH v4 0/8] aws: add dynamic kconfig support
Date: Tue, 16 Sep 2025 17:34:41 -0700	[thread overview]
Message-ID: <20250917003451.2318229-1-mcgrof@kernel.org> (raw)

Chuck, in hopes to help move forward faster, I've taken your scripts
and tried to base the idea on it instead.

Changes on this v4:

  - Adopt Chuck's script
  - Make AWS ssh keys unique to avoid clashes
  - Use a ~/.cache/ for json data
  - Uber optimize for speed

This shaves down generation by *a lot*.

If you want to test:

https://github.com/linux-kdevops/kdevops/tree/mcgrof/aws-dynamic-cloud-config-v4

If you agree to it, please just merge :)

Chuck Lever (1):
  terraform/aws: Add scripts to gather provider resource information

Luis Chamberlain (7):
  aws: prevent SSH key conflicts across multiple kdevops directories
  aws: add optimized Kconfig generator using Chuck's scripts
  aws: integrate dynamic Kconfig generation with make targets
  aws: add cloud billing support with make cloud-bill
  aws: replace static Kconfig files with dynamically generated ones
  aws: add GPU instance defconfigs for AI/ML workloads
  docs: add documentation for dynamic cloud configuration

 defconfigs/aws-gpu-g5-xlarge                  |  36 +
 defconfigs/aws-gpu-p5-48xlarge                |  36 +
 docs/cloud-dynamic-config.md                  | 272 ++++++
 playbooks/roles/gen_tfvars/defaults/main.yml  |   2 +
 .../templates/aws/terraform.tfvars.j2         |   3 +-
 scripts/aws-costs.sh                          |  39 +
 scripts/aws-parse-costs.py                    |  98 +++
 scripts/aws_ssh_key_name.py                   | 165 ++++
 scripts/dynamic-cloud-kconfig.Makefile        |  60 +-
 scripts/generate_cloud_configs.py             |  78 +-
 terraform/Kconfig.ssh                         |  14 +-
 terraform/aws/Kconfig                         |   5 +-
 terraform/aws/kconfigs/Kconfig.compute        | 118 ---
 terraform/aws/kconfigs/Kconfig.location       | 679 ---------------
 terraform/aws/kconfigs/Kconfig.ssh            |  79 ++
 .../aws/kconfigs/instance-types/Kconfig.c7a   |  28 -
 .../aws/kconfigs/instance-types/Kconfig.i4i   |  33 -
 .../aws/kconfigs/instance-types/Kconfig.im4gn |  25 -
 .../kconfigs/instance-types/Kconfig.is4gen    |  25 -
 .../aws/kconfigs/instance-types/Kconfig.m5    |  48 --
 .../aws/kconfigs/instance-types/Kconfig.m7a   |  57 --
 terraform/aws/scripts/aws_ami_info.py         | 771 ++++++++++++++++++
 terraform/aws/scripts/aws_regions_info.py     | 371 +++++++++
 terraform/aws/scripts/ec2_instance_info.py    | 540 ++++++++++++
 terraform/aws/scripts/generate_aws_kconfig.py | 474 +++++++++++
 25 files changed, 3027 insertions(+), 1029 deletions(-)
 create mode 100644 defconfigs/aws-gpu-g5-xlarge
 create mode 100644 defconfigs/aws-gpu-p5-48xlarge
 create mode 100644 docs/cloud-dynamic-config.md
 create mode 100755 scripts/aws-costs.sh
 create mode 100755 scripts/aws-parse-costs.py
 create mode 100755 scripts/aws_ssh_key_name.py
 delete mode 100644 terraform/aws/kconfigs/Kconfig.compute
 delete mode 100644 terraform/aws/kconfigs/Kconfig.location
 create mode 100644 terraform/aws/kconfigs/Kconfig.ssh
 delete mode 100644 terraform/aws/kconfigs/instance-types/Kconfig.c7a
 delete mode 100644 terraform/aws/kconfigs/instance-types/Kconfig.i4i
 delete mode 100644 terraform/aws/kconfigs/instance-types/Kconfig.im4gn
 delete mode 100644 terraform/aws/kconfigs/instance-types/Kconfig.is4gen
 delete mode 100644 terraform/aws/kconfigs/instance-types/Kconfig.m5
 delete mode 100644 terraform/aws/kconfigs/instance-types/Kconfig.m7a
 create mode 100755 terraform/aws/scripts/aws_ami_info.py
 create mode 100755 terraform/aws/scripts/aws_regions_info.py
 create mode 100755 terraform/aws/scripts/ec2_instance_info.py
 create mode 100755 terraform/aws/scripts/generate_aws_kconfig.py

-- 
2.51.0


             reply	other threads:[~2025-09-17  0:34 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-17  0:34 Luis Chamberlain [this message]
2025-09-17  0:34 ` [PATCH v4 1/8] aws: prevent SSH key conflicts across multiple kdevops directories Luis Chamberlain
2025-09-17  3:36   ` Chuck Lever
2025-09-17  0:34 ` [PATCH v4 2/8] terraform/aws: Add scripts to gather provider resource information Luis Chamberlain
2025-09-17  0:34 ` [PATCH v4 3/8] aws: add optimized Kconfig generator using Chuck's scripts Luis Chamberlain
2025-09-17  3:58   ` Chuck Lever
2025-09-17  0:34 ` [PATCH v4 4/8] aws: integrate dynamic Kconfig generation with make targets Luis Chamberlain
2025-09-17  3:40   ` Chuck Lever
2025-09-17  7:05     ` Luis Chamberlain
2025-09-17  0:34 ` [PATCH v4 5/8] aws: add cloud billing support with make cloud-bill Luis Chamberlain
2025-09-17  0:34 ` [PATCH v4 6/8] aws: replace static Kconfig files with dynamically generated ones Luis Chamberlain
2025-09-17  0:34 ` [PATCH v4 7/8] aws: add GPU instance defconfigs for AI/ML workloads Luis Chamberlain
2025-09-17  0:34 ` [PATCH v4 8/8] docs: add documentation for dynamic cloud configuration Luis Chamberlain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250917003451.2318229-1-mcgrof@kernel.org \
    --to=mcgrof@kernel.org \
    --cc=cel@kernel.org \
    --cc=da.gomez@kruces.com \
    --cc=kdevops@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox