[PATCH v3 05/36] terraform/azure: Make the resource group name a variable

Chuck Lever <[email protected]>
Newsgroups dev.linux.lists.kdevops
Message-ID <[email protected]>
From: Chuck Lever <[email protected]>

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.

Reviewed-by: Luis Chamberlain <[email protected]>
Signed-off-by: Chuck Lever <[email protected]>
---
 .../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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.