diff options
author | pmikus <peter.mikus@protonmail.ch> | 2023-12-12 12:10:00 +0000 |
---|---|---|
committer | pmikus <peter.mikus@protonmail.ch> | 2023-12-12 13:09:06 +0000 |
commit | 76b132e25f228918b78812aea0a8d4fe5bf79501 (patch) | |
tree | f9ce9647bddd32a39d847f98f8ce49850343aeae /fdio.infra.terraform/terraform-aws-3n-c7gn/main.tf | |
parent | 21ce2e82737ddb8fa8d23e7a9a7714caa8fc1e01 (diff) |
feat(terraform): Remove ansible dependency
- terraform ansible is not supported on aarch
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch>
Change-Id: I3d1a592b4ed97fe635813dccbf78dc42d14e0fa9
Diffstat (limited to 'fdio.infra.terraform/terraform-aws-3n-c7gn/main.tf')
-rw-r--r-- | fdio.infra.terraform/terraform-aws-3n-c7gn/main.tf | 56 |
1 files changed, 33 insertions, 23 deletions
diff --git a/fdio.infra.terraform/terraform-aws-3n-c7gn/main.tf b/fdio.infra.terraform/terraform-aws-3n-c7gn/main.tf index 1c12442dbc..fe443bc96c 100644 --- a/fdio.infra.terraform/terraform-aws-3n-c7gn/main.tf +++ b/fdio.infra.terraform/terraform-aws-3n-c7gn/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 |