X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=fdio.infra.terraform%2F2n_aws_c5n%2Fdeploy%2Fmain.tf;h=1ea7e50152daa817c4cf1ca304ab79073a665710;hb=refs%2Fchanges%2F72%2F33672%2F1;hp=f97d974b38fc7575dc8579fe4f6a6edf7ee10726;hpb=c318223fcd266c0ee2982e803c44e193c2023054;p=csit.git diff --git a/fdio.infra.terraform/2n_aws_c5n/deploy/main.tf b/fdio.infra.terraform/2n_aws_c5n/deploy/main.tf index f97d974b38..1ea7e50152 100644 --- a/fdio.infra.terraform/2n_aws_c5n/deploy/main.tf +++ b/fdio.infra.terraform/2n_aws_c5n/deploy/main.tf @@ -1,5 +1,6 @@ -provider "aws" { - region = var.region +data "vault_aws_access_credentials" "creds" { + backend = "${var.vault-name}-path" + role = "${var.vault-name}-role" } resource "aws_vpc" "CSITVPC" { @@ -134,7 +135,7 @@ resource "aws_network_interface" "dut1_if1" { private_ip = var.dut1_if1_ip private_ips = [var.dut1_if1_ip] security_groups = [aws_security_group.CSITSG.id] - depends_on = [aws_vpc.CSITVPC, aws_subnet.b] + depends_on = [aws_vpc.CSITVPC, aws_subnet.b, aws_instance.dut1] attachment { instance = aws_instance.dut1.id @@ -152,7 +153,7 @@ resource "aws_network_interface" "dut1_if2" { private_ip = var.dut1_if2_ip private_ips = [var.dut1_if2_ip] security_groups = [aws_security_group.CSITSG.id] - depends_on = [aws_vpc.CSITVPC] + depends_on = [aws_vpc.CSITVPC, aws_subnet.d, aws_instance.dut1] attachment { instance = aws_instance.dut1.id @@ -170,7 +171,7 @@ resource "aws_network_interface" "tg_if1" { private_ip = var.tg_if1_ip private_ips = [var.tg_if1_ip] security_groups = [aws_security_group.CSITSG.id] - depends_on = [aws_vpc.CSITVPC, aws_subnet.b] + depends_on = [aws_vpc.CSITVPC, aws_subnet.b, aws_instance.tg] attachment { instance = aws_instance.tg.id @@ -188,7 +189,7 @@ resource "aws_network_interface" "tg_if2" { private_ip = var.tg_if2_ip private_ips = [var.tg_if2_ip] security_groups = [aws_security_group.CSITSG.id] - depends_on = [aws_vpc.CSITVPC, aws_subnet.d] + depends_on = [aws_vpc.CSITVPC, aws_subnet.d, aws_instance.tg] attachment { instance = aws_instance.tg.id @@ -218,18 +219,19 @@ data "aws_network_interface" "tg_if2" { # Instances resource "aws_instance" "tg" { - depends_on = [aws_vpc.CSITVPC, aws_placement_group.CSITPG] - ami = var.ami_image - availability_zone = var.avail_zone - instance_type = var.instance_type - key_name = aws_key_pair.CSITKP.key_name - associate_public_ip_address = true - subnet_id = aws_subnet.mgmt.id - private_ip = var.tg_mgmt_ip - vpc_security_group_ids = [aws_security_group.CSITSG.id] - placement_group = aws_placement_group.CSITPG.id - source_dest_check = false - # host_id = "1" + depends_on = [aws_vpc.CSITVPC, aws_placement_group.CSITPG] + ami = var.ami_image + availability_zone = var.avail_zone + instance_initiated_shutdown_behavior = var.instance_initiated_shutdown_behavior + instance_type = var.instance_type + key_name = aws_key_pair.CSITKP.key_name + associate_public_ip_address = true + subnet_id = aws_subnet.mgmt.id + private_ip = var.tg_mgmt_ip + vpc_security_group_ids = [aws_security_group.CSITSG.id] + placement_group = aws_placement_group.CSITPG.id + source_dest_check = false + # host_id = "1" root_block_device { volume_size = 50 @@ -242,18 +244,19 @@ resource "aws_instance" "tg" { } resource "aws_instance" "dut1" { - depends_on = [aws_vpc.CSITVPC, aws_placement_group.CSITPG] - ami = var.ami_image - availability_zone = var.avail_zone - instance_type = var.instance_type - key_name = aws_key_pair.CSITKP.key_name - associate_public_ip_address = true - subnet_id = aws_subnet.mgmt.id - private_ip = var.dut1_mgmt_ip - vpc_security_group_ids = [aws_security_group.CSITSG.id] - placement_group = aws_placement_group.CSITPG.id - source_dest_check = false - # host_id = "2" + depends_on = [aws_vpc.CSITVPC, aws_placement_group.CSITPG, aws_instance.tg] + ami = var.ami_image + availability_zone = var.avail_zone + instance_initiated_shutdown_behavior = var.instance_initiated_shutdown_behavior + instance_type = var.instance_type + key_name = aws_key_pair.CSITKP.key_name + associate_public_ip_address = true + subnet_id = aws_subnet.mgmt.id + private_ip = var.dut1_mgmt_ip + vpc_security_group_ids = [aws_security_group.CSITSG.id] + placement_group = aws_placement_group.CSITPG.id + source_dest_check = false + # host_id = "2" root_block_device { volume_size = 50 @@ -292,7 +295,10 @@ resource "null_resource" "deploy_tg" { depends_on = [ aws_instance.tg, aws_network_interface.tg_if1, - aws_network_interface.tg_if2 + aws_network_interface.tg_if2, + aws_instance.dut1, + aws_network_interface.dut1_if1, + aws_network_interface.dut1_if2 ] connection { @@ -311,7 +317,7 @@ resource "null_resource" "deploy_tg" { file_path = var.ansible_file_path force_handlers = true } - hosts = ["tg_aws"] + hosts = ["tg_aws"] extra_vars = { ansible_ssh_pass = var.ansible_provision_pwd ansible_python_interpreter = var.ansible_python_executable @@ -322,12 +328,15 @@ resource "null_resource" "deploy_tg" { provisioner "remote-exec" { on_failure = continue - inline = ["sudo reboot"] + inline = ["sudo reboot"] } } resource "null_resource" "deploy_dut1" { depends_on = [ + aws_instance.tg, + aws_network_interface.tg_if1, + aws_network_interface.tg_if2, aws_instance.dut1, aws_network_interface.dut1_if1, aws_network_interface.dut1_if2 @@ -349,7 +358,7 @@ resource "null_resource" "deploy_dut1" { file_path = var.ansible_file_path force_handlers = true } - hosts = ["sut_aws"] + hosts = ["sut_aws"] extra_vars = { ansible_ssh_pass = var.ansible_provision_pwd ansible_python_interpreter = var.ansible_python_executable @@ -360,19 +369,19 @@ resource "null_resource" "deploy_dut1" { provisioner "remote-exec" { on_failure = continue - inline = ["sudo reboot"] + inline = ["sudo reboot"] } } resource "null_resource" "deploy_topology" { - depends_on = [ aws_instance.tg, aws_instance.dut1 ] + depends_on = [aws_instance.tg, aws_instance.dut1] provisioner "ansible" { plays { playbook { file_path = var.ansible_topology_path } - hosts = ["local"] + hosts = ["local"] extra_vars = { ansible_python_interpreter = var.ansible_python_executable testbed_name = var.testbed_name