From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 88EF52E3371 for ; Tue, 1 Apr 2025 01:00:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743469219; cv=none; b=KM+i2gz89vQFntn1ieO6AWD6o4nilq/FrzruHZeYtwTKpb3s8shvSWHSe9K9Y5EuLzoswdIMpxSHVoCjluze7u5yUhX/PKxnZJa6VPLbuAaTMiskTLCR6bVH//4wv0xcOwbopYeupxqkygxYDqhwQ+2H2fL9huM/UXflHgiqjNA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743469219; c=relaxed/simple; bh=xDrxhRrG5UTNdQWxaPAPl/RqMcC246UqWIdFUPNKJ9U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QnF0ZZufCifM5OxcDnrbeBTEkRN/uJMBL7HQ6IBAx+mNSwVpipFN3KhPOSnSB2V1+6x70wqRNPgG4aJaTEBCyJJL1LHVfceDTz4kOSUicoFD4UQUVbwcuXfoGvxP0KU8rKSPWjubbbQ6+MRXQI4hWT51Fso5B8izpdUIzyteY6E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rBo89h/1; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rBo89h/1" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0EC3CC4CEE5; Tue, 1 Apr 2025 01:00:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1743469219; bh=xDrxhRrG5UTNdQWxaPAPl/RqMcC246UqWIdFUPNKJ9U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rBo89h/1mhkGVSnOnC8/vIqVFAnPvVZqPcWpfpKOmGNvpHxrcumJHer8Rw3VqDGIy 72k035CmbBjaumyiKKcQe5U02/Gh5/Zwy2F0ziEjFcx0wAYkuU3UI8/ZIab7O8fJxp Qzne+yIxaRYw13uyOnHRRKnWX4C+mjJ2G036AO58CMOvLrlu9cSnoupqkWwO1AKFV0 YvK4uvVRYk0zADXijWhmVGwpnfM9ijSpySLLlxOVBHCRA5GURndggqP4P/FKMLlU14 kdnBmxvAhzQRQzQvkF7wBhZOw/NeVv+shqhDKE/ZlWDE/vPFGLZjGWmJF0/zdjwNxS 0wGunuaAQM6Kw== From: cel@kernel.org To: Cc: Chandan Babu R , Chuck Lever Subject: [RFC PATCH 20/31] terraform/OCI: Add a bare metal shape selector Date: Mon, 31 Mar 2025 20:59:49 -0400 Message-ID: <20250401010000.764234-21-cel@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250401010000.764234-1-cel@kernel.org> References: <20250401010000.764234-1-cel@kernel.org> Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Chuck Lever Match the same capability that is available for kdevops on AWS. Signed-off-by: Chuck Lever --- .../templates/oci/terraform.tfvars.j2 | 4 + terraform/oci/kconfigs/Kconfig.compute | 9 ++ terraform/oci/kconfigs/shapes/Kconfig.bm | 83 +++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 terraform/oci/kconfigs/shapes/Kconfig.bm diff --git a/playbooks/roles/gen_tfvars/templates/oci/terraform.tfvars.j2 b/playbooks/roles/gen_tfvars/templates/oci/terraform.tfvars.j2 index be0c154802ff..a747a4188e7b 100644 --- a/playbooks/roles/gen_tfvars/templates/oci/terraform.tfvars.j2 +++ b/playbooks/roles/gen_tfvars/templates/oci/terraform.tfvars.j2 @@ -6,8 +6,12 @@ oci_user_fingerprint = "{{ terraform_oci_user_fingerprint }}" oci_ad_number = {{ terraform_oci_ad_number }} oci_compartment_name = "{{ terraform_oci_compartment_name }}" oci_shape = "{{ terraform_oci_shape }}" +{% if terraform_oci_instance_flex_ocpus is defined %} oci_instance_flex_ocpus = {{ terraform_oci_instance_flex_ocpus }} +{% endif %} +{% if terraform_oci_instance_flex_memory_in_gbs is defined %} oci_instance_flex_memory_in_gbs = {{ terraform_oci_instance_flex_memory_in_gbs }} +{% endif %} 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 }}" diff --git a/terraform/oci/kconfigs/Kconfig.compute b/terraform/oci/kconfigs/Kconfig.compute index 281ef6d29c95..0e3aac104175 100644 --- a/terraform/oci/kconfigs/Kconfig.compute +++ b/terraform/oci/kconfigs/Kconfig.compute @@ -19,9 +19,18 @@ config TERRAFORM_OCI_SHAPE_FAMILY_FLEX per instance. The network bandwidth and number of VNICs scale proportionately with the number of OCPUs. +config TERRAFORM_OCI_SHAPE_FAMILY_BARE_METAL + bool "Bare metal" + help + A bare metal shape is a whole physical machine without + virtualization. This gives deterministic performance + characteristics but is less configurable than a flex + shape. + endchoice source "terraform/oci/kconfigs/shapes/Kconfig.flex" +source "terraform/oci/kconfigs/shapes/Kconfig.bm" config TERRAFORM_OCI_OS_IMAGE_OCID string "OCI OS image OCID" diff --git a/terraform/oci/kconfigs/shapes/Kconfig.bm b/terraform/oci/kconfigs/shapes/Kconfig.bm new file mode 100644 index 000000000000..40ef4502bb0a --- /dev/null +++ b/terraform/oci/kconfigs/shapes/Kconfig.bm @@ -0,0 +1,83 @@ +if TERRAFORM_OCI_SHAPE_FAMILY_BARE_METAL + +choice + prompt "OCI shape" + default TERRAFORM_OCI_SHAPE_BM_STANDARD3 + help + Select the basic hardware capabilities that are in each + instance. For more details, see: + + https://docs.oracle.com/en-us/iaas/Content/Compute/References/computeshapes.htm#baremetalshapes + +config TERRAFORM_OCI_SHAPE_BM_STANDARD3 + bool "BM.Standard3" + depends on TARGET_ARCH_X86_64 + help + X9-based standard compute. Processor: Intel Xeon Platinum + 8358. Base frequency 2.6 GHz, max turbo frequency 3.4 GHz. + +config TERRAFORM_OCI_SHAPE_BM_STANDARD_E4 + bool "BM.Standard.E4" + depends on TARGET_ARCH_X86_64 + help + E4-based standard compute. Processor: AMD EPYC 7J13. Base + frequency 2.55 GHz, max boost frequency 3.5 GHz. + +config TERRAFORM_OCI_SHAPE_BM_STANDARD_E5 + bool "BM.Standard.E5" + depends on TARGET_ARCH_X86_64 + help + E5-based standard compute. Processor: AMD EPYC 9J14. Base + frequency 2.4 GHz, max boost frequency 3.7 GHz. + +config TERRAFORM_OCI_SHAPE_BM_STANDARD_A1 + bool "BM.Standard.A1" + depends on TARGET_ARCH_ARM64 + help + OCI Ampere A1 Compute Arm-based standard compute. Each + OCPU corresponds to a single hardware execution thread. + Processor: Ampere Altra Q80-30. Max frequency 3.0 GHz. + +config TERRAFORM_OCI_SHAPE_BM_DENSEIO_E4 + bool "BM.DenseIO.E4" + depends on TARGET_ARCH_X86_64 + help + E4-based dense I/O compute. Processor: AMD EPYC 7J13. + Base frequency 2.55 GHz, max boost frequency 3.5 GHz. + +config TERRAFORM_OCI_SHAPE_BM_DENSEIO_E5 + bool "BM.DenseIO.E5" + depends on TARGET_ARCH_X86_64 + help + E5-based dense I/O compute. Processor: AMD EPYC 9J14. + Base frequency 2.4 GHz, max boost frequency 3.7 GHz. + +config TERRAFORM_OCI_SHAPE_BM_OPTIMIZED3 + bool "BM.Optimized3" + depends on TARGET_ARCH_X86_64 + help + Processor: Intel Xeon 6354. Base frequency 3.0 GHz, max + turbo frequency 3.6 GHz. + +config TERRAFORM_OCI_SHAPE_BM_HPC_E5 + bool "BM.HPC.E5" + depends on TARGET_ARCH_X86_64 + help + Processor: AMD EPYC 9J14. Base frequency 2.4 GHz, max + boost frequency 3.7 GHz. + +endchoice + +config TERRAFORM_OCI_SHAPE + string + output yaml + default "BM.Standard3" if TERRAFORM_OCI_SHAPE_BM_STANDARD3 + default "BM.Standard.E4" if TERRAFORM_OCI_SHAPE_BM_STANDARD_E4 + default "BM.Standard.E5" if TERRAFORM_OCI_SHAPE_BM_STANDARD_E5 + default "BM.Standard.A1" if TERRAFORM_OCI_SHAPE_BM_STANDARD_A1 + default "BM.DenseIO.E4" if TERRAFORM_OCI_SHAPE_BM_DENSEIO_E4 + default "BM.DenseIO.E5" if TERRAFORM_OCI_SHAPE_BM_DENSEIO_E5 + default "BM.Optimized3" if TERRAFORM_OCI_SHAPE_BM_OPTIMIZED3 + default "BM.HPC.E5" if TERRAFORM_OCI_SHAPE_BM_HPC_E5 + +endif # TERRAFORM_OCI_SHAPE_FAMILY_BARE_METAL -- 2.48.1