diff options
author | pmikus <peter.mikus@protonmail.ch> | 2023-12-13 08:36:04 +0000 |
---|---|---|
committer | pmikus <peter.mikus@protonmail.ch> | 2023-12-13 08:36:04 +0000 |
commit | 73c736b2f032eb9ea7f8cd0247a1f866ec706669 (patch) | |
tree | 1b30e6246eef48a64420bf5c2b9c4a52fb4f529c /fdio.infra.terraform/terraform-aws-3n-c6gn | |
parent | 76b132e25f228918b78812aea0a8d4fe5bf79501 (diff) |
feat(terraform): Remove ansible dependency
- terraform ansible is not supported on aarch
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch>
Change-Id: Ic87322a97325124780bc998cfa56a7c9b4ccef19
Diffstat (limited to 'fdio.infra.terraform/terraform-aws-3n-c6gn')
-rw-r--r-- | fdio.infra.terraform/terraform-aws-3n-c6gn/main.tf | 56 |
1 files changed, 33 insertions, 23 deletions
diff --git a/fdio.infra.terraform/terraform-aws-3n-c6gn/main.tf b/fdio.infra.terraform/terraform-aws-3n-c6gn/main.tf index df6ef9adad..dc0ad6a210 100644 --- a/fdio.infra.terraform/terraform-aws-3n-c6gn/main.tf +++ b/fdio.infra.terraform/terraform-aws-3n-c6gn/main.tf @@ -414,34 +414,44 @@ resource "null_resource" "deploy_sut2" { } } -resource "null_resource" "deploy_topology" { +resource "local_file" "topology_file" { depends_on = [ aws_instance.tg, aws_instance.sut1, aws_instance.sut2 ] - provisioner "ansible" { - plays { - playbook { - file_path = var.ansible_topology_path - } - hosts = ["local"] - extra_vars = { - ansible_python_interpreter = local.ansible_python_executable - testbed_name = local.testbed_name - cloud_topology = local.topology_name - tg_if1_mac = data.aws_network_interface.tg_if1.mac_address - tg_if2_mac = data.aws_network_interface.tg_if2.mac_address - dut1_if1_mac = data.aws_network_interface.sut1_if1.mac_address - dut1_if2_mac = data.aws_network_interface.sut1_if2.mac_address - dut2_if1_mac = data.aws_network_interface.sut2_if1.mac_address - dut2_if2_mac = data.aws_network_interface.sut2_if2.mac_address - tg_public_ip = aws_instance.tg.public_ip - dut1_public_ip = aws_instance.sut1.public_ip - dut2_public_ip = aws_instance.sut2.public_ip - public_ip_list = "${aws_instance.tg.public_ip},${aws_instance.sut1.public_ip},${aws_instance.sut2.public_ip}" - } + content = templatefile( + "${path.module}/topology-${local.topology_name}.tftpl", + { + tg_if1_mac = data.aws_network_interface.tg_if1.mac_address + tg_if2_mac = data.aws_network_interface.tg_if2.mac_address + dut1_if1_mac = data.aws_network_interface.sut1_if1.mac_address + dut1_if2_mac = data.aws_network_interface.sut1_if2.mac_address + dut2_if1_mac = data.aws_network_interface.sut2_if1.mac_address + dut2_if2_mac = data.aws_network_interface.sut2_if2.mac_address + tg_public_ip = aws_instance.tg.public_ip + dut1_public_ip = aws_instance.sut1.public_ip + dut2_public_ip = aws_instance.sut2.public_ip } - } + ) + filename = "${path.module}/../../topologies/available/${local.topology_name}-${local.testbed_name}.yaml" +} + +resource "local_file" "hosts" { + depends_on = [ + aws_instance.tg, + aws_instance.sut1, + aws_instance.sut2 + ] + + content = templatefile( + "${path.module}/hosts.tftpl", + { + tg_public_ip = aws_instance.tg.public_ip + dut1_public_ip = aws_instance.sut1.public_ip + dut2_public_ip = aws_instance.sut2.public_ip + } + ) + filename = "${path.module}/../../fdio.infra.ansible/inventories/cloud_inventory/hosts.yaml" }
\ No newline at end of file |