public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
From: cel@kernel.org
To: <kdevops@lists.linux.dev>
Cc: Chandan Babu R <chandanbabu@kernel.org>,
	Chuck Lever <chuck.lever@oracle.com>
Subject: [RFC PATCH 23/31] terraform/OCI: Remove TERRAFORM_OCI_VOLUMES_ENABLE_EXTRA
Date: Mon, 31 Mar 2025 20:59:52 -0400	[thread overview]
Message-ID: <20250401010000.764234-24-cel@kernel.org> (raw)
In-Reply-To: <20250401010000.764234-1-cel@kernel.org>

From: Chuck Lever <chuck.lever@oracle.com>

Chandan and I have noticed that "enable extra disks, select 2 per
instance" is pretty much exactly the same as "don't enable extra
disks". Simplify the extra disks selector by removing the check
box and making "2 disks per instance" the default.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
 .../templates/oci/terraform.tfvars.j2         |  6 --
 scripts/terraform.Makefile                    | 11 ---
 terraform/oci/kconfigs/Kconfig.storage        | 75 ++++---------------
 terraform/oci/main.tf                         | 40 +---------
 terraform/oci/vars.tf                         | 19 +----
 5 files changed, 17 insertions(+), 134 deletions(-)

diff --git a/playbooks/roles/gen_tfvars/templates/oci/terraform.tfvars.j2 b/playbooks/roles/gen_tfvars/templates/oci/terraform.tfvars.j2
index a747a4188e7b..fd3d9b853c05 100644
--- a/playbooks/roles/gen_tfvars/templates/oci/terraform.tfvars.j2
+++ b/playbooks/roles/gen_tfvars/templates/oci/terraform.tfvars.j2
@@ -15,16 +15,10 @@ oci_instance_flex_memory_in_gbs = {{ terraform_oci_instance_flex_memory_in_gbs }
 oci_os_image_ocid = "{{ terraform_oci_os_image_ocid }}"
 oci_assign_public_ip = "{{ terraform_oci_assign_public_ip | lower }}"
 oci_subnet_ocid = "{{ terraform_oci_subnet_ocid }}"
-oci_volumes_enable_extra = "{{ terraform_oci_volumes_enable_extra | lower }}"
-{% if terraform_oci_volumes_enable_extra %}
 oci_volumes_per_instance = {{ terraform_oci_volumes_per_instance }}
 oci_volumes_size = {{ terraform_oci_volumes_size }}
-{% else %}
-oci_data_volume_display_name = "{{ terraform_oci_data_volume_display_name }}"
 oci_data_volume_device_file_name = "{{ terraform_oci_data_volume_device_file_name }}"
-oci_sparse_volume_display_name = "{{ terraform_oci_sparse_volume_display_name }}"
 oci_sparse_volume_device_file_name = "{{ terraform_oci_sparse_volume_device_file_name }}"
-{% endif %}
 
 ssh_config_pubkey_file = "{{ kdevops_terraform_ssh_config_pubkey_file }}"
 ssh_config_user = "{{ kdevops_terraform_ssh_config_user }}"
diff --git a/scripts/terraform.Makefile b/scripts/terraform.Makefile
index e77f4dd0b474..d9e28050a508 100644
--- a/scripts/terraform.Makefile
+++ b/scripts/terraform.Makefile
@@ -101,17 +101,6 @@ else
 TERRAFORM_EXTRA_VARS += terraform_oci_assign_public_ip=false
 endif
 TERRAFORM_EXTRA_VARS += terraform_oci_subnet_ocid=$(subst ",,$(CONFIG_TERRAFORM_OCI_SUBNET_OCID))
-
-ifeq (y, $(CONFIG_TERRAFORM_OCI_VOLUMES_ENABLE_EXTRA))
-TERRAFORM_EXTRA_VARS += terraform_oci_volumes_enable_extra=true
-else
-TERRAFORM_EXTRA_VARS += terraform_oci_volumes_enable_extra=false
-TERRAFORM_EXTRA_VARS += terraform_oci_data_volume_display_name=$(subst ",,$(CONFIG_TERRAFORM_OCI_DATA_VOLUME_DISPLAY_NAME))
-TERRAFORM_EXTRA_VARS += terraform_oci_sparse_volume_display_name=$(subst ",,$(CONFIG_TERRAFORM_OCI_SPARSE_VOLUME_DISPLAY_NAME))
-endif
-TERRAFORM_EXTRA_VARS += terraform_oci_data_volume_device_file_name=$(subst ",,$(CONFIG_TERRAFORM_OCI_DATA_VOLUME_DEVICE_FILE_NAME))
-TERRAFORM_EXTRA_VARS += terraform_oci_sparse_volume_device_file_name=$(subst ",,$(CONFIG_TERRAFORM_OCI_SPARSE_VOLUME_DEVICE_FILE_NAME))
-
 endif
 
 ifeq (y,$(CONFIG_TERRAFORM_OPENSTACK))
diff --git a/terraform/oci/kconfigs/Kconfig.storage b/terraform/oci/kconfigs/Kconfig.storage
index 8b2885a07d63..ed872a26834e 100644
--- a/terraform/oci/kconfigs/Kconfig.storage
+++ b/terraform/oci/kconfigs/Kconfig.storage
@@ -1,69 +1,50 @@
-config TERRAFORM_OCI_VOLUMES_ENABLE_EXTRA
-	bool "Enable additional block devices"
-	default n
-	help
-	  Enable this to provision up to 10 extra block devices
-	  on each target node.
-
-if TERRAFORM_OCI_VOLUMES_ENABLE_EXTRA
-
 choice
 	prompt "Count of extra block volumes"
-	default TERRAFORM_OCI_VOLUMES_PER_INSTANCE_4
+	default TERRAFORM_OCI_VOLUMES_PER_INSTANCE_2
 	help
-	  The count of extra block devices attached to each target
-	  node.
+	  The count of extra block devices attached to each
+	  instance.
+
+config TERRAFORM_OCI_VOLUMES_PER_INSTANCE_0
+	bool "0"
+
+config TERRAFORM_OCI_VOLUMES_PER_INSTANCE_1
+	bool "1"
 
 config TERRAFORM_OCI_VOLUMES_PER_INSTANCE_2
 	bool "2"
-	help
-	  Provision 2 extra volumes per target node.
 
 config TERRAFORM_OCI_VOLUMES_PER_INSTANCE_3
 	bool "3"
-	help
-	  Provision 3 extra volumes per target node.
 
 config TERRAFORM_OCI_VOLUMES_PER_INSTANCE_4
 	bool "4"
-	help
-	  Provision 4 extra volumes per target node.
 
 config TERRAFORM_OCI_VOLUMES_PER_INSTANCE_5
 	bool "5"
-	help
-	  Provision 5 extra volumes per target node.
 
 config TERRAFORM_OCI_VOLUMES_PER_INSTANCE_6
 	bool "6"
-	help
-	  Provision 6 extra volumes per target node.
 
 config TERRAFORM_OCI_VOLUMES_PER_INSTANCE_7
 	bool "7"
-	help
-	  Provision 7 extra volumes per target node.
 
 config TERRAFORM_OCI_VOLUMES_PER_INSTANCE_8
 	bool "8"
-	help
-	  Provision 8 extra volumes per target node.
 
 config TERRAFORM_OCI_VOLUMES_PER_INSTANCE_9
 	bool "9"
-	help
-	  Provision 9 extra volumes per target node.
 
 config TERRAFORM_OCI_VOLUMES_PER_INSTANCE_10
 	bool "10"
-	help
-	  Provision 10 extra volumes per target node.
 
 endchoice
 
 config TERRAFORM_OCI_VOLUMES_PER_INSTANCE
 	int
 	output yaml
+	default 0 if TERRAFORM_OCI_VOLUMES_PER_INSTANCE_0
+	default 1 if TERRAFORM_OCI_VOLUMES_PER_INSTANCE_1
 	default 2 if TERRAFORM_OCI_VOLUMES_PER_INSTANCE_2
 	default 3 if TERRAFORM_OCI_VOLUMES_PER_INSTANCE_3
 	default 4 if TERRAFORM_OCI_VOLUMES_PER_INSTANCE_4
@@ -76,7 +57,7 @@ config TERRAFORM_OCI_VOLUMES_PER_INSTANCE
 
 choice
 	prompt "Volume size for each additional volume"
-	default TERRAFORM_OCI_VOLUMES_SIZE_50G
+	default TERRAFORM_OCI_VOLUMES_SIZE_128G
 	help
 	  OCI implements volume sizes between 50G and 32T. In some
 	  cases, 50G volumes are in the free tier.
@@ -141,44 +122,16 @@ config TERRAFORM_OCI_VOLUMES_SIZE
 	default 4096 if TERRAFORM_OCI_VOLUMES_SIZE_4096G
 	default 8192 if TERRAFORM_OCI_VOLUMES_SIZE_8192G
 
-endif # TERRAFORM_OCI_VOLUMES_ENABLE_EXTRA
-
-if !TERRAFORM_OCI_VOLUMES_ENABLE_EXTRA
-
-config TERRAFORM_OCI_DATA_VOLUME_DISPLAY_NAME
-	string "Display name to use for the data volume"
-	default "data"
-	help
-	  Human readable data volume instance name
-	  Read this:
-	  https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/terraformproviderconfiguration.htm
-
-endif # !TERRAFORM_OCI_VOLUMES_ENABLE_EXTRA
-
 config TERRAFORM_OCI_DATA_VOLUME_DEVICE_FILE_NAME
 	string "Data volume's device file name"
+	output yaml
 	default "/dev/oracleoci/oraclevdb"
 	help
 	  Data volume's device file name
-	  Read this:
-	  https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/terraformproviderconfiguration.htm
-
-if !TERRAFORM_OCI_VOLUMES_ENABLE_EXTRA
-
-config TERRAFORM_OCI_SPARSE_VOLUME_DISPLAY_NAME
-	string "Display name to use for the sparse volume"
-	default "sparse"
-	help
-	  Human readable sparse volume instance name
-	  Read this:
-	  https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/terraformproviderconfiguration.htm
-
-endif # !TERRAFORM_OCI_VOLUMES_ENABLE_EXTRA
 
 config TERRAFORM_OCI_SPARSE_VOLUME_DEVICE_FILE_NAME
 	string "Sparse volume's device file name"
+	output yaml
 	default "/dev/oracleoci/oraclevdc"
 	help
 	  Sparse volume's device file name
-	  Read this:
-	  https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/terraformproviderconfiguration.htm
diff --git a/terraform/oci/main.tf b/terraform/oci/main.tf
index 6991644d83b8..f6596a104c51 100644
--- a/terraform/oci/main.tf
+++ b/terraform/oci/main.tf
@@ -40,46 +40,8 @@ resource "oci_core_instance" "kdevops_instance" {
   preserve_boot_volume = false
 }
 
-resource "oci_core_volume" "kdevops_data_disk" {
-  count = var.oci_volumes_enable_extra == "true" ? 0 : local.kdevops_num_boxes
-
-  availability_domain = data.oci_identity_availability_domain.kdevops_av_domain.name
-  compartment_id = data.oci_identity_compartments.kdevops_compartment.compartments[0].id
-  display_name = var.oci_data_volume_display_name
-  size_in_gbs = 50
-}
-
-resource "oci_core_volume" "kdevops_sparse_disk" {
-  count = var.oci_volumes_enable_extra == "true" ? 0 : local.kdevops_num_boxes
-
-  availability_domain = data.oci_identity_availability_domain.kdevops_av_domain.name
-  compartment_id = data.oci_identity_compartments.kdevops_compartment.compartments[0].id
-  display_name = var.oci_sparse_volume_display_name
-  size_in_gbs = 120
-}
-
-resource "oci_core_volume_attachment" "kdevops_data_volume_attachment" {
-  count = var.oci_volumes_enable_extra == "true" ? 0 : local.kdevops_num_boxes
-
-  attachment_type = "paravirtualized"
-  instance_id = element(oci_core_instance.kdevops_instance.*.id, count.index)
-  volume_id = element(oci_core_volume.kdevops_data_disk.*.id, count.index)
-
-  device = var.oci_data_volume_device_file_name
-}
-
-resource "oci_core_volume_attachment" "kdevops_sparse_disk_attachment" {
-  count = var.oci_volumes_enable_extra == "true" ? 0 : local.kdevops_num_boxes
-
-  attachment_type = "paravirtualized"
-  instance_id = element(oci_core_instance.kdevops_instance.*.id, count.index)
-  volume_id = element(oci_core_volume.kdevops_sparse_disk.*.id, count.index)
-
-  device = var.oci_sparse_volume_device_file_name
-}
-
 module "volumes" {
-  count  = var.oci_volumes_enable_extra == "true" ? local.kdevops_num_boxes : 0
+  count  = local.kdevops_num_boxes
   source = "./volumes"
 
   vol_availability_domain = data.oci_identity_availability_domain.kdevops_av_domain.name
diff --git a/terraform/oci/vars.tf b/terraform/oci/vars.tf
index f760fbb776fa..7c19720bebc2 100644
--- a/terraform/oci/vars.tf
+++ b/terraform/oci/vars.tf
@@ -65,11 +65,6 @@ variable "oci_subnet_ocid" {
   type        = string
 }
 
-variable "oci_volumes_enable_extra" {
-  description = "Create additional block volumes per instance"
-  type        = bool
-}
-
 variable "oci_volumes_per_instance" {
   description = "The count of additional block volumes per instance"
   type        = number
@@ -80,22 +75,12 @@ variable "oci_volumes_size" {
   type        = number
 }
 
-variable "oci_data_volume_display_name" {
-  description = "Display name to use for the data volume"
-  type        = string
-}
-
-variable oci_data_volume_device_file_name {
+variable "oci_data_volume_device_file_name" {
   description = "Data volume's device file name"
   type        = string
 }
 
-variable "oci_sparse_volume_display_name" {
-  description = "Display name to use for the sparse volume"
-  type        = string
-}
-
-variable oci_sparse_volume_device_file_name {
+variable "oci_sparse_volume_device_file_name" {
   description = "Sparse volume's device file name"
   type        = string
 }
-- 
2.48.1


  parent reply	other threads:[~2025-04-01  1:00 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-01  0:59 [RFC PATCH 00/31] Simplify OCI configuration menu cel
2025-04-01  0:59 ` [RFC PATCH 01/31] terraform/OCI: Remove terraform_oci_instance_display_name cel
2025-04-01  0:59 ` [RFC PATCH 02/31] terraform/OCI: One default value to rule them cel
2025-04-01  0:59 ` [RFC PATCH 03/31] terraform/OCI: Add an "Identity & Access" submenu cel
2025-04-01  0:59 ` [RFC PATCH 04/31] terraform/OCI: Add a "Resource location" submenu cel
2025-04-01  0:59 ` [RFC PATCH 05/31] terraform/OCI: Add a "Compute" Kconfig submenu cel
2025-04-01  0:59 ` [RFC PATCH 06/31] terraform/OCI: Add a "Storage" " cel
2025-04-01  0:59 ` [RFC PATCH 07/31] terraform/OCI: Add a "Networking" " cel
2025-04-01  0:59 ` [RFC PATCH 08/31] terraform/OCI: Use "output yaml" for the tenancy OCID cel
2025-04-01  0:59 ` [RFC PATCH 09/31] terraform/OCI: Use "output yaml" for the user OCID cel
2025-04-01  0:59 ` [RFC PATCH 10/31] terraform/OCI: Use "output yaml" for the signing key cel
2025-04-01  0:59 ` [RFC PATCH 11/31] terraform/OCI: Use "output yaml" for the fingerprint cel
2025-04-01  0:59 ` [RFC PATCH 12/31] terraform/OCI: Add a Region selector cel
2025-04-01  0:59 ` [RFC PATCH 13/31] terraform/OCI: Add an availability domain selector cel
2025-04-01  0:59 ` [RFC PATCH 14/31] terraform/OCI: Select your compartment by name instead of by OCID cel
2025-04-01  0:59 ` [RFC PATCH 15/31] terraform/OCI: Use "output yaml" for the instance shape setting cel
2025-04-01  0:59 ` [RFC PATCH 16/31] terraform/OCI: Add a shape selector for Flex shapes cel
2025-04-01  0:59 ` [RFC PATCH 17/31] terraform/OCI: Use "output yaml" for the OCPUs setting cel
2025-04-01  0:59 ` [RFC PATCH 18/31] terraform/OCI: Use "output yaml" for the memory_in_gbs setting cel
2025-04-01  0:59 ` [RFC PATCH 19/31] terraform/OCI: Add a shape family selector cel
2025-04-01  0:59 ` [RFC PATCH 20/31] terraform/OCI: Add a bare metal shape selector cel
2025-04-01  0:59 ` [RFC PATCH 21/31] terraform/OCI: Use "output yaml" for the source image setting cel
2025-04-01  0:59 ` [RFC PATCH 22/31] terraform/OCI: Simplify image selection cel
2025-04-01  0:59 ` cel [this message]
2025-04-01  0:59 ` [RFC PATCH 24/31] terraform/OCI: Use "output yaml" for the assign_public_ip" setting cel
2025-04-01  0:59 ` [RFC PATCH 25/31] terraform/OCI: Use "output yaml" for the subnet_ocid setting cel
2025-04-01  0:59 ` [RFC PATCH 26/31] terraform/OCI: Add a default VCN cel
2025-04-01  0:59 ` [RFC PATCH 27/31] terraform/OCI: Add a Kconfig switch to create a VCN on the fly cel
2025-04-01  0:59 ` [RFC PATCH 28/31] terraform/OCI: Run "terraform fmt" on provider.tf cel
2025-04-01  0:59 ` [RFC PATCH 29/31] terraform/OCI: Run "terraform fmt" on main.tf cel
2025-04-01  0:59 ` [RFC PATCH 30/31] terraform/OCI: Nit: alphabetize vars.tf cel
2025-04-01  1:00 ` [RFC PATCH 31/31] terraform/OCI: Update the OCI section of docs/kdevops-terraform.md cel
2025-04-02 19:21 ` [RFC PATCH 00/31] Simplify OCI configuration menu Luis Chamberlain
2025-04-02 19:24   ` Luis Chamberlain
2025-04-02 19:38   ` Chuck Lever
2025-04-02 20:08     ` Luis Chamberlain
2025-04-08 12:42       ` Chandan Babu R
2025-04-08 13:20         ` Chuck Lever
2025-04-09  4:04           ` Chandan Babu R

Reply instructions:

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

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

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

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

  git send-email \
    --in-reply-to=20250401010000.764234-24-cel@kernel.org \
    --to=cel@kernel.org \
    --cc=chandanbabu@kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=kdevops@lists.linux.dev \
    /path/to/YOUR_REPLY

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

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