* [PATCH v1 00/26] Various fixes
@ 2025-08-27 14:27 Chuck Lever
2025-08-27 14:27 ` [PATCH v1 01/26] scripts: Update gen_ssh_key.sh Chuck Lever
` (26 more replies)
0 siblings, 27 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:27 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
I've finally gotten most of my test runners moved to cloud providers
so I'm able to rebase my version of kdevops on
linux-kdevops/kdevops : HEAD
In the process I've found and fixed myriad small issues. One or two
of these might need some attention and additional work. Please have
a close look -- they are all short subjects.
Chuck Lever (26):
scripts: Update gen_ssh_key.sh
terraform/azure: Fix count of managed disks
terraform/azure: Remove tags from terraform configuration
terraform/azure: Enable network acceleration
terraform/azure: Make the resource group name a variable
terraform/azure: Remove the provider version constraint
terraform/azure: Update the RHEL publishers
terraform/oci: Work around oracle/oci provider bug
terraform/oci:
terraform/oci: Enable preemptible compute instances
terraform/aws: Fix zone selection for us_west1
Revert "terraform/aws: Add Oracle Linux AMI selections"
terraform/aws: Remove unused terraform tags
terraform/GCE: Fix the default disk throughput values
terraform/gce: Remove unused tags
terraform/gce: Remove support for Fedora
terraform/gce: Update existing machine types and introduce new ones
terraform: Create the user's .ssh/config if it does not already exist
pynfs: Don't install xdrlib3 on older RHEL
guestfs: Update the guestfs playbook description
gen_hosts: Add 'localhost' to the [all] group
gen_host: Add [service] group to the builder template
guestfs: Don't run the 'destroy' tags on the controller
base_image: Skip "locales-all" package on Fedora
update_etc_hosts: ipaddr
Add an Ansible requirements.yml file
playbooks/guestfs.yml | 2 +-
.../base_image/templates/virt-builder.j2 | 2 +-
.../roles/gen_hosts/templates/builder.j2 | 5 +
.../templates/azure/terraform.tfvars.j2 | 1 +
.../templates/oci/terraform.tfvars.j2 | 1 +
.../pynfs/tasks/install-deps/redhat/main.yml | 2 +
playbooks/roles/terraform/tasks/main.yml | 1 +
.../roles/update_etc_hosts/tasks/main.yml | 4 +-
requirements.yml | 8 ++
scripts/ansible.Makefile | 5 +
scripts/gen_ssh_key.sh | 2 +-
scripts/guestfs.Makefile | 1 +
terraform/aws/kconfigs/Kconfig.compute | 4 -
terraform/aws/kconfigs/Kconfig.location | 21 ++-
terraform/aws/kconfigs/distros/Kconfig.oracle | 48 -------
terraform/aws/main.tf | 13 --
terraform/azure/kconfigs/Kconfig.location | 16 +++
terraform/azure/kconfigs/Kconfig.storage | 1 +
.../azure/kconfigs/publishers/Kconfig.rhel | 10 +-
terraform/azure/main.tf | 35 +----
terraform/azure/provider.tf | 2 +-
terraform/azure/vars.tf | 5 +
terraform/gce/kconfigs/Kconfig.compute | 4 -
terraform/gce/kconfigs/Kconfig.storage | 6 +-
terraform/gce/kconfigs/images/Kconfig.fedora | 95 -------------
.../gce/kconfigs/machines/Kconfig.c3-standard | 41 ++++++
.../kconfigs/machines/Kconfig.c3d-standard | 46 ++++++
.../gce/kconfigs/machines/Kconfig.c4-standard | 23 +--
.../kconfigs/machines/Kconfig.c4a-standard | 57 ++++++++
.../kconfigs/machines/Kconfig.c4d-standard | 51 +++++++
.../gce/kconfigs/machines/Kconfig.e2-highcpu | 58 ++++++++
.../gce/kconfigs/machines/Kconfig.e2-standard | 58 ++++++++
.../gce/kconfigs/machines/Kconfig.n1-highcpu | 55 ++++++++
.../gce/kconfigs/machines/Kconfig.n1-standard | 26 ++--
.../gce/kconfigs/machines/Kconfig.n2-highcpu | 16 +--
.../gce/kconfigs/machines/Kconfig.n2-standard | 16 +--
.../gce/kconfigs/machines/Kconfig.n2d-highcpu | 15 +-
.../kconfigs/machines/Kconfig.n2d-standard | 17 ++-
.../gce/kconfigs/machines/Kconfig.n4-highcpu | 16 +--
.../gce/kconfigs/machines/Kconfig.n4-standard | 16 +--
terraform/gce/main.tf | 2 -
terraform/oci/kconfigs/Kconfig.storage | 132 ++++++++++++++++++
terraform/oci/main.tf | 8 ++
terraform/oci/provider.tf | 4 +-
terraform/oci/vars.tf | 5 +
terraform/oci/volumes/main.tf | 12 +-
terraform/oci/volumes/vars.tf | 5 +
47 files changed, 687 insertions(+), 286 deletions(-)
create mode 100644 requirements.yml
delete mode 100644 terraform/aws/kconfigs/distros/Kconfig.oracle
delete mode 100644 terraform/gce/kconfigs/images/Kconfig.fedora
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.c3-standard
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.c3d-standard
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.c4a-standard
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.c4d-standard
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.e2-highcpu
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.e2-standard
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.n1-highcpu
--
2.51.0
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH v1 01/26] scripts: Update gen_ssh_key.sh
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
@ 2025-08-27 14:27 ` Chuck Lever
2025-08-27 14:27 ` [PATCH v1 02/26] terraform/azure: Fix count of managed disks Chuck Lever
` (25 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:27 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Drop the -b option. We're stuck with RSA because some cloud providers
require it, but ssh-keygen's default bit length for RSA keys is 3072,
which is better than the value specified here.
Leaving off -b means when ssh-keygen increases its default, kdevops
will get that change without human intervention.
I'm also adding a -C option here because I got really confused when
I looked at the terraform state imported back from the provider. The
public ssh key comment was "cel@ ... ". I thought that this was my
personal public key.
It's is not my public key, thankfully. Rather the comment chosen by
ssh-keygen happens to be the same as the one in my personal public
key. So let's pick a more distinct eye-catcher to avoid future
myocardial infarction.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
scripts/gen_ssh_key.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/gen_ssh_key.sh b/scripts/gen_ssh_key.sh
index 72bdb22694aa..4f656fe35b7c 100755
--- a/scripts/gen_ssh_key.sh
+++ b/scripts/gen_ssh_key.sh
@@ -5,4 +5,4 @@ source ${TOPDIR}/.config
source ${TOPDIR}/scripts/lib.sh
echo "Creating $KDEVOPS_SSH_PRIVKEY"
-ssh-keygen -b 2048 -t rsa -f $KDEVOPS_SSH_PRIVKEY -q -N ""
+ssh-keygen -t rsa -C generated-by-kdevops -f $KDEVOPS_SSH_PRIVKEY -q -N ""
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 02/26] terraform/azure: Fix count of managed disks
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
2025-08-27 14:27 ` [PATCH v1 01/26] scripts: Update gen_ssh_key.sh Chuck Lever
@ 2025-08-27 14:27 ` Chuck Lever
2025-08-27 14:27 ` [PATCH v1 03/26] terraform/azure: Remove tags from terraform configuration Chuck Lever
` (24 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:27 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
The Kconfig choice menu allows the selection of a single disk, but
there was no default setting for that, causing the gen_tfvars
playbook to fail with:
ansible.errors.AnsibleUndefinedVariable:
'terraform_azure_managed_disks_per_instance' is undefined.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
terraform/azure/kconfigs/Kconfig.storage | 1 +
1 file changed, 1 insertion(+)
diff --git a/terraform/azure/kconfigs/Kconfig.storage b/terraform/azure/kconfigs/Kconfig.storage
index 5bfe1441c09c..d4885163a3b6 100644
--- a/terraform/azure/kconfigs/Kconfig.storage
+++ b/terraform/azure/kconfigs/Kconfig.storage
@@ -64,6 +64,7 @@ endchoice
config TERRAFORM_AZURE_MANAGED_DISKS_PER_INSTANCE
int
output yaml
+ default 1 if TERRAFORM_AZURE_MANAGED_DISKS_PER_INSTANCE_1
default 2 if TERRAFORM_AZURE_MANAGED_DISKS_PER_INSTANCE_2
default 3 if TERRAFORM_AZURE_MANAGED_DISKS_PER_INSTANCE_3
default 4 if TERRAFORM_AZURE_MANAGED_DISKS_PER_INSTANCE_4
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 03/26] terraform/azure: Remove tags from terraform configuration
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
2025-08-27 14:27 ` [PATCH v1 01/26] scripts: Update gen_ssh_key.sh Chuck Lever
2025-08-27 14:27 ` [PATCH v1 02/26] terraform/azure: Fix count of managed disks Chuck Lever
@ 2025-08-27 14:27 ` Chuck Lever
2025-08-27 14:27 ` [PATCH v1 04/26] terraform/azure: Enable network acceleration Chuck Lever
` (23 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:27 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Clean up: as far as I can tell these are unused anywhere.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
terraform/azure/main.tf | 24 ------------------------
1 file changed, 24 deletions(-)
diff --git a/terraform/azure/main.tf b/terraform/azure/main.tf
index 2df0dc609381..e1d99cecf003 100644
--- a/terraform/azure/main.tf
+++ b/terraform/azure/main.tf
@@ -3,10 +3,6 @@
resource "azurerm_resource_group" "kdevops_group" {
name = "kdevops_resource_group"
location = var.azure_location
-
- tags = {
- environment = "kdevops tests"
- }
}
locals {
@@ -18,10 +14,6 @@ resource "azurerm_virtual_network" "kdevops_network" {
address_space = [local.kdevops_private_net]
location = var.azure_location
resource_group_name = azurerm_resource_group.kdevops_group.name
-
- tags = {
- environment = "kdevops tests"
- }
}
resource "azurerm_subnet" "kdevops_subnet" {
@@ -37,10 +29,6 @@ resource "azurerm_public_ip" "kdevops_publicip" {
location = var.azure_location
resource_group_name = azurerm_resource_group.kdevops_group.name
allocation_method = "Static"
-
- tags = {
- environment = "kdevops tests"
- }
}
resource "azurerm_network_security_group" "kdevops_sg" {
@@ -59,10 +47,6 @@ resource "azurerm_network_security_group" "kdevops_sg" {
source_address_prefix = "*"
destination_address_prefix = "*"
}
-
- tags = {
- environment = "kdevops tests"
- }
}
resource "azurerm_network_interface_security_group_association" "kdevops_sg_assoc" {
@@ -83,10 +67,6 @@ resource "azurerm_network_interface" "kdevops_nic" {
private_ip_address_allocation = "Dynamic"
public_ip_address_id = element(azurerm_public_ip.kdevops_publicip.*.id, count.index)
}
-
- tags = {
- environment = "kdevops tests"
- }
}
resource "azurerm_linux_virtual_machine" "kdevops_vm" {
@@ -132,10 +112,6 @@ resource "azurerm_linux_virtual_machine" "kdevops_vm" {
username = var.ssh_config_user
public_key = var.ssh_config_pubkey_file != "" ? file(var.ssh_config_pubkey_file) : ""
}
-
- tags = {
- environment = "kdevops tests"
- }
}
module "kdevops_managed_disks" {
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 04/26] terraform/azure: Enable network acceleration
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (2 preceding siblings ...)
2025-08-27 14:27 ` [PATCH v1 03/26] terraform/azure: Remove tags from terraform configuration Chuck Lever
@ 2025-08-27 14:27 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 05/26] terraform/azure: Make the resource group name a variable Chuck Lever
` (22 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:27 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
This option appears to be on by default when creating VM machines
via the Azure console.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
terraform/azure/main.tf | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/terraform/azure/main.tf b/terraform/azure/main.tf
index e1d99cecf003..c178c34d0180 100644
--- a/terraform/azure/main.tf
+++ b/terraform/azure/main.tf
@@ -56,10 +56,11 @@ resource "azurerm_network_interface_security_group_association" "kdevops_sg_asso
}
resource "azurerm_network_interface" "kdevops_nic" {
- count = local.kdevops_num_boxes
- name = format("kdevops_nic_%02d", count.index + 1)
- location = var.azure_location
- resource_group_name = azurerm_resource_group.kdevops_group.name
+ count = local.kdevops_num_boxes
+ accelerated_networking_enabled = true
+ name = format("kdevops_nic_%02d", count.index + 1)
+ location = var.azure_location
+ resource_group_name = azurerm_resource_group.kdevops_group.name
ip_configuration {
name = "kdevops_nic_configuration"
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 05/26] terraform/azure: Make the resource group name a variable
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (3 preceding siblings ...)
2025-08-27 14:27 ` [PATCH v1 04/26] terraform/azure: Enable network acceleration Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 06/26] terraform/azure: Remove the provider version constraint Chuck Lever
` (21 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Resource groups appear to be global. To run more than one instance
of kdevops in Azure at the same time, each instance needs a unique
resource group. Hoist the resource group name into Kconfig so that
it can be set to a unique value.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
.../templates/azure/terraform.tfvars.j2 | 1 +
terraform/azure/kconfigs/Kconfig.location | 16 ++++++++++++++++
terraform/azure/main.tf | 2 +-
terraform/azure/vars.tf | 5 +++++
4 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/playbooks/roles/gen_tfvars/templates/azure/terraform.tfvars.j2 b/playbooks/roles/gen_tfvars/templates/azure/terraform.tfvars.j2
index 8be48e800036..7ce0f6170e22 100644
--- a/playbooks/roles/gen_tfvars/templates/azure/terraform.tfvars.j2
+++ b/playbooks/roles/gen_tfvars/templates/azure/terraform.tfvars.j2
@@ -1,4 +1,5 @@
azure_subscription_id = "{{ terraform_azure_subscription_id }}"
+azure_resource_group_name = "{{ terraform_azure_resource_group_name }}"
azure_location = "{{ terraform_azure_location }}"
azure_vmsize = "{{ terraform_azure_vm_size }}"
azure_image_publisher = "{{ terraform_azure_image_publisher }}"
diff --git a/terraform/azure/kconfigs/Kconfig.location b/terraform/azure/kconfigs/Kconfig.location
index a7e8bae37507..2cc0e419d54d 100644
--- a/terraform/azure/kconfigs/Kconfig.location
+++ b/terraform/azure/kconfigs/Kconfig.location
@@ -134,3 +134,19 @@ config TERRAFORM_AZURE_LOCATION
default "westus2" if TERRAFORM_AZURE_REGION_WESTUS2
default "westus3" if TERRAFORM_AZURE_REGION_WESTUS3
default "westcentralus" if TERRAFORM_AZURE_REGION_WESTCENTRALUS
+
+config TERRAFORM_AZURE_RESOURCE_GROUP_NAME
+ string "Azure resource group name"
+ output yaml
+ default "kdevops_resource_group"
+ help
+ An Azure resource group is a container that holds related
+ resources so they can be managed as a single unit. These
+ resources share the same life cycle and are deployed,
+ updated, and deleted together. Resource groups are global
+ to your subscription.
+
+ To run concurrent kdevops jobs in Azure, each run must
+ have a unique resouce group name.
+
+ https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/overview#resource-groups
diff --git a/terraform/azure/main.tf b/terraform/azure/main.tf
index c178c34d0180..8dcead78b5fd 100644
--- a/terraform/azure/main.tf
+++ b/terraform/azure/main.tf
@@ -1,7 +1,7 @@
# Azure terraform provider main
resource "azurerm_resource_group" "kdevops_group" {
- name = "kdevops_resource_group"
+ name = var.azure_resource_group_name
location = var.azure_location
}
diff --git a/terraform/azure/vars.tf b/terraform/azure/vars.tf
index 2d06857905e2..dd3c20ed05c7 100644
--- a/terraform/azure/vars.tf
+++ b/terraform/azure/vars.tf
@@ -33,6 +33,11 @@ variable "azure_managed_disks_tier" {
type = string
}
+variable "azure_resource_group_name" {
+ description = "Name of the set of resources for this run"
+ type = string
+}
+
variable "azure_subscription_id" {
description = "Your Azure subscription ID"
type = string
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 06/26] terraform/azure: Remove the provider version constraint
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (4 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 05/26] terraform/azure: Make the resource group name a variable Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 07/26] terraform/azure: Update the RHEL publishers Chuck Lever
` (20 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
The most recent version 3 release of hashicorp/azurerm was 3.117.1,
released on February 28, 2025. Version 3 is no longer getting fixes.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
terraform/azure/provider.tf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/terraform/azure/provider.tf b/terraform/azure/provider.tf
index 97baad4245d7..4b6380bbc68c 100644
--- a/terraform/azure/provider.tf
+++ b/terraform/azure/provider.tf
@@ -2,7 +2,7 @@ terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
- version = "~>3"
+ version = "> 4"
}
}
}
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 07/26] terraform/azure: Update the RHEL publishers
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (5 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 06/26] terraform/azure: Remove the provider version constraint Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 08/26] terraform/oci: Work around oracle/oci provider bug Chuck Lever
` (19 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Make the most recent RHEL 9 update (update 6, announced two months
ago) the default selection.
Since update 10 has been available for more than a year, add a RHEL
8.10 menu choice.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
terraform/azure/kconfigs/publishers/Kconfig.rhel | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/terraform/azure/kconfigs/publishers/Kconfig.rhel b/terraform/azure/kconfigs/publishers/Kconfig.rhel
index 16ec92903976..3a6a7d9a1797 100644
--- a/terraform/azure/kconfigs/publishers/Kconfig.rhel
+++ b/terraform/azure/kconfigs/publishers/Kconfig.rhel
@@ -4,7 +4,7 @@ if TARGET_ARCH_X86_64
choice
prompt "Red Hat Enterprise Linux release"
- default TERRAFORM_AZURE_IMAGE_LINUX_RHEL_9_5
+ default TERRAFORM_AZURE_IMAGE_LINUX_RHEL_9_6
help
This option specifies which of a publisher's offers to use
when creating kdevops compute instances.
@@ -21,6 +21,12 @@ config TERRAFORM_AZURE_IMAGE_LINUX_RHEL_8_9
This option sets the OS image to Red Hat Enterprise Linux
release 8 update 9.
+config TERRAFORM_AZURE_IMAGE_LINUX_RHEL_8_10
+ bool "RHEL 8.10 x64"
+ help
+ This option sets the OS image to Red Hat Enterprise Linux
+ release 8 update 10.
+
config TERRAFORM_AZURE_IMAGE_LINUX_RHEL_9_5
bool "RHEL 9.5 x64"
help
@@ -40,6 +46,7 @@ config TERRAFORM_AZURE_IMAGE_OFFER
output yaml
default "RHEL" if TERRAFORM_AZURE_IMAGE_LINUX_RHEL_7_9
default "RHEL" if TERRAFORM_AZURE_IMAGE_LINUX_RHEL_8_9
+ default "RHEL" if TERRAFORM_AZURE_IMAGE_LINUX_RHEL_8_10
default "RHEL" if TERRAFORM_AZURE_IMAGE_LINUX_RHEL_9_5
default "RHEL" if TERRAFORM_AZURE_IMAGE_LINUX_RHEL_9_6
@@ -48,6 +55,7 @@ config TERRAFORM_AZURE_IMAGE_SKU
output yaml
default "7_9" if TERRAFORM_AZURE_IMAGE_LINUX_RHEL_7_9
default "8_9" if TERRAFORM_AZURE_IMAGE_LINUX_RHEL_8_9
+ default "8_10" if TERRAFORM_AZURE_IMAGE_LINUX_RHEL_8_10
default "9_5" if TERRAFORM_AZURE_IMAGE_LINUX_RHEL_9_5
default "9_6" if TERRAFORM_AZURE_IMAGE_LINUX_RHEL_9_6
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 08/26] terraform/oci: Work around oracle/oci provider bug
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (6 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 07/26] terraform/azure: Update the RHEL publishers Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 09/26] terraform/oci: Chuck Lever
` (18 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
First, I was getting
module.volumes[0].oci_core_volume.kdevops_volume_extra[0]: Creating...
╷
│ Error: 400-CannotParseRequest, Incorrectly formatted request. Please refer to our documentation for help.
No idea why, though maybe this is the first time I've tried using
us-east1 when my home region is us-central. Nothing I tried changed
this result, and there's no obvious problem with the way that the
oci_core_volume resource is specified, which hasn't changed in many
months.
All documentation I consulted stated that because the root module
explicitly specifies exactly one provider, child modules are
supposed to inherit that provider. But that isn't happening here:
$ terraform providers
Providers required by configuration:
.
├── provider[registry.terraform.io/oracle/oci] ~> 6.0
└── module.volumes
└── provider[registry.terraform.io/hashicorp/oci]
And looks like it's a bug that was never fixed:
https://github.com/oracle/terraform-provider-oci/issues/1608
The only workaround I understood was to switch the root module
back to using the hashicorp/oci provider so that the root and
"volumes" module use the same provider.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
terraform/oci/provider.tf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/terraform/oci/provider.tf b/terraform/oci/provider.tf
index 08d0d2c526c6..610d2059577a 100644
--- a/terraform/oci/provider.tf
+++ b/terraform/oci/provider.tf
@@ -2,8 +2,8 @@ terraform {
required_version = ">= 0.12.6"
required_providers {
oci = {
- source = "oracle/oci"
- version = "~> 6"
+ source = "hashicorp/oci"
+ version = "> 7"
}
}
}
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 09/26] terraform/oci:
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (7 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 08/26] terraform/oci: Work around oracle/oci provider bug Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 10/26] terraform/oci: Enable preemptible compute instances Chuck Lever
` (17 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Add the vpus_per_gb argument when provisioning disk drives to
control how much performance is available. This is similar to
the performance settings available for other providers.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
.../templates/oci/terraform.tfvars.j2 | 1 +
terraform/oci/kconfigs/Kconfig.storage | 132 ++++++++++++++++++
terraform/oci/main.tf | 1 +
terraform/oci/vars.tf | 5 +
terraform/oci/volumes/main.tf | 12 +-
terraform/oci/volumes/vars.tf | 5 +
6 files changed, 151 insertions(+), 5 deletions(-)
diff --git a/playbooks/roles/gen_tfvars/templates/oci/terraform.tfvars.j2 b/playbooks/roles/gen_tfvars/templates/oci/terraform.tfvars.j2
index 9c32ea5884d4..0839bfacfb24 100644
--- a/playbooks/roles/gen_tfvars/templates/oci/terraform.tfvars.j2
+++ b/playbooks/roles/gen_tfvars/templates/oci/terraform.tfvars.j2
@@ -18,6 +18,7 @@ oci_subnet_ocid = "{{ terraform_oci_subnet_ocid }}"
{% endif %}
oci_volumes_per_instance = {{ terraform_oci_volumes_per_instance }}
oci_volumes_size = {{ terraform_oci_volumes_size }}
+oci_vpus_per_gb = {{ terraform_oci_vpus_per_gb }}
oci_data_volume_device_file_name = "{{ terraform_oci_data_volume_device_file_name }}"
oci_sparse_volume_device_file_name = "{{ terraform_oci_sparse_volume_device_file_name }}"
diff --git a/terraform/oci/kconfigs/Kconfig.storage b/terraform/oci/kconfigs/Kconfig.storage
index ed872a26834e..15a2a05bb26a 100644
--- a/terraform/oci/kconfigs/Kconfig.storage
+++ b/terraform/oci/kconfigs/Kconfig.storage
@@ -122,6 +122,138 @@ config TERRAFORM_OCI_VOLUMES_SIZE
default 4096 if TERRAFORM_OCI_VOLUMES_SIZE_4096G
default 8192 if TERRAFORM_OCI_VOLUMES_SIZE_8192G
+choice
+ prompt "Volume Performance Units for each additional volume"
+ default TERRAFORM_OCI_VPUS_PER_GB_10
+ help
+ Higher VPUs per GB increases maximum IOPS and throughput,
+ but costs more. For more information, see:
+
+ https://docs.oracle.com/en-us/iaas/Content/Block/Concepts/blockvolumeperformance.htm#vpus
+
+config TERRAFORM_OCI_VPUS_PER_GB_0
+ bool "0 VPUs"
+ help
+ Lowest cost.
+
+ 2 IOPS/GB, 3,000 IOPS maximum/volume.
+ 480 MBPS maximum/volume.
+
+config TERRAFORM_OCI_VPUS_PER_GB_10
+ bool "10 VPUs"
+ help
+ Balanced performance.
+
+ 60 IOPS/GB, 25,000 IOPS maximum/volume.
+ 480 MBPS maximum/volume.
+
+config TERRAFORM_OCI_VPUS_PER_GB_20
+ bool "20 VPUs"
+ help
+ Higher performance.
+
+ 75 IOPS/GB, 50,000 IOPS maximum/volume.
+ 680 MBPS maximum/volume.
+
+config TERRAFORM_OCI_VPUS_PER_GB_30
+ bool "30 VPUs"
+ help
+ Ultra high performance.
+
+ 90 IOPS/GB, 75,000 IOPS maximum/volume.
+ 880 MBPS/volume.
+
+config TERRAFORM_OCI_VPUS_PER_GB_40
+ bool "40 VPUs"
+ help
+ Ultra high performance.
+
+ 105 IOPS/GB, 100,000 IOPS maximum/volume.
+ 1,080 MBPS maximum/volume.
+
+config TERRAFORM_OCI_VPUS_PER_GB_50
+ bool "50 VPUs"
+ help
+ Ultra high performance.
+
+ 120 IOPS/GB, 125,000 IOPS maximum/volume.
+ 1,280 max MBPS/volume.
+
+config TERRAFORM_OCI_VPUS_PER_GB_60
+ bool "60 VPUs"
+ help
+ Ultra high performance.
+
+ 135 IOPS/GB, 150,000 IOPS maximum/volume.
+ 1,480 max MBPS/volume.
+
+config TERRAFORM_OCI_VPUS_PER_GB_70
+ bool "70 VPUs"
+ help
+ Ultra high performance.
+
+ 150 IOPS/GB, 175,000 IOPS maximum/volume.
+ 1,680 max MBPS/volume.
+
+config TERRAFORM_OCI_VPUS_PER_GB_80
+ bool "80 VPUs"
+ help
+ Ultra high performance.
+
+ 165 IOPS/GB, 200,000 IOPS maximum/volume.
+ 1,880 max MBPS/volume.
+
+config TERRAFORM_OCI_VPUS_PER_GB_90
+ bool "90 VPUs"
+ help
+ Ultra high performance.
+
+ 180 IOPS/GB, 225,000 IOPS maximum/volume.
+ 2,080 max MBPS/volume.
+
+config TERRAFORM_OCI_VPUS_PER_GB_100
+ bool "100 VPUs"
+ help
+ Ultra high performance.
+
+ 195 IOPS/GB, 250,000 IOPS maximum/volume.
+ 2,280 max MBPS/volume.
+
+config TERRAFORM_OCI_VPUS_PER_GB_110
+ bool "110 VPUs"
+ help
+ Ultra high performance.
+
+ 210 IOPS/GB, 275,000 IOPS maximum/volume.
+ 2,480 max MBPS/volume.
+
+config TERRAFORM_OCI_VPUS_PER_GB_120
+ bool "120 VPUs"
+ help
+ Ultra high performance.
+
+ 225 IOPS/GB, 300,000 IOPS maximum/volume.
+ 2,680 max MBPS/volume.
+
+endchoice
+
+config TERRAFORM_OCI_VPUS_PER_GB
+ int
+ output yaml
+ default 0 if TERRAFORM_OCI_VPUS_PER_GB_0
+ default 10 if TERRAFORM_OCI_VPUS_PER_GB_10
+ default 20 if TERRAFORM_OCI_VPUS_PER_GB_20
+ default 30 if TERRAFORM_OCI_VPUS_PER_GB_30
+ default 40 if TERRAFORM_OCI_VPUS_PER_GB_40
+ default 50 if TERRAFORM_OCI_VPUS_PER_GB_50
+ default 60 if TERRAFORM_OCI_VPUS_PER_GB_60
+ default 70 if TERRAFORM_OCI_VPUS_PER_GB_70
+ default 80 if TERRAFORM_OCI_VPUS_PER_GB_80
+ default 90 if TERRAFORM_OCI_VPUS_PER_GB_90
+ default 100 if TERRAFORM_OCI_VPUS_PER_GB_100
+ default 110 if TERRAFORM_OCI_VPUS_PER_GB_110
+ default 120 if TERRAFORM_OCI_VPUS_PER_GB_120
+
config TERRAFORM_OCI_DATA_VOLUME_DEVICE_FILE_NAME
string "Data volume's device file name"
output yaml
diff --git a/terraform/oci/main.tf b/terraform/oci/main.tf
index d231f2225e5d..1d2d0f82e00f 100644
--- a/terraform/oci/main.tf
+++ b/terraform/oci/main.tf
@@ -50,6 +50,7 @@ module "volumes" {
vol_instance_name = element(var.kdevops_nodes, count.index)
vol_volume_count = var.oci_volumes_per_instance
vol_volume_size = var.oci_volumes_size
+ vol_vpus_per_gb = var.oci_vpus_per_gb
}
resource "oci_core_vcn" "kdevops_vcn" {
diff --git a/terraform/oci/vars.tf b/terraform/oci/vars.tf
index c116829fbc72..401341feb34b 100644
--- a/terraform/oci/vars.tf
+++ b/terraform/oci/vars.tf
@@ -98,3 +98,8 @@ variable "oci_volumes_size" {
description = "The size of additional block volumes, in gibibytes"
type = number
}
+
+variable "oci_vpus_per_gb" {
+ description = "Volume performance units"
+ type = number
+}
diff --git a/terraform/oci/volumes/main.tf b/terraform/oci/volumes/main.tf
index 56b9a476015a..7483ff72836e 100644
--- a/terraform/oci/volumes/main.tf
+++ b/terraform/oci/volumes/main.tf
@@ -1,9 +1,11 @@
resource "oci_core_volume" "kdevops_volume_extra" {
- count = var.vol_volume_count
- availability_domain = var.vol_availability_domain
- display_name = format("kdevops_%s_volume%02d", var.vol_instance_name, count.index + 1)
- compartment_id = var.vol_compartment_ocid
- size_in_gbs = var.vol_volume_size
+ count = var.vol_volume_count
+ availability_domain = var.vol_availability_domain
+ compartment_id = var.vol_compartment_ocid
+ display_name = format("kdevops_%s_vol%02d", var.vol_instance_name, count.index + 1)
+ is_auto_tune_enabled = false
+ size_in_gbs = var.vol_volume_size
+ vpus_per_gb = var.vol_vpus_per_gb
}
locals {
diff --git a/terraform/oci/volumes/vars.tf b/terraform/oci/volumes/vars.tf
index 57c5e2bf646b..ee702c2d713f 100644
--- a/terraform/oci/volumes/vars.tf
+++ b/terraform/oci/volumes/vars.tf
@@ -27,3 +27,8 @@ variable "vol_volume_size" {
description = "Size of each volume, in gibibytes"
type = number
}
+
+variable "vol_vpus_per_gb" {
+ description = "Volume performance units"
+ type = number
+}
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 10/26] terraform/oci: Enable preemptible compute instances
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (8 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 09/26] terraform/oci: Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 11/26] terraform/aws: Fix zone selection for us_west1 Chuck Lever
` (16 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Enabling instance preemption allows the provider to destroy the
instance if it needs the resources. The benefit is a 50%
reduction in price.
Typically, there's nothing on these instances that can't be
re-cloned or reproduced.
This should really be a Kconfig setting.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
terraform/oci/main.tf | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/terraform/oci/main.tf b/terraform/oci/main.tf
index 1d2d0f82e00f..45a4b4bc0c63 100644
--- a/terraform/oci/main.tf
+++ b/terraform/oci/main.tf
@@ -37,6 +37,13 @@ resource "oci_core_instance" "kdevops_instance" {
ssh_authorized_keys = file(var.ssh_config_pubkey_file)
}
+ preemptible_instance_config {
+ preemption_action {
+ type = "TERMINATE"
+ preserve_boot_volume = false
+ }
+ }
+
preserve_boot_volume = false
}
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 11/26] terraform/aws: Fix zone selection for us_west1
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (9 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 10/26] terraform/oci: Enable preemptible compute instances Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 12/26] Revert "terraform/aws: Add Oracle Linux AMI selections" Chuck Lever
` (15 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
The us_west1 region was missing its zone selection menu.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
terraform/aws/kconfigs/Kconfig.location | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/terraform/aws/kconfigs/Kconfig.location b/terraform/aws/kconfigs/Kconfig.location
index b457166e0552..e5dacb9dd630 100644
--- a/terraform/aws/kconfigs/Kconfig.location
+++ b/terraform/aws/kconfigs/Kconfig.location
@@ -573,11 +573,11 @@ endchoice
endif # TERRAFORM_AWS_REGION_US_EAST_2
-if TERRAFORM_AWS_REGION_US_WEST_2
+if TERRAFORM_AWS_REGION_US_WEST_1
choice
prompt "AWS availability zone"
- default TERRAFORM_AWS_AV_ZONE_US_WEST_2B
+ default TERRAFORM_AWS_AV_ZONE_US_WEST_1B
help
This option sets the AWS availablity zone to the specified value.
If you wish to expand on this list send a patch after reading this
@@ -591,6 +591,23 @@ config TERRAFORM_AWS_AV_ZONE_US_WEST_1B
help
This option selects the us-west-1b availability zone.
+endchoice
+
+endif # TERRAFORM_AWS_REGION_US_WEST_1
+
+if TERRAFORM_AWS_REGION_US_WEST_2
+
+choice
+ prompt "AWS availability zone"
+ default TERRAFORM_AWS_AV_ZONE_US_WEST_2B
+ help
+ This option sets the AWS availablity zone to the specified value.
+ If you wish to expand on this list send a patch after reading this
+ list:
+
+ https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html
+ https://gist.github.com/neilstuartcraig/0ccefcf0887f29b7f240
+
config TERRAFORM_AWS_AV_ZONE_US_WEST_2B
bool "us-west-2b"
help
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 12/26] Revert "terraform/aws: Add Oracle Linux AMI selections"
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (10 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 11/26] terraform/aws: Fix zone selection for us_west1 Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 13/26] terraform/aws: Remove unused terraform tags Chuck Lever
` (14 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
The Oracle Linux AMIs are only for-pay marketplace options, not
created by Amazon itself.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
terraform/aws/kconfigs/Kconfig.compute | 4 --
terraform/aws/kconfigs/distros/Kconfig.oracle | 48 -------------------
2 files changed, 52 deletions(-)
delete mode 100644 terraform/aws/kconfigs/distros/Kconfig.oracle
diff --git a/terraform/aws/kconfigs/Kconfig.compute b/terraform/aws/kconfigs/Kconfig.compute
index bae0ea1c9d7b..4b9c6efb6372 100644
--- a/terraform/aws/kconfigs/Kconfig.compute
+++ b/terraform/aws/kconfigs/Kconfig.compute
@@ -99,9 +99,6 @@ config TERRAFORM_AWS_DISTRO_DEBIAN
config TERRAFORM_AWS_DISTRO_FEDORA
bool "Fedora Core"
-config TERRAFORM_AWS_DISTRO_OL
- bool "Oracle Linux"
-
config TERRAFORM_AWS_DISTRO_RHEL
bool "Red Hat Enterprise Linux"
@@ -116,7 +113,6 @@ endchoice
source "terraform/aws/kconfigs/distros/Kconfig.amazon"
source "terraform/aws/kconfigs/distros/Kconfig.debian"
source "terraform/aws/kconfigs/distros/Kconfig.fedora"
-source "terraform/aws/kconfigs/distros/Kconfig.oracle"
source "terraform/aws/kconfigs/distros/Kconfig.rhel"
source "terraform/aws/kconfigs/distros/Kconfig.sles"
source "terraform/aws/kconfigs/distros/Kconfig.custom"
diff --git a/terraform/aws/kconfigs/distros/Kconfig.oracle b/terraform/aws/kconfigs/distros/Kconfig.oracle
deleted file mode 100644
index fd4166c457c5..000000000000
--- a/terraform/aws/kconfigs/distros/Kconfig.oracle
+++ /dev/null
@@ -1,48 +0,0 @@
-if TERRAFORM_AWS_DISTRO_OL
-
-config TERRAFORM_AWS_AMI_OWNER
- string
- output yaml
- default "amazon"
-
-if TARGET_ARCH_X86_64
-
-choice
- prompt "Oracle Linux release"
- default TERRAFORM_AWS_OL9_X86_64
-
-config TERRAFORM_AWS_OL8_X86_64
- bool "Oracle Linux 8 (x86)"
-
-config TERRAFORM_AWS_OL9_X86_64
- bool "Oracle Linux 9 (x86)"
-
-endchoice
-
-config TERRAFORM_AWS_NS
- string
- output yaml
- default "Oracle-Linux-8.*x86_64-*" if TERRAFORM_AWS_OL8_X86_64
- default "Oracle-Linux-9.*x86_64-*" if TERRAFORM_AWS_OL9_X86_64
-
-endif # TARGET_ARCH_X86_64
-
-if TARGET_ARCH_ARM64
-
-choice
- prompt "Oracle Linux release"
- default TERRAFORM_AWS_OL9_ARM64
-
-config TERRAFORM_AWS_OL9_ARM64
- bool "Oracle Linux 9 (arm64)"
-
-endchoice
-
-config TERRAFORM_AWS_NS
- string
- output yaml
- default "Oracle-Linux-9.*arm64-*" if TERRAFORM_AWS_OL9_ARM64
-
-endif # TARGET_ARCH_ARM64
-
-endif # TERRAFORM_AWS_DISTRO_OL
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 13/26] terraform/aws: Remove unused terraform tags
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (11 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 12/26] Revert "terraform/aws: Add Oracle Linux AMI selections" Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 14/26] terraform/GCE: Fix the default disk throughput values Chuck Lever
` (13 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Clean up.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
terraform/aws/main.tf | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/terraform/aws/main.tf b/terraform/aws/main.tf
index 8b343484f1ab..82a936c77f01 100644
--- a/terraform/aws/main.tf
+++ b/terraform/aws/main.tf
@@ -15,9 +15,6 @@ resource "aws_vpc" "kdevops_vpc" {
cidr_block = "10.0.0.0/16"
enable_dns_hostnames = true
enable_dns_support = true
- tags = {
- Name = "kdevops"
- }
}
resource "aws_subnet" "kdevops_subnet" {
@@ -132,10 +129,6 @@ resource "aws_instance" "kdevops_instance" {
data.template_cloudinit_config.kdevops_config.*.rendered,
count.index,
)
-
- tags = {
- Name = element(var.kdevops_nodes, count.index),
- }
}
module "kdevops_ebs_volumes" {
@@ -158,9 +151,6 @@ resource "aws_eip" "kdevops_eip" {
resource "aws_internet_gateway" "kdevops_gw" {
vpc_id = aws_vpc.kdevops_vpc.id
- tags = {
- Name = "kdevops-gw"
- }
}
resource "aws_route_table" "kdevops_rt" {
@@ -169,9 +159,6 @@ resource "aws_route_table" "kdevops_rt" {
cidr_block = "0.0.0.0/0"
gateway_id = aws_internet_gateway.kdevops_gw.id
}
- tags = {
- Name = "kdevops_rt"
- }
}
resource "aws_route_table_association" "kdevops_rt_assoc" {
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 14/26] terraform/GCE: Fix the default disk throughput values
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (12 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 13/26] terraform/aws: Remove unused terraform tags Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 15/26] terraform/gce: Remove unused tags Chuck Lever
` (12 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
terraform/gce/kconfigs/Kconfig.storage | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/terraform/gce/kconfigs/Kconfig.storage b/terraform/gce/kconfigs/Kconfig.storage
index a71a5d62753b..717f50dfe32d 100644
--- a/terraform/gce/kconfigs/Kconfig.storage
+++ b/terraform/gce/kconfigs/Kconfig.storage
@@ -195,14 +195,14 @@ config TERRAFORM_GCE_DISK_IOPS
int "Provisioned IOPS for each attached disk"
output yaml
range 125 120000
- default 240
+ default 3000
depends on TERRAFORM_GCE_DISK_NEEDS_IOPS
config TERRAFORM_GCE_DISK_THROUGHPUT
int "Provisioned throughput for each attached disk"
output yaml
- range 125 600
- default 240
+ range 125 2400
+ default 300
depends on TERRAFORM_GCE_DISK_NEEDS_THROUGHPUT
config TERRAFORM_GCE_DATA_VOLUME_DEVICE_FILE_NAME
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 15/26] terraform/gce: Remove unused tags
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (13 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 14/26] terraform/GCE: Fix the default disk throughput values Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 16/26] terraform/gce: Remove support for Fedora Chuck Lever
` (11 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
terraform/gce/main.tf | 2 --
1 file changed, 2 deletions(-)
diff --git a/terraform/gce/main.tf b/terraform/gce/main.tf
index 0e8120686bfb..816f43098e88 100644
--- a/terraform/gce/main.tf
+++ b/terraform/gce/main.tf
@@ -9,8 +9,6 @@ resource "google_compute_instance" "kdevops_instance" {
machine_type = var.gce_machine_type
zone = var.gce_zone
- tags = ["kdevops"]
-
boot_disk {
initialize_params {
image = data.google_compute_image.kdevops_image.self_link
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 16/26] terraform/gce: Remove support for Fedora
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (14 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 15/26] terraform/gce: Remove unused tags Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 17/26] terraform/gce: Update existing machine types and introduce new ones Chuck Lever
` (10 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Unlike the other Linux distributions, Fedora requires some
cloud-init magic to set up the log-in user. I don't feel like
digging into that right now, and no one is demanding that kdevops
support Fedora on GCE at the moment.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
terraform/gce/kconfigs/Kconfig.compute | 4 -
terraform/gce/kconfigs/images/Kconfig.fedora | 95 --------------------
2 files changed, 99 deletions(-)
delete mode 100644 terraform/gce/kconfigs/images/Kconfig.fedora
diff --git a/terraform/gce/kconfigs/Kconfig.compute b/terraform/gce/kconfigs/Kconfig.compute
index e647c9bb2ba7..0d3ae98e53d2 100644
--- a/terraform/gce/kconfigs/Kconfig.compute
+++ b/terraform/gce/kconfigs/Kconfig.compute
@@ -77,9 +77,6 @@ config TERRAFORM_GCE_DISTRO_CENTOS
config TERRAFORM_GCE_DISTRO_DEBIAN
bool "Debian"
-config TERRAFORM_GCE_DISTRO_FEDORA
- bool "Fedora"
-
config TERRAFORM_GCE_DISTRO_OL
bool "Oracle Linux"
@@ -99,7 +96,6 @@ endchoice
source "terraform/gce/kconfigs/images/Kconfig.centos"
source "terraform/gce/kconfigs/images/Kconfig.debian"
-source "terraform/gce/kconfigs/images/Kconfig.fedora"
source "terraform/gce/kconfigs/images/Kconfig.oracle"
source "terraform/gce/kconfigs/images/Kconfig.opensuse"
source "terraform/gce/kconfigs/images/Kconfig.rhel"
diff --git a/terraform/gce/kconfigs/images/Kconfig.fedora b/terraform/gce/kconfigs/images/Kconfig.fedora
deleted file mode 100644
index 90999617f9ce..000000000000
--- a/terraform/gce/kconfigs/images/Kconfig.fedora
+++ /dev/null
@@ -1,95 +0,0 @@
-if TERRAFORM_GCE_DISTRO_FEDORA
-
-config TERRAFORM_GCE_IMAGE_PROJECT
- string
- output yaml
- default "fedora-coreos-cloud"
-
-config TERRAFORM_GCE_IMAGE_SIZE
- int
- output yaml
- default 10
-
-if TARGET_ARCH_X86_64
-
-choice
- prompt "Fedora stream to use"
- default TERRAFORM_GCE_IMAGE_FEDORA_STABLE_X86_64
-
-config TERRAFORM_GCE_IMAGE_FEDORA_STABLE_X86_64
- bool "stable (x86)"
- help
- The stable stream is the most reliable stream offered with
- changes only reaching that stream after spending a period
- of time in the testing stream.
-
-config TERRAFORM_GCE_IMAGE_FEDORA_TESTING_X86_64
- bool "testing (x86)"
- help
- The testing stream represents what is coming in the next
- stable release. Content in this stream is updated
- regularly and offers our community an opportunity to catch
- breaking changes before they hit the stable stream.
-
-config TERRAFORM_GCE_IMAGE_FEDORA_NEXT_X86_64
- bool "next (x86)"
- help
- The next stream represents the future. It will often be
- used to experiment with new features and also test out
- rebases of our platform on top of the next major version
- of Fedora. The content in the next stream will also
- eventually filter down into testing and on to stable.
-
-endchoice
-
-config TERRAFORM_GCE_IMAGE_FAMILY
- string
- output yaml
- default "fedora-coreos-stable" if TERRAFORM_GCE_IMAGE_FEDORA_STABLE_X86_64
- default "fedora-coreos-testing" if TERRAFORM_GCE_IMAGE_FEDORA_TESTING_X86_64
- default "fedora-coreos-next" if TERRAFORM_GCE_IMAGE_FEDORA_NEXT_X86_64
-
-endif # TARGET_ARCH_X86_64
-
-if TARGET_ARCH_ARM64
-
-choice
- prompt "Fedora stream to use"
- default TERRAFORM_GCE_IMAGE_FEDORA_STABLE_ARM64
-
-config TERRAFORM_GCE_IMAGE_FEDORA_STABLE_ARM64
- bool "stable (arm64)"
- help
- The stable stream is the most reliable stream offered with
- changes only reaching that stream after spending a period
- of time in the testing stream.
-
-config TERRAFORM_GCE_IMAGE_FEDORA_TESTING_ARM64
- bool "testing (arm64)"
- help
- The testing stream represents what is coming in the next
- stable release. Content in this stream is updated
- regularly and offers our community an opportunity to catch
- breaking changes before they hit the stable stream.
-
-config TERRAFORM_GCE_IMAGE_FEDORA_NEXT_ARM64
- bool "next (arm64)"
- help
- The next stream represents the future. It will often be
- used to experiment with new features and also test out
- rebases of our platform on top of the next major version
- of Fedora. The content in the next stream will also
- eventually filter down into testing and on to stable.
-
-endchoice
-
-config TERRAFORM_GCE_IMAGE_FAMILY
- string
- output yaml
- default "fedora-coreos-stable-arm64" if TERRAFORM_GCE_IMAGE_FEDORA_STABLE_ARM64
- default "fedora-coreos-testing-arm64" if TERRAFORM_GCE_IMAGE_FEDORA_TESTING_ARM64
- default "fedora-coreos-next-arm64" if TERRAFORM_GCE_IMAGE_FEDORA_NEXT_ARM64
-
-endif # TARGET_ARCH_ARM64
-
-endif # TERRAFORM_GCE_DISTRO_FEDORA
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 17/26] terraform/gce: Update existing machine types and introduce new ones
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (15 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 16/26] terraform/gce: Remove support for Fedora Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 18:13 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 18/26] terraform: Create the user's .ssh/config if it does not already exist Chuck Lever
` (9 subsequent siblings)
26 siblings, 1 reply; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Add a spectrum of cost and performance choices.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
.../gce/kconfigs/machines/Kconfig.c3-standard | 41 +++++++++++++
.../kconfigs/machines/Kconfig.c3d-standard | 46 +++++++++++++++
.../gce/kconfigs/machines/Kconfig.c4-standard | 23 +++++---
.../kconfigs/machines/Kconfig.c4a-standard | 57 ++++++++++++++++++
.../kconfigs/machines/Kconfig.c4d-standard | 51 ++++++++++++++++
.../gce/kconfigs/machines/Kconfig.e2-highcpu | 58 +++++++++++++++++++
.../gce/kconfigs/machines/Kconfig.e2-standard | 58 +++++++++++++++++++
.../gce/kconfigs/machines/Kconfig.n1-highcpu | 55 ++++++++++++++++++
.../gce/kconfigs/machines/Kconfig.n1-standard | 26 +++++----
.../gce/kconfigs/machines/Kconfig.n2-highcpu | 16 +++--
.../gce/kconfigs/machines/Kconfig.n2-standard | 16 +++--
.../gce/kconfigs/machines/Kconfig.n2d-highcpu | 15 +++--
.../kconfigs/machines/Kconfig.n2d-standard | 17 +++---
.../gce/kconfigs/machines/Kconfig.n4-highcpu | 16 +++--
.../gce/kconfigs/machines/Kconfig.n4-standard | 16 +++--
15 files changed, 439 insertions(+), 72 deletions(-)
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.c3-standard
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.c3d-standard
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.c4a-standard
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.c4d-standard
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.e2-highcpu
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.e2-standard
create mode 100644 terraform/gce/kconfigs/machines/Kconfig.n1-highcpu
diff --git a/terraform/gce/kconfigs/machines/Kconfig.c3-standard b/terraform/gce/kconfigs/machines/Kconfig.c3-standard
new file mode 100644
index 000000000000..183ac315cabf
--- /dev/null
+++ b/terraform/gce/kconfigs/machines/Kconfig.c3-standard
@@ -0,0 +1,41 @@
+if TERRAFORM_GCE_MACHINE_FAMILY_C3_STANDARD
+
+choice
+ prompt "GCE Machine Type"
+ default TERRAFORM_GCE_MACHINE_C3_STANDARD_4
+ help
+ C3 VMs are powered by the 4th generation Intel Xeon
+ Scalable processors (code-named Sapphire Rapids), DDR5
+ memory, and Titanium, enabling higher levels of networking
+ performance, isolation and security.
+
+config TERRAFORM_GCE_MACHINE_C3_STANDARD_4
+ bool "c3-standard-4"
+ help
+ 4 vCPUs (2 cores) and 16GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C3_STANDARD_8
+ bool "c3-standard-8"
+ help
+ 8 vCPUs (4 cores) and 32GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C3_STANDARD_22
+ bool "c3-standard-22"
+ help
+ 22 vCPUs (11 cores) and 88GB of memory.
+
+endchoice
+
+config TERRAFORM_GCE_MACHINE_TYPE
+ string
+ output yaml
+ default "c3-standard-4" if TERRAFORM_GCE_MACHINE_C3_STANDARD_4
+ default "c3-standard-8" if TERRAFORM_GCE_MACHINE_C3_STANDARD_8
+ default "c3-standard-22" if TERRAFORM_GCE_MACHINE_C3_STANDARD_22
+
+config TERRAFORM_GCE_IMAGE_TYPE
+ string
+ output yaml
+ default "hyperdisk-balanced"
+
+endif # TERRAFORM_GCE_MACHINE_FAMILY_C3_STANDARD
diff --git a/terraform/gce/kconfigs/machines/Kconfig.c3d-standard b/terraform/gce/kconfigs/machines/Kconfig.c3d-standard
new file mode 100644
index 000000000000..4af821e5a14e
--- /dev/null
+++ b/terraform/gce/kconfigs/machines/Kconfig.c3d-standard
@@ -0,0 +1,46 @@
+if TERRAFORM_GCE_MACHINE_FAMILY_C3D_STANDARD
+
+choice
+ prompt "GCE Machine Type"
+ default TERRAFORM_GCE_MACHINE_C3D_STANDARD_4
+ help
+ C3D VMs are powered by the 4th-gen AMD EPYC (Genoa)
+ processor. C3D uses Titanium, enabling higher levels
+ of networking performance, isolation and security.
+
+config TERRAFORM_GCE_MACHINE_C3D_STANDARD_4
+ bool "c3d-standard-4"
+ help
+ 4 vCPUs (2 cores) and 16GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C3D_STANDARD_8
+ bool "c3d-standard-8"
+ help
+ 8 vCPUs (4 cores) and 32GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C3D_STANDARD_16
+ bool "c3d-standard-16"
+ help
+ 16 vCPUs (8 cores) and 64GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C3D_STANDARD_30
+ bool "c3d-standard-30"
+ help
+ 30 vCPUs (15 cores) and 120GB of memory.
+
+endchoice
+
+config TERRAFORM_GCE_MACHINE_TYPE
+ string
+ output yaml
+ default "c3d-standard-4" if TERRAFORM_GCE_MACHINE_C3D_STANDARD_4
+ default "c3d-standard-8" if TERRAFORM_GCE_MACHINE_C3D_STANDARD_8
+ default "c3d-standard-16" if TERRAFORM_GCE_MACHINE_C3D_STANDARD_16
+ default "c3d-standard-30" if TERRAFORM_GCE_MACHINE_C3D_STANDARD_30
+
+config TERRAFORM_GCE_IMAGE_TYPE
+ string
+ output yaml
+ default "hyperdisk-balanced"
+
+endif # TERRAFORM_GCE_MACHINE_FAMILY_C3D_STANDARD
diff --git a/terraform/gce/kconfigs/machines/Kconfig.c4-standard b/terraform/gce/kconfigs/machines/Kconfig.c4-standard
index 75c2eed2d111..3ec7f4ec1620 100644
--- a/terraform/gce/kconfigs/machines/Kconfig.c4-standard
+++ b/terraform/gce/kconfigs/machines/Kconfig.c4-standard
@@ -4,35 +4,39 @@ choice
prompt "GCE Machine Type"
default TERRAFORM_GCE_MACHINE_C4_STANDARD_4
help
- This option sets the GCE machine type. For other machine
- types, refer to this page:
-
- https://cloud.google.com/compute/docs/machine-types
+ C4 VMs are powered by 6th generation (code-named Granite
+ Rapids) or 5th generation (code-named Emerald Rapids)
+ Intel Xeon Scalable processors and Titanium.
config TERRAFORM_GCE_MACHINE_C4_STANDARD_2
bool "c4-standard-2"
help
- 2 vCPU (1 core) and 7GB of memory.
+ 2 vCPUs (1 core) and 7GB of memory.
config TERRAFORM_GCE_MACHINE_C4_STANDARD_4
bool "c4-standard-4"
help
- 4 vCPU (2 core) and 15GB of memory.
+ 4 vCPUs (2 core) and 15GB of memory.
config TERRAFORM_GCE_MACHINE_C4_STANDARD_8
bool "c4-standard-8"
help
- 8 vCPU (4 cores) and 30GB of memory.
+ 8 vCPUs (4 cores) and 30GB of memory.
config TERRAFORM_GCE_MACHINE_C4_STANDARD_16
bool "c4-standard-16"
help
- 16 vCPU (8 cores) and 60GB of memory.
+ 16 vCPUs (8 cores) and 60GB of memory.
config TERRAFORM_GCE_MACHINE_C4_STANDARD_24
bool "c4-standard-24"
help
- 24 vCPU (12 cores) and 90GB of memory.
+ 24 vCPUs (12 cores) and 90GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C4_STANDARD_32
+ bool "c4-standard-32"
+ help
+ 32 vCPUs (16 cores) and 120 of memory.
endchoice
@@ -44,6 +48,7 @@ config TERRAFORM_GCE_MACHINE_TYPE
default "c4-standard-8" if TERRAFORM_GCE_MACHINE_C4_STANDARD_8
default "c4-standard-16" if TERRAFORM_GCE_MACHINE_C4_STANDARD_16
default "c4-standard-24" if TERRAFORM_GCE_MACHINE_C4_STANDARD_24
+ default "c4-standard-32" if TERRAFORM_GCE_MACHINE_C4_STANDARD_32
config TERRAFORM_GCE_IMAGE_TYPE
string
diff --git a/terraform/gce/kconfigs/machines/Kconfig.c4a-standard b/terraform/gce/kconfigs/machines/Kconfig.c4a-standard
new file mode 100644
index 000000000000..3a486fe4a6c3
--- /dev/null
+++ b/terraform/gce/kconfigs/machines/Kconfig.c4a-standard
@@ -0,0 +1,57 @@
+if TERRAFORM_GCE_MACHINE_FAMILY_C4A_STANDARD
+
+choice
+ prompt "GCE Machine Type"
+ default TERRAFORM_GCE_MACHINE_C4A_STANDARD_4
+ help
+ C4A VMs are powered by Google's first Arm-based Axion™
+ processor, DDR5 memory, and local Titanium SSDs.
+
+config TERRAFORM_GCE_MACHINE_C4A_STANDARD_1
+ bool "c4a-standard-1"
+ help
+ 1 vCPU and 4GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C4A_STANDARD_2
+ bool "c4a-standard-2"
+ help
+ 2 vCPUs and 8GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C4A_STANDARD_4
+ bool "c4a-standard-4"
+ help
+ 4 vCPUs and 16GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C4A_STANDARD_8
+ bool "c4a-standard-8"
+ help
+ 8 vCPUs and 32GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C4A_STANDARD_16
+ bool "c4a-standard-16"
+ help
+ 16 vCPUs and 64GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C4A_STANDARD_32
+ bool "c4a-standard-32"
+ help
+ 32 vCPUs and 128GB of memory.
+
+endchoice
+
+config TERRAFORM_GCE_MACHINE_TYPE
+ string
+ output yaml
+ default "c4a-standard-1" if TERRAFORM_GCE_MACHINE_C4A_STANDARD_1
+ default "c4a-standard-2" if TERRAFORM_GCE_MACHINE_C4A_STANDARD_2
+ default "c4a-standard-4" if TERRAFORM_GCE_MACHINE_C4A_STANDARD_4
+ default "c4a-standard-8" if TERRAFORM_GCE_MACHINE_C4A_STANDARD_8
+ default "c4a-standard-16" if TERRAFORM_GCE_MACHINE_C4A_STANDARD_16
+ default "c4a-standard-32" if TERRAFORM_GCE_MACHINE_C4A_STANDARD_32
+
+config TERRAFORM_GCE_IMAGE_TYPE
+ string
+ output yaml
+ default "hyperdisk-balanced"
+
+endif # TERRAFORM_GCE_MACHINE_FAMILY_C4A_STANDARD
diff --git a/terraform/gce/kconfigs/machines/Kconfig.c4d-standard b/terraform/gce/kconfigs/machines/Kconfig.c4d-standard
new file mode 100644
index 000000000000..6d7b4bb96c8b
--- /dev/null
+++ b/terraform/gce/kconfigs/machines/Kconfig.c4d-standard
@@ -0,0 +1,51 @@
+if TERRAFORM_GCE_MACHINE_FAMILY_C4D_STANDARD
+
+choice
+ prompt "GCE Machine Type"
+ default TERRAFORM_GCE_MACHINE_C4D_STANDARD_4
+ help
+ C4D VMs are powered by the fifth generation AMD EPYC Turin
+ processor and Titanium.
+
+config TERRAFORM_GCE_MACHINE_C4D_STANDARD_2
+ bool "c4d-standard-2"
+ help
+ 2 vCPUs (1 core) and 7GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C4D_STANDARD_4
+ bool "c4d-standard-4"
+ help
+ 4 vCPUs (2 core) and 15GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C4D_STANDARD_8
+ bool "c4d-standard-8"
+ help
+ 8 vCPUs (4 cores) and 31GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C4D_STANDARD_16
+ bool "c4d-standard-16"
+ help
+ 16 vCPUs (8 cores) and 62GB of memory.
+
+config TERRAFORM_GCE_MACHINE_C4D_STANDARD_24
+ bool "c4d-standard-24"
+ help
+ 32 vCPUs (16 cores) and 124GB of memory.
+
+endchoice
+
+config TERRAFORM_GCE_MACHINE_TYPE
+ string
+ output yaml
+ default "c4d-standard-2" if TERRAFORM_GCE_MACHINE_C4D_STANDARD_2
+ default "c4d-standard-4" if TERRAFORM_GCE_MACHINE_C4D_STANDARD_4
+ default "c4d-standard-8" if TERRAFORM_GCE_MACHINE_C4D_STANDARD_8
+ default "c4d-standard-16" if TERRAFORM_GCE_MACHINE_C4D_STANDARD_16
+ default "c4d-standard-32" if TERRAFORM_GCE_MACHINE_C4D_STANDARD_32
+
+config TERRAFORM_GCE_IMAGE_TYPE
+ string
+ output yaml
+ default "hyperdisk-balanced"
+
+endif # TERRAFORM_GCE_MACHINE_FAMILY_C4D_STANDARD
diff --git a/terraform/gce/kconfigs/machines/Kconfig.e2-highcpu b/terraform/gce/kconfigs/machines/Kconfig.e2-highcpu
new file mode 100644
index 000000000000..eb401451b3c8
--- /dev/null
+++ b/terraform/gce/kconfigs/machines/Kconfig.e2-highcpu
@@ -0,0 +1,58 @@
+if TERRAFORM_GCE_MACHINE_FAMILY_E2_HIGHCPU
+
+choice
+ prompt "GCE Machine type"
+ default TERRAFORM_GCE_MACHINE_E2_HIGHCPU_8
+ help
+ The E2 machine series offers both Intel and AMD EPYC
+ processors, selected for you at the time of VM creation.
+ Machine types in this series are available in all regions
+ and zones and support a virtio memory balloon device.
+
+config TERRAFORM_GCE_MACHINE_E2_HIGHCPU_2
+ bool "e2-highcpu-2"
+ depends on TARGET_ARCH_X86_64
+ help
+ 2 vCPUs (1 core) and 2GB of memory.
+
+config TERRAFORM_GCE_MACHINE_E2_HIGHCPU_4
+ bool "e2-highcpu-4"
+ depends on TARGET_ARCH_X86_64
+ help
+ 4 vCPUs (2 cores) and 4GB of memory.
+
+config TERRAFORM_GCE_MACHINE_E2_HIGHCPU_8
+ bool "e2-highcpu-8"
+ depends on TARGET_ARCH_X86_64
+ help
+ 8 vCPUs (4 cores) and 8GB of memory.
+
+config TERRAFORM_GCE_MACHINE_E2_HIGHCPU_16
+ bool "e2-highcpu-16"
+ depends on TARGET_ARCH_X86_64
+ help
+ 16 vCPUs (8 cores) and 16GB of memory.
+
+config TERRAFORM_GCE_MACHINE_E2_HIGHCPU_32
+ bool "e2-highcpu-32"
+ depends on TARGET_ARCH_X86_64
+ help
+ 32 vCPUs (16 cores) and 32GB of memory.
+
+endchoice
+
+config TERRAFORM_GCE_MACHINE_TYPE
+ string
+ output yaml
+ default "e2-highcpu-2" if TERRAFORM_GCE_MACHINE_E2_HIGHCPU_2
+ default "e2-highcpu-4" if TERRAFORM_GCE_MACHINE_E2_HIGHCPU_4
+ default "e2-highcpu-8" if TERRAFORM_GCE_MACHINE_E2_HIGHCPU_8
+ default "e2-highcpu-16" if TERRAFORM_GCE_MACHINE_E2_HIGHCPU_16
+ default "e2-highcpu-32" if TERRAFORM_GCE_MACHINE_E2_HIGHCPU_32
+
+config TERRAFORM_GCE_IMAGE_TYPE
+ string
+ output yaml
+ default "pd-balanced"
+
+endif # TERRAFORM_GCE_MACHINE_FAMILY_E2_HIGHCPU
diff --git a/terraform/gce/kconfigs/machines/Kconfig.e2-standard b/terraform/gce/kconfigs/machines/Kconfig.e2-standard
new file mode 100644
index 000000000000..26180f841d5a
--- /dev/null
+++ b/terraform/gce/kconfigs/machines/Kconfig.e2-standard
@@ -0,0 +1,58 @@
+if TERRAFORM_GCE_MACHINE_FAMILY_E2_STANDARD
+
+choice
+ prompt "GCE Machine type"
+ default TERRAFORM_GCE_MACHINE_E2_STANDARD_8
+ help
+ The E2 machine series offers both Intel and AMD EPYC
+ processors, selected for you at the time of VM creation.
+ Machine types in this series are available in all regions
+ and zones and support a virtio memory balloon device.
+
+config TERRAFORM_GCE_MACHINE_E2_STANDARD_2
+ bool "e2-standard-2"
+ depends on TARGET_ARCH_X86_64
+ help
+ 2 vCPUs (1 core) and 8GB of memory.
+
+config TERRAFORM_GCE_MACHINE_E2_STANDARD_4
+ bool "e2-standard-4"
+ depends on TARGET_ARCH_X86_64
+ help
+ 4 vCPUs (2 cores) and 16GB of memory.
+
+config TERRAFORM_GCE_MACHINE_E2_STANDARD_8
+ bool "e2-standard-8"
+ depends on TARGET_ARCH_X86_64
+ help
+ 8 vCPUs (4 cores) and 32GB of memory.
+
+config TERRAFORM_GCE_MACHINE_E2_STANDARD_16
+ bool "e2-standard-16"
+ depends on TARGET_ARCH_X86_64
+ help
+ 16 vCPUs (8 cores) and 64GB of memory.
+
+config TERRAFORM_GCE_MACHINE_E2_STANDARD_32
+ bool "e2-standard-32"
+ depends on TARGET_ARCH_X86_64
+ help
+ 32 vCPUs (16 cores) and 128GB of memory.
+
+endchoice
+
+config TERRAFORM_GCE_MACHINE_TYPE
+ string
+ output yaml
+ default "e2-standard-2" if TERRAFORM_GCE_MACHINE_E2_STANDARD_2
+ default "e2-standard-4" if TERRAFORM_GCE_MACHINE_E2_STANDARD_4
+ default "e2-standard-8" if TERRAFORM_GCE_MACHINE_E2_STANDARD_8
+ default "e2-standard-16" if TERRAFORM_GCE_MACHINE_E2_STANDARD_16
+ default "e2-standard-32" if TERRAFORM_GCE_MACHINE_E2_STANDARD_32
+
+config TERRAFORM_GCE_IMAGE_TYPE
+ string
+ output yaml
+ default "pd-balanced"
+
+endif # TERRAFORM_GCE_MACHINE_FAMILY_E2_STANDARD
diff --git a/terraform/gce/kconfigs/machines/Kconfig.n1-highcpu b/terraform/gce/kconfigs/machines/Kconfig.n1-highcpu
new file mode 100644
index 000000000000..7684b2961962
--- /dev/null
+++ b/terraform/gce/kconfigs/machines/Kconfig.n1-highcpu
@@ -0,0 +1,55 @@
+if TERRAFORM_GCE_MACHINE_FAMILY_N1_HIGHCPU
+
+choice
+ prompt "GCE Machine type"
+ default TERRAFORM_GCE_MACHINE_N1_HIGHCPU_8
+ help
+ The N1 machine series is Compute Engine's first generation
+ general-purpose machine series available on Intel Skylake,
+ Broadwell, Haswell, Sandy Bridge, and Ivy Bridge CPU
+ platforms.
+
+config TERRAFORM_GCE_MACHINE_N1_HIGHCPU_2
+ bool "n1-highcpu-2"
+ help
+ 2 vCPUs (1 core) and 1.8GB of memory.
+
+config TERRAFORM_GCE_MACHINE_N1_HIGHCPU_4
+ bool "n1-highcpu-4"
+ help
+ 4 vCPUs (2 cores) and 3.6GB of memory.
+
+config TERRAFORM_GCE_MACHINE_N1_HIGHCPU_8
+ bool "n1-highcpu-8"
+ help
+ 8 vCPUs (4 cores) and 7.2GB of memory.
+
+config TERRAFORM_GCE_MACHINE_N1_HIGHCPU_16
+ bool "n1-highcpu-16"
+ depends on TARGET_ARCH_X86_64
+ help
+ 16 vCPUs (8 cores) and 14.4GB of memory.
+
+config TERRAFORM_GCE_MACHINE_N1_HIGHCPU_32
+ bool "n1-highcpu-32"
+ depends on TARGET_ARCH_X86_64
+ help
+ 32 vCPUs (16 cores) and 28.8GB of memory.
+
+endchoice
+
+config TERRAFORM_GCE_MACHINE_TYPE
+ string
+ output yaml
+ default "n1-highcpu-2" if TERRAFORM_GCE_MACHINE_N1_HIGHCPU_2
+ default "n1-highcpu-4" if TERRAFORM_GCE_MACHINE_N1_HIGHCPU_4
+ default "n1-highcpu-8" if TERRAFORM_GCE_MACHINE_N1_HIGHCPU_8
+ default "n1-highcpu-16" if TERRAFORM_GCE_MACHINE_N1_HIGHCPU_16
+ default "n1-highcpu-32" if TERRAFORM_GCE_MACHINE_N1_HIGHCPU_32
+
+config TERRAFORM_GCE_IMAGE_TYPE
+ string
+ output yaml
+ default "pd-balanced"
+
+endif # TERRAFORM_GCE_MACHINE_FAMILY_N1_HIGHCPU
diff --git a/terraform/gce/kconfigs/machines/Kconfig.n1-standard b/terraform/gce/kconfigs/machines/Kconfig.n1-standard
index 65dbd672893d..7201231c74a0 100644
--- a/terraform/gce/kconfigs/machines/Kconfig.n1-standard
+++ b/terraform/gce/kconfigs/machines/Kconfig.n1-standard
@@ -4,12 +4,10 @@ choice
prompt "GCE Machine type"
default TERRAFORM_GCE_MACHINE_N1_STANDARD_8
help
- This option sets the GCE machine type. For other machine types,
- refer to this page:
-
- https://cloud.google.com/compute/docs/machine-types
-
- Documentation: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_instance#machine_type
+ The N1 machine series is Compute Engine's first generation
+ general-purpose machine series available on Intel Skylake,
+ Broadwell, Haswell, Sandy Bridge, and Ivy Bridge CPU
+ platforms.
config TERRAFORM_GCE_MACHINE_N1_STANDARD_1
bool "n1-standard-1"
@@ -19,23 +17,30 @@ config TERRAFORM_GCE_MACHINE_N1_STANDARD_1
config TERRAFORM_GCE_MACHINE_N1_STANDARD_2
bool "n1-standard-2"
help
- 2 vCPU (1 core) and 7.5GB of memory.
+ 2 vCPUs (1 core) and 7.5GB of memory.
config TERRAFORM_GCE_MACHINE_N1_STANDARD_4
bool "n1-standard-4"
help
- 4 vCPU (2 cores) and 15GB of memory.
+ 4 vCPUs (2 cores) and 15GB of memory.
config TERRAFORM_GCE_MACHINE_N1_STANDARD_8
bool "n1-standard-8"
help
- 8 vCPU (4 cores) and 30GB of memory.
+ 8 vCPUs (4 cores) and 30GB of memory.
config TERRAFORM_GCE_MACHINE_N1_STANDARD_16
bool "n1-standard-16"
depends on TARGET_ARCH_X86_64
help
- 16 vCPU (8 cores) and 60GB of memory.
+ 16 vCPUs (8 cores) and 60GB of memory.
+
+config TERRAFORM_GCE_MACHINE_N1_STANDARD_32
+ bool "n1-standard-32"
+ depends on TARGET_ARCH_X86_64
+ help
+ 32 vCPUs (16 cores) and 120GB of memory.
+
endchoice
config TERRAFORM_GCE_MACHINE_TYPE
@@ -46,6 +51,7 @@ config TERRAFORM_GCE_MACHINE_TYPE
default "n1-standard-4" if TERRAFORM_GCE_MACHINE_N1_STANDARD_4
default "n1-standard-8" if TERRAFORM_GCE_MACHINE_N1_STANDARD_8
default "n1-standard-16" if TERRAFORM_GCE_MACHINE_N1_STANDARD_16
+ default "n1-standard-32" if TERRAFORM_GCE_MACHINE_N1_STANDARD_32
config TERRAFORM_GCE_IMAGE_TYPE
string
diff --git a/terraform/gce/kconfigs/machines/Kconfig.n2-highcpu b/terraform/gce/kconfigs/machines/Kconfig.n2-highcpu
index 8aa6893c7252..83823753dc93 100644
--- a/terraform/gce/kconfigs/machines/Kconfig.n2-highcpu
+++ b/terraform/gce/kconfigs/machines/Kconfig.n2-highcpu
@@ -4,40 +4,38 @@ choice
prompt "GCE Machine type"
default TERRAFORM_GCE_MACHINE_N2_HIGHCPU_4
help
- This option sets the GCE machine type. For other machine
- types, refer to this page:
-
- https://cloud.google.com/compute/docs/machine-types
+ The N2 machine series can run on either Intel Cascade Lake
+ (on smaller configurations) or Intel Ice Lake.
config TERRAFORM_GCE_MACHINE_N2_HIGHCPU_2
bool "n2-highcpu-2"
depends on TARGET_ARCH_X86_64
help
- 2 vCPU (1 core) and 2GB of memory.
+ 2 vCPUs (1 core) and 2GB of memory.
config TERRAFORM_GCE_MACHINE_N2_HIGHCPU_4
bool "n2-highcpu-4"
depends on TARGET_ARCH_X86_64
help
- 4 vCPU (2 core) and 4GB of memory.
+ 4 vCPUs (2 cores) and 4GB of memory.
config TERRAFORM_GCE_MACHINE_N2_HIGHCPU_8
bool "n2-highcpu-8"
depends on TARGET_ARCH_X86_64
help
- 8 vCPU (4 cores) and 8GB of memory.
+ 8 vCPUs (4 cores) and 8GB of memory.
config TERRAFORM_GCE_MACHINE_N2_HIGHCPU_16
bool "n2-highcpu-16"
depends on TARGET_ARCH_X86_64
help
- 16 vCPU (8 cores) and 16GB of memory.
+ 16 vCPUs (8 cores) and 16GB of memory.
config TERRAFORM_GCE_MACHINE_N2_HIGHCPU_32
bool "n2-highcpu-32"
depends on TARGET_ARCH_X86_64
help
- 32 vCPU (16 cores) and 32GB of memory.
+ 32 vCPUs (16 cores) and 32GB of memory.
endchoice
diff --git a/terraform/gce/kconfigs/machines/Kconfig.n2-standard b/terraform/gce/kconfigs/machines/Kconfig.n2-standard
index b7b2d68fa522..a485a754ab44 100644
--- a/terraform/gce/kconfigs/machines/Kconfig.n2-standard
+++ b/terraform/gce/kconfigs/machines/Kconfig.n2-standard
@@ -4,40 +4,38 @@ choice
prompt "GCE Machine type"
default TERRAFORM_GCE_MACHINE_N2_STANDARD_8
help
- This option sets the GCE machine type. For other machine
- types, refer to this page:
-
- https://cloud.google.com/compute/docs/machine-types
+ The N2 machine series can run on either Intel Cascade Lake
+ (on smaller configurations) or Intel Ice Lake.
config TERRAFORM_GCE_MACHINE_N2_STANDARD_2
bool "n2-standard-2"
depends on TARGET_ARCH_X86_64
help
- 2 vCPU (1 core) and 8GB of memory.
+ 2 vCPUs (1 core) and 8GB of memory.
config TERRAFORM_GCE_MACHINE_N2_STANDARD_4
bool "n2-standard-4"
depends on TARGET_ARCH_X86_64
help
- 4 vCPU (2 core) and 16GB of memory.
+ 4 vCPUs (2 cores) and 16GB of memory.
config TERRAFORM_GCE_MACHINE_N2_STANDARD_8
bool "n2-standard-8"
depends on TARGET_ARCH_X86_64
help
- 8 vCPU (4 cores) and 32GB of memory.
+ 8 vCPUs (4 cores) and 32GB of memory.
config TERRAFORM_GCE_MACHINE_N2_STANDARD_16
bool "n2-standard-16"
depends on TARGET_ARCH_X86_64
help
- 16 vCPU (8 cores) and 64GB of memory.
+ 16 vCPUs (8 cores) and 64GB of memory.
config TERRAFORM_GCE_MACHINE_N2_STANDARD_32
bool "n2-standard-32"
depends on TARGET_ARCH_X86_64
help
- 32 vCPU (16 cores) and 128GB of memory.
+ 32 vCPUs (16 cores) and 128GB of memory.
endchoice
diff --git a/terraform/gce/kconfigs/machines/Kconfig.n2d-highcpu b/terraform/gce/kconfigs/machines/Kconfig.n2d-highcpu
index 3050349416fd..e3cf9c6e5c41 100644
--- a/terraform/gce/kconfigs/machines/Kconfig.n2d-highcpu
+++ b/terraform/gce/kconfigs/machines/Kconfig.n2d-highcpu
@@ -4,10 +4,9 @@ choice
prompt "GCE Machine type"
default TERRAFORM_GCE_MACHINE_N2D_HIGHCPU_4
help
- This option sets the GCE machine type. For other machine
- types, refer to this page:
-
- https://cloud.google.com/compute/docs/machine-types
+ The N2D machine series can run on either AMD EPYC Milan or
+ AMD EPYC Rome processors. The third generation AMD EPYC
+ Milan processor is available only in specific regions and zones.
config TERRAFORM_GCE_MACHINE_N2D_HIGHCPU_2
bool "n2d-highcpu-2"
@@ -19,25 +18,25 @@ config TERRAFORM_GCE_MACHINE_N2D_HIGHCPU_4
bool "n2d-highcpu-4"
depends on TARGET_ARCH_X86_64
help
- 4 vCPU (2 core) and 4GB of memory.
+ 4 vCPUs (2 cores) and 4GB of memory.
config TERRAFORM_GCE_MACHINE_N2D_HIGHCPU_8
bool "n2d-highcpu-8"
depends on TARGET_ARCH_X86_64
help
- 8 vCPU (4 cores) and 8GB of memory.
+ 8 vCPUs (4 cores) and 8GB of memory.
config TERRAFORM_GCE_MACHINE_N2D_HIGHCPU_16
bool "n2d-highcpu-16"
depends on TARGET_ARCH_X86_64
help
- 16 vCPU (8 cores) and 16GB of memory.
+ 16 vCPUs (8 cores) and 16GB of memory.
config TERRAFORM_GCE_MACHINE_N2D_HIGHCPU_32
bool "n2d-highcpu-32"
depends on TARGET_ARCH_X86_64
help
- 32 vCPU (16 cores) and 32GB of memory.
+ 32 vCPUs (16 cores) and 32GB of memory.
endchoice
diff --git a/terraform/gce/kconfigs/machines/Kconfig.n2d-standard b/terraform/gce/kconfigs/machines/Kconfig.n2d-standard
index 08744d396595..4f86e0b7d3cf 100644
--- a/terraform/gce/kconfigs/machines/Kconfig.n2d-standard
+++ b/terraform/gce/kconfigs/machines/Kconfig.n2d-standard
@@ -4,40 +4,39 @@ choice
prompt "GCE Machine type"
default TERRAFORM_GCE_MACHINE_N2D_STANDARD_4
help
- This option sets the GCE machine type. For other machine
- types, refer to this page:
-
- https://cloud.google.com/compute/docs/machine-types
+ The N2D machine series can run on either AMD EPYC Milan or
+ AMD EPYC Rome processors. The third generation AMD EPYC
+ Milan processor is available only in specific regions and zones.
config TERRAFORM_GCE_MACHINE_N2D_STANDARD_2
bool "n2d-standard-2"
depends on TARGET_ARCH_X86_64
help
- 2 vCPU (1 core) and 8GB of memory.
+ 2 vCPUs (1 core) and 8GB of memory.
config TERRAFORM_GCE_MACHINE_N2D_STANDARD_4
bool "n2d-standard-4"
depends on TARGET_ARCH_X86_64
help
- 4 vCPU (2 core) and 16GB of memory.
+ 4 vCPUs (2 cores) and 16GB of memory.
config TERRAFORM_GCE_MACHINE_N2D_STANDARD_8
bool "n2d-standard-8"
depends on TARGET_ARCH_X86_64
help
- 8 vCPU (4 cores) and 32GB of memory.
+ 8 vCPUs (4 cores) and 32GB of memory.
config TERRAFORM_GCE_MACHINE_N2D_STANDARD_16
bool "n2d-standard-16"
depends on TARGET_ARCH_X86_64
help
- 16 vCPU (8 cores) and 64GB of memory.
+ 16 vCPUs (8 cores) and 64GB of memory.
config TERRAFORM_GCE_MACHINE_N2D_STANDARD_32
bool "n2d-standard-32"
depends on TARGET_ARCH_X86_64
help
- 32 vCPU (16 cores) and 128GB of memory.
+ 32 vCPUs (16 cores) and 128GB of memory.
endchoice
diff --git a/terraform/gce/kconfigs/machines/Kconfig.n4-highcpu b/terraform/gce/kconfigs/machines/Kconfig.n4-highcpu
index 9f871940a73b..880a386ea01d 100644
--- a/terraform/gce/kconfigs/machines/Kconfig.n4-highcpu
+++ b/terraform/gce/kconfigs/machines/Kconfig.n4-highcpu
@@ -4,35 +4,33 @@ choice
prompt "GCE Machine Type"
default TERRAFORM_GCE_MACHINE_N4_HIGHCPU_4
help
- This option sets the GCE machine type. For other machine
- types, refer to this page:
-
- https://cloud.google.com/compute/docs/machine-types
+ N4 VMs are powered by the 5th generation Intel Xeon Scalable
+ processors (code-named Emerald Rapids) and Titanium.
config TERRAFORM_GCE_MACHINE_N4_HIGHCPU_2
bool "n4-highcpu-2"
help
- 2 vCPU (1 core) and 4GB of memory.
+ 2 vCPUs (1 core) and 4GB of memory.
config TERRAFORM_GCE_MACHINE_N4_HIGHCPU_4
bool "n4-highcpu-4"
help
- 4 vCPU (2 core) and 8GB of memory.
+ 4 vCPUs (2 cores) and 8GB of memory.
config TERRAFORM_GCE_MACHINE_N4_HIGHCPU_8
bool "n4-highcpu-8"
help
- 8 vCPU (4 cores) and 16GB of memory.
+ 8 vCPUs (4 cores) and 16GB of memory.
config TERRAFORM_GCE_MACHINE_N4_HIGHCPU_16
bool "n4-highcpu-16"
help
- 16 vCPU (8 cores) and 32GB of memory.
+ 16 vCPUs (8 cores) and 32GB of memory.
config TERRAFORM_GCE_MACHINE_N4_HIGHCPU_32
bool "n4-highcpu-32"
help
- 32 vCPU (16 cores) and 64GB of memory.
+ 32 vCPUs (16 cores) and 64GB of memory.
endchoice
diff --git a/terraform/gce/kconfigs/machines/Kconfig.n4-standard b/terraform/gce/kconfigs/machines/Kconfig.n4-standard
index d1d1202cbb7b..807f8638e865 100644
--- a/terraform/gce/kconfigs/machines/Kconfig.n4-standard
+++ b/terraform/gce/kconfigs/machines/Kconfig.n4-standard
@@ -4,35 +4,33 @@ choice
prompt "GCE Machine Type"
default TERRAFORM_GCE_MACHINE_N4_STANDARD_4
help
- This option sets the GCE machine type. For other machine
- types, refer to this page:
-
- https://cloud.google.com/compute/docs/machine-types
+ N4 VMs are powered by the 5th generation Intel Xeon Scalable
+ processors (code-named Emerald Rapids) and Titanium.
config TERRAFORM_GCE_MACHINE_N4_STANDARD_2
bool "n4-standard-2"
help
- 2 vCPU (1 core) and 8GB of memory.
+ 2 vCPUs (1 core) and 8GB of memory.
config TERRAFORM_GCE_MACHINE_N4_STANDARD_4
bool "n4-standard-4"
help
- 4 vCPU (2 core) and 16GB of memory.
+ 4 vCPUs (2 cores) and 16GB of memory.
config TERRAFORM_GCE_MACHINE_N4_STANDARD_8
bool "n4-standard-8"
help
- 8 vCPU (4 cores) and 32GB of memory.
+ 8 vCPUs (4 cores) and 32GB of memory.
config TERRAFORM_GCE_MACHINE_N4_STANDARD_16
bool "n4-standard-16"
help
- 16 vCPU (8 cores) and 64GB of memory.
+ 16 vCPUs (8 cores) and 64GB of memory.
config TERRAFORM_GCE_MACHINE_N4_STANDARD_32
bool "n4-standard-32"
help
- 32 vCPU (16 cores) and 128GB of memory.
+ 32 vCPUs (16 cores) and 128GB of memory.
endchoice
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 18/26] terraform: Create the user's .ssh/config if it does not already exist
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (16 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 17/26] terraform/gce: Update existing machine types and introduce new ones Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 19/26] pynfs: Don't install xdrlib3 on older RHEL Chuck Lever
` (8 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
While setting up some new test runners, I encountered this failure:
TASK [terraform : Ensure the Include directive is present on the controller] ***
task path: /usr/local/home/queue-5-4/worker/queue-5-4-kernel/build/playbooks/roles/terraform/tasks/main.yml:31
fatal: [localhost]: FAILED! => {
"changed": false,
"rc": 257
}
MSG:
Path /usr/local/home/queue-5-4/.ssh/config does not exist !
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
playbooks/roles/terraform/tasks/main.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/playbooks/roles/terraform/tasks/main.yml b/playbooks/roles/terraform/tasks/main.yml
index a64c93c641b7..26dcbbf787fa 100644
--- a/playbooks/roles/terraform/tasks/main.yml
+++ b/playbooks/roles/terraform/tasks/main.yml
@@ -33,6 +33,7 @@
path: "{{ sshconfig }}"
insertbefore: BOF
append_newline: true
+ create: true
marker: "# {mark} Managed by kdevops"
mode: "u=rw,g=r,o=r"
block: "Include {{ kdevops_ssh_config_prefix }}*"
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 19/26] pynfs: Don't install xdrlib3 on older RHEL
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (17 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 18/26] terraform: Create the user's .ssh/config if it does not already exist Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 20/26] guestfs: Update the guestfs playbook description Chuck Lever
` (7 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
When running the pynfs workflow on RHEL 8:
> :stderr: Could not find a version that satisfies the requirement
> xdrlib3 (from versions: )
> No matching distribution found for xdrlib3
RHEL 8 sports a version of Python that neither requires or supports
the use of "pip install xdrlib3".
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml b/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml
index 5139825ea872..6046c84ac4c4 100644
--- a/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml
+++ b/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml
@@ -27,3 +27,5 @@
- name: Install xdrlib3
ansible.builtin.pip:
name: xdrlib3
+ when:
+ - ansible_distribution == "Fedora" or ansible_distribution_major_version | int > 8
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 20/26] guestfs: Update the guestfs playbook description
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (18 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 19/26] pynfs: Don't install xdrlib3 on older RHEL Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 21/26] gen_hosts: Add 'localhost' to the [all] group Chuck Lever
` (6 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Match the description for the terraform playbook
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
playbooks/guestfs.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/playbooks/guestfs.yml b/playbooks/guestfs.yml
index 784775cdb818..62334463f05e 100644
--- a/playbooks/guestfs.yml
+++ b/playbooks/guestfs.yml
@@ -1,5 +1,5 @@
---
-- name: Provision target nodes with libvirt/guestfs
+- name: Manage infrastructure lifecycle and SSH access with libvirt/guestfs
gather_facts: true
connection: local
hosts: all
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 21/26] gen_hosts: Add 'localhost' to the [all] group
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (19 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 20/26] guestfs: Update the guestfs playbook description Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 22/26] gen_host: Add [service] group to the builder template Chuck Lever
` (5 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Commit 58a0745e8fa2 ("Add a guest/instance for building the test
kernel") was applied just after commit 1cf0800c9ffc ("gen_hosts:
templates: include localhost in the all group"). The former should
have been updated to include localhost in its [all] group.
Without 'localhost', trying to provision the kernel builder node
fails.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
playbooks/roles/gen_hosts/templates/builder.j2 | 1 +
1 file changed, 1 insertion(+)
diff --git a/playbooks/roles/gen_hosts/templates/builder.j2 b/playbooks/roles/gen_hosts/templates/builder.j2
index 0c9ba1e8e01a..eb8c736409b9 100644
--- a/playbooks/roles/gen_hosts/templates/builder.j2
+++ b/playbooks/roles/gen_hosts/templates/builder.j2
@@ -1,4 +1,5 @@
[all]
+localhost ansible_connection=local
{{ kdevops_hosts_prefix }}-builder
[all:vars]
ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 22/26] gen_host: Add [service] group to the builder template
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (20 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 21/26] gen_hosts: Add 'localhost' to the [all] group Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 23/26] guestfs: Don't run the 'destroy' tags on the controller Chuck Lever
` (4 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Ensure that the [service] group is defined in the builder
node's host template, to quash some noisy warnings during
bringup.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
playbooks/roles/gen_hosts/templates/builder.j2 | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/playbooks/roles/gen_hosts/templates/builder.j2 b/playbooks/roles/gen_hosts/templates/builder.j2
index eb8c736409b9..164201dc5ca4 100644
--- a/playbooks/roles/gen_hosts/templates/builder.j2
+++ b/playbooks/roles/gen_hosts/templates/builder.j2
@@ -12,3 +12,7 @@ ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
[dev]
[dev:vars]
ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
+
+[service]
+[service:vars]
+ansible_python_interpreter = "{{ kdevops_python_interpreter }}"
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 23/26] guestfs: Don't run the 'destroy' tags on the controller
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (21 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 22/26] gen_host: Add [service] group to the builder template Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 24/26] base_image: Skip "locales-all" package on Fedora Chuck Lever
` (3 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
"make destroy" was skipping some important file removals, and
removing other files that do not exist.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
scripts/guestfs.Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/scripts/guestfs.Makefile b/scripts/guestfs.Makefile
index bd03f58c4232..57d6e7065be6 100644
--- a/scripts/guestfs.Makefile
+++ b/scripts/guestfs.Makefile
@@ -96,6 +96,7 @@ PHONY += status_guestfs
destroy_guestfs:
$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \
+ --limit 'baseline:dev:service' \
playbooks/guestfs.yml \
--extra-vars=@./extra_vars.yaml \
--tags destroy
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 24/26] base_image: Skip "locales-all" package on Fedora
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (22 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 23/26] guestfs: Don't run the 'destroy' tags on the controller Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 25/26] update_etc_hosts: ipaddr Chuck Lever
` (2 subsequent siblings)
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
playbooks/roles/base_image/templates/virt-builder.j2 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/playbooks/roles/base_image/templates/virt-builder.j2 b/playbooks/roles/base_image/templates/virt-builder.j2
index 7df4229405e7..138d06eede6b 100644
--- a/playbooks/roles/base_image/templates/virt-builder.j2
+++ b/playbooks/roles/base_image/templates/virt-builder.j2
@@ -11,7 +11,7 @@ mkdir {{ target_dir }}
copy-in {{ guestfs_distro_source_and_dest_file }}:{{ target_dir }}
{% endif %}
-install sudo,qemu-guest-agent,python3,bash,locales-all
+install sudo,qemu-guest-agent,python3,bash
run-command useradd {{ kdevops_uid }} -s /bin/bash -m kdevops
append-line /etc/sudoers.d/kdevops:kdevops ALL=(ALL) NOPASSWD: ALL
edit /etc/default/grub:s/^GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0"/
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 25/26] update_etc_hosts: ipaddr
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (23 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 24/26] base_image: Skip "locales-all" package on Fedora Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 26/26] Add an Ansible requirements.yml file Chuck Lever
2025-08-27 19:16 ` [PATCH v1 00/26] Various fixes Luis Chamberlain
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
ansible.netcommon.ipaddr is deprecated. See:
https://docs.ansible.com/ansible/latest/collections/ansible/netcommon/ipaddr_filter.html
Ensure the update_etc_hosts playbook uses the ansible.utils.ipaddr
plugin instead.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
playbooks/roles/update_etc_hosts/tasks/main.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/playbooks/roles/update_etc_hosts/tasks/main.yml b/playbooks/roles/update_etc_hosts/tasks/main.yml
index 049411ee41de..dd1b9b70cef1 100644
--- a/playbooks/roles/update_etc_hosts/tasks/main.yml
+++ b/playbooks/roles/update_etc_hosts/tasks/main.yml
@@ -51,8 +51,8 @@
become_method: sudo
ansible.builtin.lineinfile:
dest: /etc/hosts
- regexp: ".*{{ item }}$"
- line: "{{ hostvars[item].ansible_all_ipv4_addresses | ipaddr(private_network) | first }} {{ item }}"
+ regexp: '.*{{ item }}$'
+ line: "{{ hostvars[item].ansible_all_ipv4_addresses | ansible.utils.ipaddr(private_network) | first }} {{ item }}"
state: present
with_items: "{{ ueh_hosts }}"
when:
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH v1 26/26] Add an Ansible requirements.yml file
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (24 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 25/26] update_etc_hosts: ipaddr Chuck Lever
@ 2025-08-27 14:28 ` Chuck Lever
2025-08-27 19:16 ` [PATCH v1 00/26] Various fixes Luis Chamberlain
26 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 14:28 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
Commit b90d89d27659 ("Switch to the cloud.terraform.terraform
module") introduced the use of the cloud.terraform module, and
commit 7ccb64834eeb ("guestfs: Replace scripts/destroy_guestfs.sh
with an Ansible playbook") introduced the use of the
community.libvirt module. It would be friendly if kdevops could
pull in the Ansible modules it needs transparently.
The requirements.yml file is a manifest of Ansible collections that
the project needs to run. Installation of these collections is made
automatic by adding:
ansible-galaxy install -r requirements.yml
to the "make ansible_cfg" step. This mechanism can keep cached
versions of collections up to date, and can also constrain a
cached collection to a specific version, if that's needed.
The initial file contains requirements I could find easily, and
should be updated over time as new collection dependencies are
introduced.
See also:
https://docs.ansible.com/ansible/latest/user_guide/collections_using.html
Question: Do we assume that the Ansible controller has internet
access all the time?
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
requirements.yml | 8 ++++++++
scripts/ansible.Makefile | 5 +++++
2 files changed, 13 insertions(+)
create mode 100644 requirements.yml
diff --git a/requirements.yml b/requirements.yml
new file mode 100644
index 000000000000..a22691d3f86b
--- /dev/null
+++ b/requirements.yml
@@ -0,0 +1,8 @@
+---
+collections:
+ - name: ansible.posix
+ - name: ansible.utils
+ - name: cloud.terraform
+ - name: community.docker
+ - name: community.general
+ - name: community.libvirt
diff --git a/scripts/ansible.Makefile b/scripts/ansible.Makefile
index b0d2a8c12ee7..4efcf3e93b0e 100644
--- a/scripts/ansible.Makefile
+++ b/scripts/ansible.Makefile
@@ -2,3 +2,8 @@
AV ?= 0
export ANSIBLE_VERBOSE := $(shell scripts/validate_av.py --av "$(AV)")
+
+ansible-requirements:
+ @$(Q)ansible-galaxy install -r requirements.yml
+PHONY += ansible-requirements
+DEFAULT_DEPS += ansible-requirements
--
2.51.0
^ permalink raw reply related [flat|nested] 29+ messages in thread
* Re: [PATCH v1 17/26] terraform/gce: Update existing machine types and introduce new ones
2025-08-27 14:28 ` [PATCH v1 17/26] terraform/gce: Update existing machine types and introduce new ones Chuck Lever
@ 2025-08-27 18:13 ` Chuck Lever
0 siblings, 0 replies; 29+ messages in thread
From: Chuck Lever @ 2025-08-27 18:13 UTC (permalink / raw)
To: Chuck Lever, kdevops
On 8/27/25 10:28 AM, Chuck Lever wrote:
> From: Chuck Lever <chuck.lever@oracle.com>
>
> Add a spectrum of cost and performance choices.
This patch forgot to add "source" directives for the new Kconfig files.
I've also added E2 and A2 machine sizes since this was posted.
> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
> ---
> .../gce/kconfigs/machines/Kconfig.c3-standard | 41 +++++++++++++
> .../kconfigs/machines/Kconfig.c3d-standard | 46 +++++++++++++++
> .../gce/kconfigs/machines/Kconfig.c4-standard | 23 +++++---
> .../kconfigs/machines/Kconfig.c4a-standard | 57 ++++++++++++++++++
> .../kconfigs/machines/Kconfig.c4d-standard | 51 ++++++++++++++++
> .../gce/kconfigs/machines/Kconfig.e2-highcpu | 58 +++++++++++++++++++
> .../gce/kconfigs/machines/Kconfig.e2-standard | 58 +++++++++++++++++++
> .../gce/kconfigs/machines/Kconfig.n1-highcpu | 55 ++++++++++++++++++
> .../gce/kconfigs/machines/Kconfig.n1-standard | 26 +++++----
> .../gce/kconfigs/machines/Kconfig.n2-highcpu | 16 +++--
> .../gce/kconfigs/machines/Kconfig.n2-standard | 16 +++--
> .../gce/kconfigs/machines/Kconfig.n2d-highcpu | 15 +++--
> .../kconfigs/machines/Kconfig.n2d-standard | 17 +++---
> .../gce/kconfigs/machines/Kconfig.n4-highcpu | 16 +++--
> .../gce/kconfigs/machines/Kconfig.n4-standard | 16 +++--
> 15 files changed, 439 insertions(+), 72 deletions(-)
> create mode 100644 terraform/gce/kconfigs/machines/Kconfig.c3-standard
> create mode 100644 terraform/gce/kconfigs/machines/Kconfig.c3d-standard
> create mode 100644 terraform/gce/kconfigs/machines/Kconfig.c4a-standard
> create mode 100644 terraform/gce/kconfigs/machines/Kconfig.c4d-standard
> create mode 100644 terraform/gce/kconfigs/machines/Kconfig.e2-highcpu
> create mode 100644 terraform/gce/kconfigs/machines/Kconfig.e2-standard
> create mode 100644 terraform/gce/kconfigs/machines/Kconfig.n1-highcpu
>
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.c3-standard b/terraform/gce/kconfigs/machines/Kconfig.c3-standard
> new file mode 100644
> index 000000000000..183ac315cabf
> --- /dev/null
> +++ b/terraform/gce/kconfigs/machines/Kconfig.c3-standard
> @@ -0,0 +1,41 @@
> +if TERRAFORM_GCE_MACHINE_FAMILY_C3_STANDARD
> +
> +choice
> + prompt "GCE Machine Type"
> + default TERRAFORM_GCE_MACHINE_C3_STANDARD_4
> + help
> + C3 VMs are powered by the 4th generation Intel Xeon
> + Scalable processors (code-named Sapphire Rapids), DDR5
> + memory, and Titanium, enabling higher levels of networking
> + performance, isolation and security.
> +
> +config TERRAFORM_GCE_MACHINE_C3_STANDARD_4
> + bool "c3-standard-4"
> + help
> + 4 vCPUs (2 cores) and 16GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C3_STANDARD_8
> + bool "c3-standard-8"
> + help
> + 8 vCPUs (4 cores) and 32GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C3_STANDARD_22
> + bool "c3-standard-22"
> + help
> + 22 vCPUs (11 cores) and 88GB of memory.
> +
> +endchoice
> +
> +config TERRAFORM_GCE_MACHINE_TYPE
> + string
> + output yaml
> + default "c3-standard-4" if TERRAFORM_GCE_MACHINE_C3_STANDARD_4
> + default "c3-standard-8" if TERRAFORM_GCE_MACHINE_C3_STANDARD_8
> + default "c3-standard-22" if TERRAFORM_GCE_MACHINE_C3_STANDARD_22
> +
> +config TERRAFORM_GCE_IMAGE_TYPE
> + string
> + output yaml
> + default "hyperdisk-balanced"
> +
> +endif # TERRAFORM_GCE_MACHINE_FAMILY_C3_STANDARD
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.c3d-standard b/terraform/gce/kconfigs/machines/Kconfig.c3d-standard
> new file mode 100644
> index 000000000000..4af821e5a14e
> --- /dev/null
> +++ b/terraform/gce/kconfigs/machines/Kconfig.c3d-standard
> @@ -0,0 +1,46 @@
> +if TERRAFORM_GCE_MACHINE_FAMILY_C3D_STANDARD
> +
> +choice
> + prompt "GCE Machine Type"
> + default TERRAFORM_GCE_MACHINE_C3D_STANDARD_4
> + help
> + C3D VMs are powered by the 4th-gen AMD EPYC (Genoa)
> + processor. C3D uses Titanium, enabling higher levels
> + of networking performance, isolation and security.
> +
> +config TERRAFORM_GCE_MACHINE_C3D_STANDARD_4
> + bool "c3d-standard-4"
> + help
> + 4 vCPUs (2 cores) and 16GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C3D_STANDARD_8
> + bool "c3d-standard-8"
> + help
> + 8 vCPUs (4 cores) and 32GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C3D_STANDARD_16
> + bool "c3d-standard-16"
> + help
> + 16 vCPUs (8 cores) and 64GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C3D_STANDARD_30
> + bool "c3d-standard-30"
> + help
> + 30 vCPUs (15 cores) and 120GB of memory.
> +
> +endchoice
> +
> +config TERRAFORM_GCE_MACHINE_TYPE
> + string
> + output yaml
> + default "c3d-standard-4" if TERRAFORM_GCE_MACHINE_C3D_STANDARD_4
> + default "c3d-standard-8" if TERRAFORM_GCE_MACHINE_C3D_STANDARD_8
> + default "c3d-standard-16" if TERRAFORM_GCE_MACHINE_C3D_STANDARD_16
> + default "c3d-standard-30" if TERRAFORM_GCE_MACHINE_C3D_STANDARD_30
> +
> +config TERRAFORM_GCE_IMAGE_TYPE
> + string
> + output yaml
> + default "hyperdisk-balanced"
> +
> +endif # TERRAFORM_GCE_MACHINE_FAMILY_C3D_STANDARD
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.c4-standard b/terraform/gce/kconfigs/machines/Kconfig.c4-standard
> index 75c2eed2d111..3ec7f4ec1620 100644
> --- a/terraform/gce/kconfigs/machines/Kconfig.c4-standard
> +++ b/terraform/gce/kconfigs/machines/Kconfig.c4-standard
> @@ -4,35 +4,39 @@ choice
> prompt "GCE Machine Type"
> default TERRAFORM_GCE_MACHINE_C4_STANDARD_4
> help
> - This option sets the GCE machine type. For other machine
> - types, refer to this page:
> -
> - https://cloud.google.com/compute/docs/machine-types
> + C4 VMs are powered by 6th generation (code-named Granite
> + Rapids) or 5th generation (code-named Emerald Rapids)
> + Intel Xeon Scalable processors and Titanium.
>
> config TERRAFORM_GCE_MACHINE_C4_STANDARD_2
> bool "c4-standard-2"
> help
> - 2 vCPU (1 core) and 7GB of memory.
> + 2 vCPUs (1 core) and 7GB of memory.
>
> config TERRAFORM_GCE_MACHINE_C4_STANDARD_4
> bool "c4-standard-4"
> help
> - 4 vCPU (2 core) and 15GB of memory.
> + 4 vCPUs (2 core) and 15GB of memory.
>
> config TERRAFORM_GCE_MACHINE_C4_STANDARD_8
> bool "c4-standard-8"
> help
> - 8 vCPU (4 cores) and 30GB of memory.
> + 8 vCPUs (4 cores) and 30GB of memory.
>
> config TERRAFORM_GCE_MACHINE_C4_STANDARD_16
> bool "c4-standard-16"
> help
> - 16 vCPU (8 cores) and 60GB of memory.
> + 16 vCPUs (8 cores) and 60GB of memory.
>
> config TERRAFORM_GCE_MACHINE_C4_STANDARD_24
> bool "c4-standard-24"
> help
> - 24 vCPU (12 cores) and 90GB of memory.
> + 24 vCPUs (12 cores) and 90GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C4_STANDARD_32
> + bool "c4-standard-32"
> + help
> + 32 vCPUs (16 cores) and 120 of memory.
>
> endchoice
>
> @@ -44,6 +48,7 @@ config TERRAFORM_GCE_MACHINE_TYPE
> default "c4-standard-8" if TERRAFORM_GCE_MACHINE_C4_STANDARD_8
> default "c4-standard-16" if TERRAFORM_GCE_MACHINE_C4_STANDARD_16
> default "c4-standard-24" if TERRAFORM_GCE_MACHINE_C4_STANDARD_24
> + default "c4-standard-32" if TERRAFORM_GCE_MACHINE_C4_STANDARD_32
>
> config TERRAFORM_GCE_IMAGE_TYPE
> string
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.c4a-standard b/terraform/gce/kconfigs/machines/Kconfig.c4a-standard
> new file mode 100644
> index 000000000000..3a486fe4a6c3
> --- /dev/null
> +++ b/terraform/gce/kconfigs/machines/Kconfig.c4a-standard
> @@ -0,0 +1,57 @@
> +if TERRAFORM_GCE_MACHINE_FAMILY_C4A_STANDARD
> +
> +choice
> + prompt "GCE Machine Type"
> + default TERRAFORM_GCE_MACHINE_C4A_STANDARD_4
> + help
> + C4A VMs are powered by Google's first Arm-based Axion™
> + processor, DDR5 memory, and local Titanium SSDs.
> +
> +config TERRAFORM_GCE_MACHINE_C4A_STANDARD_1
> + bool "c4a-standard-1"
> + help
> + 1 vCPU and 4GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C4A_STANDARD_2
> + bool "c4a-standard-2"
> + help
> + 2 vCPUs and 8GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C4A_STANDARD_4
> + bool "c4a-standard-4"
> + help
> + 4 vCPUs and 16GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C4A_STANDARD_8
> + bool "c4a-standard-8"
> + help
> + 8 vCPUs and 32GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C4A_STANDARD_16
> + bool "c4a-standard-16"
> + help
> + 16 vCPUs and 64GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C4A_STANDARD_32
> + bool "c4a-standard-32"
> + help
> + 32 vCPUs and 128GB of memory.
> +
> +endchoice
> +
> +config TERRAFORM_GCE_MACHINE_TYPE
> + string
> + output yaml
> + default "c4a-standard-1" if TERRAFORM_GCE_MACHINE_C4A_STANDARD_1
> + default "c4a-standard-2" if TERRAFORM_GCE_MACHINE_C4A_STANDARD_2
> + default "c4a-standard-4" if TERRAFORM_GCE_MACHINE_C4A_STANDARD_4
> + default "c4a-standard-8" if TERRAFORM_GCE_MACHINE_C4A_STANDARD_8
> + default "c4a-standard-16" if TERRAFORM_GCE_MACHINE_C4A_STANDARD_16
> + default "c4a-standard-32" if TERRAFORM_GCE_MACHINE_C4A_STANDARD_32
> +
> +config TERRAFORM_GCE_IMAGE_TYPE
> + string
> + output yaml
> + default "hyperdisk-balanced"
> +
> +endif # TERRAFORM_GCE_MACHINE_FAMILY_C4A_STANDARD
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.c4d-standard b/terraform/gce/kconfigs/machines/Kconfig.c4d-standard
> new file mode 100644
> index 000000000000..6d7b4bb96c8b
> --- /dev/null
> +++ b/terraform/gce/kconfigs/machines/Kconfig.c4d-standard
> @@ -0,0 +1,51 @@
> +if TERRAFORM_GCE_MACHINE_FAMILY_C4D_STANDARD
> +
> +choice
> + prompt "GCE Machine Type"
> + default TERRAFORM_GCE_MACHINE_C4D_STANDARD_4
> + help
> + C4D VMs are powered by the fifth generation AMD EPYC Turin
> + processor and Titanium.
> +
> +config TERRAFORM_GCE_MACHINE_C4D_STANDARD_2
> + bool "c4d-standard-2"
> + help
> + 2 vCPUs (1 core) and 7GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C4D_STANDARD_4
> + bool "c4d-standard-4"
> + help
> + 4 vCPUs (2 core) and 15GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C4D_STANDARD_8
> + bool "c4d-standard-8"
> + help
> + 8 vCPUs (4 cores) and 31GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C4D_STANDARD_16
> + bool "c4d-standard-16"
> + help
> + 16 vCPUs (8 cores) and 62GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_C4D_STANDARD_24
> + bool "c4d-standard-24"
> + help
> + 32 vCPUs (16 cores) and 124GB of memory.
> +
> +endchoice
> +
> +config TERRAFORM_GCE_MACHINE_TYPE
> + string
> + output yaml
> + default "c4d-standard-2" if TERRAFORM_GCE_MACHINE_C4D_STANDARD_2
> + default "c4d-standard-4" if TERRAFORM_GCE_MACHINE_C4D_STANDARD_4
> + default "c4d-standard-8" if TERRAFORM_GCE_MACHINE_C4D_STANDARD_8
> + default "c4d-standard-16" if TERRAFORM_GCE_MACHINE_C4D_STANDARD_16
> + default "c4d-standard-32" if TERRAFORM_GCE_MACHINE_C4D_STANDARD_32
> +
> +config TERRAFORM_GCE_IMAGE_TYPE
> + string
> + output yaml
> + default "hyperdisk-balanced"
> +
> +endif # TERRAFORM_GCE_MACHINE_FAMILY_C4D_STANDARD
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.e2-highcpu b/terraform/gce/kconfigs/machines/Kconfig.e2-highcpu
> new file mode 100644
> index 000000000000..eb401451b3c8
> --- /dev/null
> +++ b/terraform/gce/kconfigs/machines/Kconfig.e2-highcpu
> @@ -0,0 +1,58 @@
> +if TERRAFORM_GCE_MACHINE_FAMILY_E2_HIGHCPU
> +
> +choice
> + prompt "GCE Machine type"
> + default TERRAFORM_GCE_MACHINE_E2_HIGHCPU_8
> + help
> + The E2 machine series offers both Intel and AMD EPYC
> + processors, selected for you at the time of VM creation.
> + Machine types in this series are available in all regions
> + and zones and support a virtio memory balloon device.
> +
> +config TERRAFORM_GCE_MACHINE_E2_HIGHCPU_2
> + bool "e2-highcpu-2"
> + depends on TARGET_ARCH_X86_64
> + help
> + 2 vCPUs (1 core) and 2GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_E2_HIGHCPU_4
> + bool "e2-highcpu-4"
> + depends on TARGET_ARCH_X86_64
> + help
> + 4 vCPUs (2 cores) and 4GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_E2_HIGHCPU_8
> + bool "e2-highcpu-8"
> + depends on TARGET_ARCH_X86_64
> + help
> + 8 vCPUs (4 cores) and 8GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_E2_HIGHCPU_16
> + bool "e2-highcpu-16"
> + depends on TARGET_ARCH_X86_64
> + help
> + 16 vCPUs (8 cores) and 16GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_E2_HIGHCPU_32
> + bool "e2-highcpu-32"
> + depends on TARGET_ARCH_X86_64
> + help
> + 32 vCPUs (16 cores) and 32GB of memory.
> +
> +endchoice
> +
> +config TERRAFORM_GCE_MACHINE_TYPE
> + string
> + output yaml
> + default "e2-highcpu-2" if TERRAFORM_GCE_MACHINE_E2_HIGHCPU_2
> + default "e2-highcpu-4" if TERRAFORM_GCE_MACHINE_E2_HIGHCPU_4
> + default "e2-highcpu-8" if TERRAFORM_GCE_MACHINE_E2_HIGHCPU_8
> + default "e2-highcpu-16" if TERRAFORM_GCE_MACHINE_E2_HIGHCPU_16
> + default "e2-highcpu-32" if TERRAFORM_GCE_MACHINE_E2_HIGHCPU_32
> +
> +config TERRAFORM_GCE_IMAGE_TYPE
> + string
> + output yaml
> + default "pd-balanced"
> +
> +endif # TERRAFORM_GCE_MACHINE_FAMILY_E2_HIGHCPU
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.e2-standard b/terraform/gce/kconfigs/machines/Kconfig.e2-standard
> new file mode 100644
> index 000000000000..26180f841d5a
> --- /dev/null
> +++ b/terraform/gce/kconfigs/machines/Kconfig.e2-standard
> @@ -0,0 +1,58 @@
> +if TERRAFORM_GCE_MACHINE_FAMILY_E2_STANDARD
> +
> +choice
> + prompt "GCE Machine type"
> + default TERRAFORM_GCE_MACHINE_E2_STANDARD_8
> + help
> + The E2 machine series offers both Intel and AMD EPYC
> + processors, selected for you at the time of VM creation.
> + Machine types in this series are available in all regions
> + and zones and support a virtio memory balloon device.
> +
> +config TERRAFORM_GCE_MACHINE_E2_STANDARD_2
> + bool "e2-standard-2"
> + depends on TARGET_ARCH_X86_64
> + help
> + 2 vCPUs (1 core) and 8GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_E2_STANDARD_4
> + bool "e2-standard-4"
> + depends on TARGET_ARCH_X86_64
> + help
> + 4 vCPUs (2 cores) and 16GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_E2_STANDARD_8
> + bool "e2-standard-8"
> + depends on TARGET_ARCH_X86_64
> + help
> + 8 vCPUs (4 cores) and 32GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_E2_STANDARD_16
> + bool "e2-standard-16"
> + depends on TARGET_ARCH_X86_64
> + help
> + 16 vCPUs (8 cores) and 64GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_E2_STANDARD_32
> + bool "e2-standard-32"
> + depends on TARGET_ARCH_X86_64
> + help
> + 32 vCPUs (16 cores) and 128GB of memory.
> +
> +endchoice
> +
> +config TERRAFORM_GCE_MACHINE_TYPE
> + string
> + output yaml
> + default "e2-standard-2" if TERRAFORM_GCE_MACHINE_E2_STANDARD_2
> + default "e2-standard-4" if TERRAFORM_GCE_MACHINE_E2_STANDARD_4
> + default "e2-standard-8" if TERRAFORM_GCE_MACHINE_E2_STANDARD_8
> + default "e2-standard-16" if TERRAFORM_GCE_MACHINE_E2_STANDARD_16
> + default "e2-standard-32" if TERRAFORM_GCE_MACHINE_E2_STANDARD_32
> +
> +config TERRAFORM_GCE_IMAGE_TYPE
> + string
> + output yaml
> + default "pd-balanced"
> +
> +endif # TERRAFORM_GCE_MACHINE_FAMILY_E2_STANDARD
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.n1-highcpu b/terraform/gce/kconfigs/machines/Kconfig.n1-highcpu
> new file mode 100644
> index 000000000000..7684b2961962
> --- /dev/null
> +++ b/terraform/gce/kconfigs/machines/Kconfig.n1-highcpu
> @@ -0,0 +1,55 @@
> +if TERRAFORM_GCE_MACHINE_FAMILY_N1_HIGHCPU
> +
> +choice
> + prompt "GCE Machine type"
> + default TERRAFORM_GCE_MACHINE_N1_HIGHCPU_8
> + help
> + The N1 machine series is Compute Engine's first generation
> + general-purpose machine series available on Intel Skylake,
> + Broadwell, Haswell, Sandy Bridge, and Ivy Bridge CPU
> + platforms.
> +
> +config TERRAFORM_GCE_MACHINE_N1_HIGHCPU_2
> + bool "n1-highcpu-2"
> + help
> + 2 vCPUs (1 core) and 1.8GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_N1_HIGHCPU_4
> + bool "n1-highcpu-4"
> + help
> + 4 vCPUs (2 cores) and 3.6GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_N1_HIGHCPU_8
> + bool "n1-highcpu-8"
> + help
> + 8 vCPUs (4 cores) and 7.2GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_N1_HIGHCPU_16
> + bool "n1-highcpu-16"
> + depends on TARGET_ARCH_X86_64
> + help
> + 16 vCPUs (8 cores) and 14.4GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_N1_HIGHCPU_32
> + bool "n1-highcpu-32"
> + depends on TARGET_ARCH_X86_64
> + help
> + 32 vCPUs (16 cores) and 28.8GB of memory.
> +
> +endchoice
> +
> +config TERRAFORM_GCE_MACHINE_TYPE
> + string
> + output yaml
> + default "n1-highcpu-2" if TERRAFORM_GCE_MACHINE_N1_HIGHCPU_2
> + default "n1-highcpu-4" if TERRAFORM_GCE_MACHINE_N1_HIGHCPU_4
> + default "n1-highcpu-8" if TERRAFORM_GCE_MACHINE_N1_HIGHCPU_8
> + default "n1-highcpu-16" if TERRAFORM_GCE_MACHINE_N1_HIGHCPU_16
> + default "n1-highcpu-32" if TERRAFORM_GCE_MACHINE_N1_HIGHCPU_32
> +
> +config TERRAFORM_GCE_IMAGE_TYPE
> + string
> + output yaml
> + default "pd-balanced"
> +
> +endif # TERRAFORM_GCE_MACHINE_FAMILY_N1_HIGHCPU
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.n1-standard b/terraform/gce/kconfigs/machines/Kconfig.n1-standard
> index 65dbd672893d..7201231c74a0 100644
> --- a/terraform/gce/kconfigs/machines/Kconfig.n1-standard
> +++ b/terraform/gce/kconfigs/machines/Kconfig.n1-standard
> @@ -4,12 +4,10 @@ choice
> prompt "GCE Machine type"
> default TERRAFORM_GCE_MACHINE_N1_STANDARD_8
> help
> - This option sets the GCE machine type. For other machine types,
> - refer to this page:
> -
> - https://cloud.google.com/compute/docs/machine-types
> -
> - Documentation: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_instance#machine_type
> + The N1 machine series is Compute Engine's first generation
> + general-purpose machine series available on Intel Skylake,
> + Broadwell, Haswell, Sandy Bridge, and Ivy Bridge CPU
> + platforms.
>
> config TERRAFORM_GCE_MACHINE_N1_STANDARD_1
> bool "n1-standard-1"
> @@ -19,23 +17,30 @@ config TERRAFORM_GCE_MACHINE_N1_STANDARD_1
> config TERRAFORM_GCE_MACHINE_N1_STANDARD_2
> bool "n1-standard-2"
> help
> - 2 vCPU (1 core) and 7.5GB of memory.
> + 2 vCPUs (1 core) and 7.5GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N1_STANDARD_4
> bool "n1-standard-4"
> help
> - 4 vCPU (2 cores) and 15GB of memory.
> + 4 vCPUs (2 cores) and 15GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N1_STANDARD_8
> bool "n1-standard-8"
> help
> - 8 vCPU (4 cores) and 30GB of memory.
> + 8 vCPUs (4 cores) and 30GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N1_STANDARD_16
> bool "n1-standard-16"
> depends on TARGET_ARCH_X86_64
> help
> - 16 vCPU (8 cores) and 60GB of memory.
> + 16 vCPUs (8 cores) and 60GB of memory.
> +
> +config TERRAFORM_GCE_MACHINE_N1_STANDARD_32
> + bool "n1-standard-32"
> + depends on TARGET_ARCH_X86_64
> + help
> + 32 vCPUs (16 cores) and 120GB of memory.
> +
> endchoice
>
> config TERRAFORM_GCE_MACHINE_TYPE
> @@ -46,6 +51,7 @@ config TERRAFORM_GCE_MACHINE_TYPE
> default "n1-standard-4" if TERRAFORM_GCE_MACHINE_N1_STANDARD_4
> default "n1-standard-8" if TERRAFORM_GCE_MACHINE_N1_STANDARD_8
> default "n1-standard-16" if TERRAFORM_GCE_MACHINE_N1_STANDARD_16
> + default "n1-standard-32" if TERRAFORM_GCE_MACHINE_N1_STANDARD_32
>
> config TERRAFORM_GCE_IMAGE_TYPE
> string
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.n2-highcpu b/terraform/gce/kconfigs/machines/Kconfig.n2-highcpu
> index 8aa6893c7252..83823753dc93 100644
> --- a/terraform/gce/kconfigs/machines/Kconfig.n2-highcpu
> +++ b/terraform/gce/kconfigs/machines/Kconfig.n2-highcpu
> @@ -4,40 +4,38 @@ choice
> prompt "GCE Machine type"
> default TERRAFORM_GCE_MACHINE_N2_HIGHCPU_4
> help
> - This option sets the GCE machine type. For other machine
> - types, refer to this page:
> -
> - https://cloud.google.com/compute/docs/machine-types
> + The N2 machine series can run on either Intel Cascade Lake
> + (on smaller configurations) or Intel Ice Lake.
>
> config TERRAFORM_GCE_MACHINE_N2_HIGHCPU_2
> bool "n2-highcpu-2"
> depends on TARGET_ARCH_X86_64
> help
> - 2 vCPU (1 core) and 2GB of memory.
> + 2 vCPUs (1 core) and 2GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2_HIGHCPU_4
> bool "n2-highcpu-4"
> depends on TARGET_ARCH_X86_64
> help
> - 4 vCPU (2 core) and 4GB of memory.
> + 4 vCPUs (2 cores) and 4GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2_HIGHCPU_8
> bool "n2-highcpu-8"
> depends on TARGET_ARCH_X86_64
> help
> - 8 vCPU (4 cores) and 8GB of memory.
> + 8 vCPUs (4 cores) and 8GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2_HIGHCPU_16
> bool "n2-highcpu-16"
> depends on TARGET_ARCH_X86_64
> help
> - 16 vCPU (8 cores) and 16GB of memory.
> + 16 vCPUs (8 cores) and 16GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2_HIGHCPU_32
> bool "n2-highcpu-32"
> depends on TARGET_ARCH_X86_64
> help
> - 32 vCPU (16 cores) and 32GB of memory.
> + 32 vCPUs (16 cores) and 32GB of memory.
>
> endchoice
>
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.n2-standard b/terraform/gce/kconfigs/machines/Kconfig.n2-standard
> index b7b2d68fa522..a485a754ab44 100644
> --- a/terraform/gce/kconfigs/machines/Kconfig.n2-standard
> +++ b/terraform/gce/kconfigs/machines/Kconfig.n2-standard
> @@ -4,40 +4,38 @@ choice
> prompt "GCE Machine type"
> default TERRAFORM_GCE_MACHINE_N2_STANDARD_8
> help
> - This option sets the GCE machine type. For other machine
> - types, refer to this page:
> -
> - https://cloud.google.com/compute/docs/machine-types
> + The N2 machine series can run on either Intel Cascade Lake
> + (on smaller configurations) or Intel Ice Lake.
>
> config TERRAFORM_GCE_MACHINE_N2_STANDARD_2
> bool "n2-standard-2"
> depends on TARGET_ARCH_X86_64
> help
> - 2 vCPU (1 core) and 8GB of memory.
> + 2 vCPUs (1 core) and 8GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2_STANDARD_4
> bool "n2-standard-4"
> depends on TARGET_ARCH_X86_64
> help
> - 4 vCPU (2 core) and 16GB of memory.
> + 4 vCPUs (2 cores) and 16GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2_STANDARD_8
> bool "n2-standard-8"
> depends on TARGET_ARCH_X86_64
> help
> - 8 vCPU (4 cores) and 32GB of memory.
> + 8 vCPUs (4 cores) and 32GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2_STANDARD_16
> bool "n2-standard-16"
> depends on TARGET_ARCH_X86_64
> help
> - 16 vCPU (8 cores) and 64GB of memory.
> + 16 vCPUs (8 cores) and 64GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2_STANDARD_32
> bool "n2-standard-32"
> depends on TARGET_ARCH_X86_64
> help
> - 32 vCPU (16 cores) and 128GB of memory.
> + 32 vCPUs (16 cores) and 128GB of memory.
>
> endchoice
>
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.n2d-highcpu b/terraform/gce/kconfigs/machines/Kconfig.n2d-highcpu
> index 3050349416fd..e3cf9c6e5c41 100644
> --- a/terraform/gce/kconfigs/machines/Kconfig.n2d-highcpu
> +++ b/terraform/gce/kconfigs/machines/Kconfig.n2d-highcpu
> @@ -4,10 +4,9 @@ choice
> prompt "GCE Machine type"
> default TERRAFORM_GCE_MACHINE_N2D_HIGHCPU_4
> help
> - This option sets the GCE machine type. For other machine
> - types, refer to this page:
> -
> - https://cloud.google.com/compute/docs/machine-types
> + The N2D machine series can run on either AMD EPYC Milan or
> + AMD EPYC Rome processors. The third generation AMD EPYC
> + Milan processor is available only in specific regions and zones.
>
> config TERRAFORM_GCE_MACHINE_N2D_HIGHCPU_2
> bool "n2d-highcpu-2"
> @@ -19,25 +18,25 @@ config TERRAFORM_GCE_MACHINE_N2D_HIGHCPU_4
> bool "n2d-highcpu-4"
> depends on TARGET_ARCH_X86_64
> help
> - 4 vCPU (2 core) and 4GB of memory.
> + 4 vCPUs (2 cores) and 4GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2D_HIGHCPU_8
> bool "n2d-highcpu-8"
> depends on TARGET_ARCH_X86_64
> help
> - 8 vCPU (4 cores) and 8GB of memory.
> + 8 vCPUs (4 cores) and 8GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2D_HIGHCPU_16
> bool "n2d-highcpu-16"
> depends on TARGET_ARCH_X86_64
> help
> - 16 vCPU (8 cores) and 16GB of memory.
> + 16 vCPUs (8 cores) and 16GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2D_HIGHCPU_32
> bool "n2d-highcpu-32"
> depends on TARGET_ARCH_X86_64
> help
> - 32 vCPU (16 cores) and 32GB of memory.
> + 32 vCPUs (16 cores) and 32GB of memory.
>
> endchoice
>
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.n2d-standard b/terraform/gce/kconfigs/machines/Kconfig.n2d-standard
> index 08744d396595..4f86e0b7d3cf 100644
> --- a/terraform/gce/kconfigs/machines/Kconfig.n2d-standard
> +++ b/terraform/gce/kconfigs/machines/Kconfig.n2d-standard
> @@ -4,40 +4,39 @@ choice
> prompt "GCE Machine type"
> default TERRAFORM_GCE_MACHINE_N2D_STANDARD_4
> help
> - This option sets the GCE machine type. For other machine
> - types, refer to this page:
> -
> - https://cloud.google.com/compute/docs/machine-types
> + The N2D machine series can run on either AMD EPYC Milan or
> + AMD EPYC Rome processors. The third generation AMD EPYC
> + Milan processor is available only in specific regions and zones.
>
> config TERRAFORM_GCE_MACHINE_N2D_STANDARD_2
> bool "n2d-standard-2"
> depends on TARGET_ARCH_X86_64
> help
> - 2 vCPU (1 core) and 8GB of memory.
> + 2 vCPUs (1 core) and 8GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2D_STANDARD_4
> bool "n2d-standard-4"
> depends on TARGET_ARCH_X86_64
> help
> - 4 vCPU (2 core) and 16GB of memory.
> + 4 vCPUs (2 cores) and 16GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2D_STANDARD_8
> bool "n2d-standard-8"
> depends on TARGET_ARCH_X86_64
> help
> - 8 vCPU (4 cores) and 32GB of memory.
> + 8 vCPUs (4 cores) and 32GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2D_STANDARD_16
> bool "n2d-standard-16"
> depends on TARGET_ARCH_X86_64
> help
> - 16 vCPU (8 cores) and 64GB of memory.
> + 16 vCPUs (8 cores) and 64GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N2D_STANDARD_32
> bool "n2d-standard-32"
> depends on TARGET_ARCH_X86_64
> help
> - 32 vCPU (16 cores) and 128GB of memory.
> + 32 vCPUs (16 cores) and 128GB of memory.
>
> endchoice
>
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.n4-highcpu b/terraform/gce/kconfigs/machines/Kconfig.n4-highcpu
> index 9f871940a73b..880a386ea01d 100644
> --- a/terraform/gce/kconfigs/machines/Kconfig.n4-highcpu
> +++ b/terraform/gce/kconfigs/machines/Kconfig.n4-highcpu
> @@ -4,35 +4,33 @@ choice
> prompt "GCE Machine Type"
> default TERRAFORM_GCE_MACHINE_N4_HIGHCPU_4
> help
> - This option sets the GCE machine type. For other machine
> - types, refer to this page:
> -
> - https://cloud.google.com/compute/docs/machine-types
> + N4 VMs are powered by the 5th generation Intel Xeon Scalable
> + processors (code-named Emerald Rapids) and Titanium.
>
> config TERRAFORM_GCE_MACHINE_N4_HIGHCPU_2
> bool "n4-highcpu-2"
> help
> - 2 vCPU (1 core) and 4GB of memory.
> + 2 vCPUs (1 core) and 4GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N4_HIGHCPU_4
> bool "n4-highcpu-4"
> help
> - 4 vCPU (2 core) and 8GB of memory.
> + 4 vCPUs (2 cores) and 8GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N4_HIGHCPU_8
> bool "n4-highcpu-8"
> help
> - 8 vCPU (4 cores) and 16GB of memory.
> + 8 vCPUs (4 cores) and 16GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N4_HIGHCPU_16
> bool "n4-highcpu-16"
> help
> - 16 vCPU (8 cores) and 32GB of memory.
> + 16 vCPUs (8 cores) and 32GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N4_HIGHCPU_32
> bool "n4-highcpu-32"
> help
> - 32 vCPU (16 cores) and 64GB of memory.
> + 32 vCPUs (16 cores) and 64GB of memory.
>
> endchoice
>
> diff --git a/terraform/gce/kconfigs/machines/Kconfig.n4-standard b/terraform/gce/kconfigs/machines/Kconfig.n4-standard
> index d1d1202cbb7b..807f8638e865 100644
> --- a/terraform/gce/kconfigs/machines/Kconfig.n4-standard
> +++ b/terraform/gce/kconfigs/machines/Kconfig.n4-standard
> @@ -4,35 +4,33 @@ choice
> prompt "GCE Machine Type"
> default TERRAFORM_GCE_MACHINE_N4_STANDARD_4
> help
> - This option sets the GCE machine type. For other machine
> - types, refer to this page:
> -
> - https://cloud.google.com/compute/docs/machine-types
> + N4 VMs are powered by the 5th generation Intel Xeon Scalable
> + processors (code-named Emerald Rapids) and Titanium.
>
> config TERRAFORM_GCE_MACHINE_N4_STANDARD_2
> bool "n4-standard-2"
> help
> - 2 vCPU (1 core) and 8GB of memory.
> + 2 vCPUs (1 core) and 8GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N4_STANDARD_4
> bool "n4-standard-4"
> help
> - 4 vCPU (2 core) and 16GB of memory.
> + 4 vCPUs (2 cores) and 16GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N4_STANDARD_8
> bool "n4-standard-8"
> help
> - 8 vCPU (4 cores) and 32GB of memory.
> + 8 vCPUs (4 cores) and 32GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N4_STANDARD_16
> bool "n4-standard-16"
> help
> - 16 vCPU (8 cores) and 64GB of memory.
> + 16 vCPUs (8 cores) and 64GB of memory.
>
> config TERRAFORM_GCE_MACHINE_N4_STANDARD_32
> bool "n4-standard-32"
> help
> - 32 vCPU (16 cores) and 128GB of memory.
> + 32 vCPUs (16 cores) and 128GB of memory.
>
> endchoice
>
--
Chuck Lever
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH v1 00/26] Various fixes
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
` (25 preceding siblings ...)
2025-08-27 14:28 ` [PATCH v1 26/26] Add an Ansible requirements.yml file Chuck Lever
@ 2025-08-27 19:16 ` Luis Chamberlain
26 siblings, 0 replies; 29+ messages in thread
From: Luis Chamberlain @ 2025-08-27 19:16 UTC (permalink / raw)
To: Chuck Lever; +Cc: kdevops, Chuck Lever
On Wed, Aug 27, 2025 at 10:27:55AM -0400, Chuck Lever wrote:
> From: Chuck Lever <chuck.lever@oracle.com>
>
> I've finally gotten most of my test runners moved to cloud providers
> so I'm able to rebase my version of kdevops on
>
> linux-kdevops/kdevops : HEAD
>
> In the process I've found and fixed myriad small issues. One or two
> of these might need some attention and additional work. Please have
> a close look -- they are all short subjects.
The patch just needs a title:
[PATCH v1 09/26] terraform/oci:
Other than that:
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Luis
^ permalink raw reply [flat|nested] 29+ messages in thread
end of thread, other threads:[~2025-08-27 19:16 UTC | newest]
Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-27 14:27 [PATCH v1 00/26] Various fixes Chuck Lever
2025-08-27 14:27 ` [PATCH v1 01/26] scripts: Update gen_ssh_key.sh Chuck Lever
2025-08-27 14:27 ` [PATCH v1 02/26] terraform/azure: Fix count of managed disks Chuck Lever
2025-08-27 14:27 ` [PATCH v1 03/26] terraform/azure: Remove tags from terraform configuration Chuck Lever
2025-08-27 14:27 ` [PATCH v1 04/26] terraform/azure: Enable network acceleration Chuck Lever
2025-08-27 14:28 ` [PATCH v1 05/26] terraform/azure: Make the resource group name a variable Chuck Lever
2025-08-27 14:28 ` [PATCH v1 06/26] terraform/azure: Remove the provider version constraint Chuck Lever
2025-08-27 14:28 ` [PATCH v1 07/26] terraform/azure: Update the RHEL publishers Chuck Lever
2025-08-27 14:28 ` [PATCH v1 08/26] terraform/oci: Work around oracle/oci provider bug Chuck Lever
2025-08-27 14:28 ` [PATCH v1 09/26] terraform/oci: Chuck Lever
2025-08-27 14:28 ` [PATCH v1 10/26] terraform/oci: Enable preemptible compute instances Chuck Lever
2025-08-27 14:28 ` [PATCH v1 11/26] terraform/aws: Fix zone selection for us_west1 Chuck Lever
2025-08-27 14:28 ` [PATCH v1 12/26] Revert "terraform/aws: Add Oracle Linux AMI selections" Chuck Lever
2025-08-27 14:28 ` [PATCH v1 13/26] terraform/aws: Remove unused terraform tags Chuck Lever
2025-08-27 14:28 ` [PATCH v1 14/26] terraform/GCE: Fix the default disk throughput values Chuck Lever
2025-08-27 14:28 ` [PATCH v1 15/26] terraform/gce: Remove unused tags Chuck Lever
2025-08-27 14:28 ` [PATCH v1 16/26] terraform/gce: Remove support for Fedora Chuck Lever
2025-08-27 14:28 ` [PATCH v1 17/26] terraform/gce: Update existing machine types and introduce new ones Chuck Lever
2025-08-27 18:13 ` Chuck Lever
2025-08-27 14:28 ` [PATCH v1 18/26] terraform: Create the user's .ssh/config if it does not already exist Chuck Lever
2025-08-27 14:28 ` [PATCH v1 19/26] pynfs: Don't install xdrlib3 on older RHEL Chuck Lever
2025-08-27 14:28 ` [PATCH v1 20/26] guestfs: Update the guestfs playbook description Chuck Lever
2025-08-27 14:28 ` [PATCH v1 21/26] gen_hosts: Add 'localhost' to the [all] group Chuck Lever
2025-08-27 14:28 ` [PATCH v1 22/26] gen_host: Add [service] group to the builder template Chuck Lever
2025-08-27 14:28 ` [PATCH v1 23/26] guestfs: Don't run the 'destroy' tags on the controller Chuck Lever
2025-08-27 14:28 ` [PATCH v1 24/26] base_image: Skip "locales-all" package on Fedora Chuck Lever
2025-08-27 14:28 ` [PATCH v1 25/26] update_etc_hosts: ipaddr Chuck Lever
2025-08-27 14:28 ` [PATCH v1 26/26] Add an Ansible requirements.yml file Chuck Lever
2025-08-27 19:16 ` [PATCH v1 00/26] Various fixes Luis Chamberlain
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).