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 1EBE62E3371 for ; Tue, 1 Apr 2025 01:00:07 +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=1743469208; cv=none; b=Q/bfEbORPWoUJwyKWY9eMrd8+IXuowaXPDuP+dqSsc7Y7RDytHoHW51WOfbx74VyTqk9jN4YIwjB/Vb8Wiv/C+LcO5jQWZ/EHkLvZZJrGTYZ6jK5uTjxRaEO4LiyhCIoI5lXJPHaUaylCiGK0udR1QjGugLm7mbCIADdevgBweA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743469208; c=relaxed/simple; bh=+QWhWdG0xscnLSEEWwFZkWIOv+7TkxnjxRmsuQtFtgo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=qaUwylH8qmz08VvYOBwZiY44QEhmf6bsdIQgXvRpwv7pTaIW5YwZ08eZnf/VklGUBj/1jPSeQIHsWy+4KcWFH6Lnyt3Jahnh1gHkahauchO4DeAxjmlW3RTG1vvZyMyeKBj6HhWxF9o7fM8LkF3jKxto+8PF/OwQLQlPk/aMiQk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nf2yZp8Z; 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="nf2yZp8Z" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1B20EC4CEE3; Tue, 1 Apr 2025 01:00:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1743469207; bh=+QWhWdG0xscnLSEEWwFZkWIOv+7TkxnjxRmsuQtFtgo=; h=From:To:Cc:Subject:Date:From; b=nf2yZp8ZLnRK92mbXbtm2F9obmtbf9SNE4jMxP7yj53YdSZ86VbVHBfVg4YJhzvxU zRpajXSCQSm27qOoE3TmU6ceLk91LnGtEW++g68Gu5ld8hf/5yjudy2FNqzdvzuIGg cnEcqs4r5koNqGaPumDlZapfqXXu7FVWGGPd6Pwy1mVfr99aQOr6m+4OCcYQHrX0EK dEuQwMPYAuCX3aSbJiWcf74g11mF4xpXpEiAIkmjJOm8clB7hpEoH/DLex667384ae Ht1InQZ28LdWf6IGLiRWVEDIsjl2JJWl8paPEC/kJ+p1KgfNbbVPaHvdLNPZ1puNz/ 8zUOau+oqScBw== From: cel@kernel.org To: Cc: Chandan Babu R , Chuck Lever Subject: [RFC PATCH 00/31] Simplify OCI configuration menu Date: Mon, 31 Mar 2025 20:59:29 -0400 Message-ID: <20250401010000.764234-1-cel@kernel.org> X-Mailer: git-send-email 2.48.1 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 Over the past month or two I've had to set up kdevops with all four major public cloud providers in order to test the new volume_group role on each of them. There are a lot of similarities amongst the providers, and one of them is that set-up is probably much more complicated than necessary for all of them. I've come up with some simplifications that can apply to all of the providers, but I'd like to start with OCI because it looks to me like it's the one that has the most users currently. Let's figure out what OCI configuration needs to look like (ie, what changes its users will tolerate!) and make the other providers work the same way. This series features a number of changes: - The configuration is split into several submenus, just like the cloud console, to help humans navigate the complexity - A number of internal simplifications will help us keep up with changes and new features in the provider. In particular, splitting things into smaller files will make it simpler to add scripts to poll provider feature changes and adjust the kdevops menus accordingly - Free-form strings and "copy this OCID from the console" are replaced with "choose from this menu of known-working options". This includes selection of region, availability domain, shape, and source image - I've added an option to provision a VCN instead of assuming a pre-existing one, similar to how the other providers work Some of this stuff will make immediate sense, and some might be controversial. All comments are welcome. https://github.com/chucklever/kdevops branch => terraform-oci Chuck Lever (31): terraform/OCI: Remove terraform_oci_instance_display_name terraform/OCI: One default value to rule them terraform/OCI: Add an "Identity & Access" submenu terraform/OCI: Add a "Resource location" submenu terraform/OCI: Add a "Compute" Kconfig submenu terraform/OCI: Add a "Storage" Kconfig submenu terraform/OCI: Add a "Networking" Kconfig submenu terraform/OCI: Use "output yaml" for the tenancy OCID terraform/OCI: Use "output yaml" for the user OCID terraform/OCI: Use "output yaml" for the signing key terraform/OCI: Use "output yaml" for the fingerprint terraform/OCI: Add a Region selector terraform/OCI: Add an availability domain selector terraform/OCI: Select your compartment by name instead of by OCID terraform/OCI: Use "output yaml" for the instance shape setting terraform/OCI: Add a shape selector for Flex shapes terraform/OCI: Use "output yaml" for the OCPUs setting terraform/OCI: Use "output yaml" for the memory_in_gbs setting terraform/OCI: Add a shape family selector terraform/OCI: Add a bare metal shape selector terraform/OCI: Use "output yaml" for the source image setting terraform/OCI: Simplify image selection terraform/OCI: Remove TERRAFORM_OCI_VOLUMES_ENABLE_EXTRA terraform/OCI: Use "output yaml" for the assign_public_ip" setting terraform/OCI: Use "output yaml" for the subnet_ocid setting terraform/OCI: Add a default VCN terraform/OCI: Add a Kconfig switch to create a VCN on the fly terraform/OCI: Run "terraform fmt" on provider.tf terraform/OCI: Run "terraform fmt" on main.tf terraform/OCI: Nit: alphabetize vars.tf terraform/OCI: Update the OCI section of docs/kdevops-terraform.md docs/kdevops-terraform.md | 117 +++---- playbooks/roles/gen_tfvars/defaults/main.yml | 20 +- .../templates/oci/terraform.tfvars.j2 | 20 +- scripts/terraform.Makefile | 31 -- terraform/oci/Kconfig | 289 +----------------- terraform/oci/kconfigs/Kconfig.compute | 72 +++++ terraform/oci/kconfigs/Kconfig.identity | 35 +++ terraform/oci/kconfigs/Kconfig.location | 52 ++++ terraform/oci/kconfigs/Kconfig.network | 39 +++ terraform/oci/kconfigs/Kconfig.storage | 137 +++++++++ .../oci/kconfigs/images/Kconfig.OracleLinux | 237 ++++++++++++++ terraform/oci/kconfigs/images/Kconfig.Ubuntu | 162 ++++++++++ terraform/oci/kconfigs/images/Kconfig.custom | 20 ++ .../kconfigs/regions/Kconfig.ap-hyderabad-1 | 28 ++ .../oci/kconfigs/regions/Kconfig.ap-mumbai-1 | 27 ++ .../kconfigs/regions/Kconfig.ca-montreal-1 | 28 ++ .../oci/kconfigs/regions/Kconfig.ca-toronto-1 | 28 ++ .../oci/kconfigs/regions/Kconfig.us-ashburn-1 | 36 +++ .../oci/kconfigs/regions/Kconfig.us-chicago-1 | 36 +++ .../oci/kconfigs/regions/Kconfig.us-phoenix-1 | 36 +++ .../oci/kconfigs/regions/Kconfig.us-sanjose-1 | 28 ++ terraform/oci/kconfigs/shapes/Kconfig.bm | 83 +++++ terraform/oci/kconfigs/shapes/Kconfig.flex | 104 +++++++ terraform/oci/main.tf | 195 +++++++++--- terraform/oci/provider.tf | 10 +- terraform/oci/vars.tf | 158 +++++----- 26 files changed, 1472 insertions(+), 556 deletions(-) create mode 100644 terraform/oci/kconfigs/Kconfig.compute create mode 100644 terraform/oci/kconfigs/Kconfig.identity create mode 100644 terraform/oci/kconfigs/Kconfig.location create mode 100644 terraform/oci/kconfigs/Kconfig.network create mode 100644 terraform/oci/kconfigs/Kconfig.storage create mode 100644 terraform/oci/kconfigs/images/Kconfig.OracleLinux create mode 100644 terraform/oci/kconfigs/images/Kconfig.Ubuntu create mode 100644 terraform/oci/kconfigs/images/Kconfig.custom create mode 100644 terraform/oci/kconfigs/regions/Kconfig.ap-hyderabad-1 create mode 100644 terraform/oci/kconfigs/regions/Kconfig.ap-mumbai-1 create mode 100644 terraform/oci/kconfigs/regions/Kconfig.ca-montreal-1 create mode 100644 terraform/oci/kconfigs/regions/Kconfig.ca-toronto-1 create mode 100644 terraform/oci/kconfigs/regions/Kconfig.us-ashburn-1 create mode 100644 terraform/oci/kconfigs/regions/Kconfig.us-chicago-1 create mode 100644 terraform/oci/kconfigs/regions/Kconfig.us-phoenix-1 create mode 100644 terraform/oci/kconfigs/regions/Kconfig.us-sanjose-1 create mode 100644 terraform/oci/kconfigs/shapes/Kconfig.bm create mode 100644 terraform/oci/kconfigs/shapes/Kconfig.flex -- 2.48.1