From patchwork Mon Feb 24 19:12:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 13988836 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 EDE021EDA24 for ; Mon, 24 Feb 2025 19:12:21 +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=1740424342; cv=none; b=kZvhcGHlMyIsbuZ2k1b09Jvk3vtL2qE+5ndwkMkfFVALTubdOQcCNxb32IObvJdzNB806rpyXSl5Rj0XRlW6/XHMwdqlxYkCpZKR407BcT+EytHPy7+Jln9yekRqQgUOW5QB0BWLxX0pIGGkgE3Wa7zSQCuRV9CzLPA7sXcETEU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740424342; c=relaxed/simple; bh=dBS005TP5wDXxqDo/ffdBHVQIEU5YLXuodfJLcYL1N0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Fei612C+aba6HfY7nYhRmNc+Zuk5BpMxo3jLer22N52l4A/LnmdIKwRr1LGjpGAVDMYmC7pGxsN7vBkXMSjCGcqu3cklKV8T8NpKDx9A1OPlId0EOF57/JreU4GSyrcglXhNrPu0qDhWx+hcjV27WGzuomOY8d700OTOjWN5uSo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GwNdnHkZ; 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="GwNdnHkZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8C350C4CED6; Mon, 24 Feb 2025 19:12:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740424341; bh=dBS005TP5wDXxqDo/ffdBHVQIEU5YLXuodfJLcYL1N0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GwNdnHkZXlOA9BMFxGnuFrkZA0qynByJu+xsFbSJONuYx1rLrMmpO8eXSmWmjh3HP bS88YMzUdPSkgia/zUQ+w5ES3BRUTPqQ6/+8rDB/A2r+QJUrDmKDzsn0u1ItoJ+rS0 kcNFxWbjt03UhoZeCN/to0jAIAIV3GEAz49TNCugA0GUGToTcVOpDmn/bdmJ3+6EqL cGHekJRhRKMlVjC+v1fz3sjC3YFsC6jP/4J/OWODjg8WG4KkV0OcMfbgKc8+p+Qif/ yZpSlpdqavpYdDh89+BnJ/mVHHPN7HxUemwqRBs9gkXhb1QZ1TX80wMQnUZn7kfiHB 8TyWx2/rJgy8g== From: cel@kernel.org To: Cc: Chuck Lever Subject: [PATCH v3 6/6] terraform: Remove the terrraform update_ssh_config module Date: Mon, 24 Feb 2025 14:12:15 -0500 Message-ID: <20250224191215.637818-7-cel@kernel.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250224191215.637818-1-cel@kernel.org> References: <20250224191215.637818-1-cel@kernel.org> Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Chuck Lever Unhook terraform's update_ssh_config module now that kdevops handles this step. Signed-off-by: Chuck Lever --- terraform/aws/output.tf | 25 ------------------ terraform/aws/update_ssh_config.tf | 1 - terraform/aws/update_ssh_config_use.tf | 12 --------- terraform/azure/output.tf | 18 ------------- terraform/azure/update_ssh_config.tf | 1 - terraform/azure/update_ssh_config_use.tf | 4 --- terraform/gce/output.tf | 27 +------------------- terraform/gce/update_ssh_config.tf | 1 - terraform/gce/update_ssh_config_use.tf | 4 --- terraform/oci/update_ssh_config.tf | 1 - terraform/oci/update_ssh_config_use.tf | 8 ------ terraform/openstack/output.tf | 2 ++ terraform/openstack/update_ssh_config.tf | 1 - terraform/openstack/update_ssh_config_use.tf | 4 --- terraform/update_ssh_config.tf | 17 ------------ 15 files changed, 3 insertions(+), 123 deletions(-) delete mode 120000 terraform/aws/update_ssh_config.tf delete mode 100644 terraform/aws/update_ssh_config_use.tf delete mode 120000 terraform/azure/update_ssh_config.tf delete mode 100644 terraform/azure/update_ssh_config_use.tf delete mode 120000 terraform/gce/update_ssh_config.tf delete mode 100644 terraform/gce/update_ssh_config_use.tf delete mode 120000 terraform/oci/update_ssh_config.tf delete mode 100644 terraform/oci/update_ssh_config_use.tf delete mode 120000 terraform/openstack/update_ssh_config.tf delete mode 100644 terraform/openstack/update_ssh_config_use.tf delete mode 100644 terraform/update_ssh_config.tf diff --git a/terraform/aws/output.tf b/terraform/aws/output.tf index cb8cab4afcdd..83a85a388055 100644 --- a/terraform/aws/output.tf +++ b/terraform/aws/output.tf @@ -1,30 +1,5 @@ # All generic output goes here -locals { - ssh_key_i = format( - " %s%s ", - var.ssh_config_pubkey_file != "" ? "-i " : "", - var.ssh_config_pubkey_file != "" ? replace(var.ssh_config_pubkey_file, ".pub", "") : "", - ) -} - -data "null_data_source" "group_hostnames_and_ips" { - count = local.kdevops_num_boxes - inputs = { - value = format( - "%30s : ssh %s@%s %s ", - element(var.kdevops_nodes, count.index), - var.ssh_config_user, - element(aws_eip.kdevops_eip.*.public_ip, count.index), - local.ssh_key_i, - ) - } -} - -output "login_using" { - value = data.null_data_source.group_hostnames_and_ips.*.outputs -} - # Each provider's output.tf needs to define a public_ip_map. This # map is used to build the Ansible controller's ssh configuration. # Each map entry contains the node's hostname and public IP address. diff --git a/terraform/aws/update_ssh_config.tf b/terraform/aws/update_ssh_config.tf deleted file mode 120000 index 03cd77a65841..000000000000 --- a/terraform/aws/update_ssh_config.tf +++ /dev/null @@ -1 +0,0 @@ -../update_ssh_config.tf \ No newline at end of file diff --git a/terraform/aws/update_ssh_config_use.tf b/terraform/aws/update_ssh_config_use.tf deleted file mode 100644 index c33d9b6a2ec4..000000000000 --- a/terraform/aws/update_ssh_config_use.tf +++ /dev/null @@ -1,12 +0,0 @@ -locals { - all_tags = aws_instance.kdevops_instance.*.tags - shorthosts = [ - for tags in local.all_tags : - format("%s", lookup(tags, "Name")) - ] - all_ipv4s = aws_eip.kdevops_eip.*.public_ip - ipv4s = [ - for ip in local.all_ipv4s : - ip == "" ? "0.0.0.0" : ip - ] -} diff --git a/terraform/azure/output.tf b/terraform/azure/output.tf index 22dfa2f0736d..ef5e3eca6883 100644 --- a/terraform/azure/output.tf +++ b/terraform/azure/output.tf @@ -20,24 +20,6 @@ output "kdevops_public_ip_addresses" { value = data.azurerm_public_ip.public_ips.*.ip_address } -locals { - ssh_key_i = format(" %s%s ", var.ssh_config_pubkey_file != "" ? "-i " : "", var.ssh_config_pubkey_file != "" ? replace(var.ssh_config_pubkey_file, ".pub", "") : "") -} - -data "null_data_source" "group_hostnames_and_ips" { - count = local.kdevops_num_boxes - inputs = { - # In theory using "${self.triggers["name"]}" and "${self.triggersp["ip"]}" - # would be nice but it is not supported in this context, only in the - # provisioner and connection contexts. - value = "${format("%30s : ssh %s@%s %s ", element(azurerm_linux_virtual_machine.kdevops_vm.*.name, count.index), var.ssh_config_user, element(azurerm_public_ip.kdevops_publicip.*.ip_address, count.index), local.ssh_key_i)}" - } -} - -output "login_using" { - value = data.null_data_source.group_hostnames_and_ips.*.outputs -} - # Each provider's output.tf needs to define a public_ip_map. This # map is used to build the Ansible controller's ssh configuration. # Each map entry contains the node's hostname and public IP address. diff --git a/terraform/azure/update_ssh_config.tf b/terraform/azure/update_ssh_config.tf deleted file mode 120000 index 03cd77a65841..000000000000 --- a/terraform/azure/update_ssh_config.tf +++ /dev/null @@ -1 +0,0 @@ -../update_ssh_config.tf \ No newline at end of file diff --git a/terraform/azure/update_ssh_config_use.tf b/terraform/azure/update_ssh_config_use.tf deleted file mode 100644 index 9b91206a66b1..000000000000 --- a/terraform/azure/update_ssh_config_use.tf +++ /dev/null @@ -1,4 +0,0 @@ -locals { - shorthosts = azurerm_linux_virtual_machine.kdevops_vm.*.name - ipv4s = data.azurerm_public_ip.public_ips.*.ip_address -} diff --git a/terraform/gce/output.tf b/terraform/gce/output.tf index b95667cc7efd..470617f700ee 100644 --- a/terraform/gce/output.tf +++ b/terraform/gce/output.tf @@ -1,29 +1,4 @@ -locals { - ssh_key_i = format(" %s%s ", var.ssh_config_pubkey_file != "" ? "-i " : "", var.ssh_config_pubkey_file != "" ? replace(var.ssh_config_pubkey_file, ".pub", "") : "") - network_interfaces = google_compute_instance.kdevops_instances.*.network_interface - access_configs = [ - for net_interface in local.network_interfaces : - net_interface[0].access_config - ] - ipv4s = [ - for access_config in local.access_configs : - access_config[0].nat_ip - ] -} - -data "null_data_source" "group_hostnames_and_ips" { - count = local.kdevops_num_boxes - inputs = { - # In theory using "${self.triggers["name"]}" and "${self.triggersp["ip"]}" - # would be nice but it is not supported in this context, only in the - # provisioner and connection contexts. - value = "${format("%30s : ssh %s@%s %s ", element(google_compute_instance.kdevops_instances.*.name, count.index), var.ssh_config_user, element(local.ipv4s, count.index), local.ssh_key_i)}" - } -} - -output "login_using" { - value = data.null_data_source.group_hostnames_and_ips.*.outputs -} +# All generic output goes here # Each provider's output.tf needs to define a public_ip_map. This # map is used to build the Ansible controller's ssh configuration. diff --git a/terraform/gce/update_ssh_config.tf b/terraform/gce/update_ssh_config.tf deleted file mode 120000 index 03cd77a65841..000000000000 --- a/terraform/gce/update_ssh_config.tf +++ /dev/null @@ -1 +0,0 @@ -../update_ssh_config.tf \ No newline at end of file diff --git a/terraform/gce/update_ssh_config_use.tf b/terraform/gce/update_ssh_config_use.tf deleted file mode 100644 index 6eb008695576..000000000000 --- a/terraform/gce/update_ssh_config_use.tf +++ /dev/null @@ -1,4 +0,0 @@ -locals { - shorthosts = google_compute_instance.kdevops_instances.*.name - all_ipv4s = local.ipv4s -} diff --git a/terraform/oci/update_ssh_config.tf b/terraform/oci/update_ssh_config.tf deleted file mode 120000 index 03cd77a65841..000000000000 --- a/terraform/oci/update_ssh_config.tf +++ /dev/null @@ -1 +0,0 @@ -../update_ssh_config.tf \ No newline at end of file diff --git a/terraform/oci/update_ssh_config_use.tf b/terraform/oci/update_ssh_config_use.tf deleted file mode 100644 index f4b2519b515b..000000000000 --- a/terraform/oci/update_ssh_config_use.tf +++ /dev/null @@ -1,8 +0,0 @@ -locals { - shorthosts = oci_core_instance.kdevops_instance.*.display_name - ipv4s = ( - var.oci_assign_public_ip == "false" ? - oci_core_instance.kdevops_instance.*.private_ip : - oci_core_instance.kdevops_instance.*.public_ip - ) -} diff --git a/terraform/openstack/output.tf b/terraform/openstack/output.tf index aff44d1b45f9..2d60cc46c030 100644 --- a/terraform/openstack/output.tf +++ b/terraform/openstack/output.tf @@ -1,3 +1,5 @@ +# All generic output goes here + data "null_data_source" "group_hostnames_and_ips" { count = local.kdevops_num_boxes inputs = { diff --git a/terraform/openstack/update_ssh_config.tf b/terraform/openstack/update_ssh_config.tf deleted file mode 120000 index 03cd77a65841..000000000000 --- a/terraform/openstack/update_ssh_config.tf +++ /dev/null @@ -1 +0,0 @@ -../update_ssh_config.tf \ No newline at end of file diff --git a/terraform/openstack/update_ssh_config_use.tf b/terraform/openstack/update_ssh_config_use.tf deleted file mode 100644 index 9d4ceb31d9fb..000000000000 --- a/terraform/openstack/update_ssh_config_use.tf +++ /dev/null @@ -1,4 +0,0 @@ -locals { - shorthosts = openstack_compute_instance_v2.kdevops_instances.*.name - ipv4s = openstack_compute_instance_v2.kdevops_instances.*.access_ip_v4 -} diff --git a/terraform/update_ssh_config.tf b/terraform/update_ssh_config.tf deleted file mode 100644 index 03f0cbed424a..000000000000 --- a/terraform/update_ssh_config.tf +++ /dev/null @@ -1,17 +0,0 @@ -module "ssh_config_update_host_entries" { - source = "linux-kdevops/add-host-ssh-config/kdevops" - version = "3.0.0" - - ssh_config = var.ssh_config - update_ssh_config_enable = var.ssh_config_update - cmd = "update" - shorthosts = join(",", slice(local.shorthosts, 0, local.kdevops_num_boxes)) - hostnames = join(",", slice(local.ipv4s, 0, local.kdevops_num_boxes)) - ports = "22" - user = var.ssh_config_user == "" ? "" : var.ssh_config_user - id = replace(var.ssh_config_pubkey_file, ".pub", "") - strict = var.ssh_config_use_strict_settings ? "true" : "" - use_backup = !var.ssh_config_backup || var.ssh_config == "/dev/null" ? "" : "true" - backup_postfix = "kdevops" - kexalgorithms = var.ssh_config_kexalgorithms == "" ? "" : var.ssh_config_kexalgorithms -}