From 6f9f70d7bb1bbed37ff1495c20d11a03b82b9951 Mon Sep 17 00:00:00 2001 From: pmikus Date: Wed, 6 Oct 2021 12:53:37 +0000 Subject: feat(Packer): Introduce AMI packer images Signed-off-by: pmikus Change-Id: I471069fd4cc10a0627434a60b4627d1bd0e192b8 --- fdio.infra.terraform/2n_aws_c5n/deploy/main.tf | 96 ++++++++--------- .../2n_aws_c5n/deploy/variables.tf | 9 +- fdio.infra.terraform/2n_aws_c5n/main.tf | 3 +- fdio.infra.terraform/2n_aws_c5n/variables.tf | 18 +++- fdio.infra.terraform/3n_aws_c5n/deploy/main.tf | 119 +++++++++++---------- .../3n_aws_c5n/deploy/variables.tf | 9 +- fdio.infra.terraform/3n_aws_c5n/main.tf | 3 +- fdio.infra.terraform/3n_aws_c5n/variables.tf | 16 ++- 8 files changed, 156 insertions(+), 117 deletions(-) (limited to 'fdio.infra.terraform') diff --git a/fdio.infra.terraform/2n_aws_c5n/deploy/main.tf b/fdio.infra.terraform/2n_aws_c5n/deploy/main.tf index 1ea7e50152..db1463e788 100644 --- a/fdio.infra.terraform/2n_aws_c5n/deploy/main.tf +++ b/fdio.infra.terraform/2n_aws_c5n/deploy/main.tf @@ -220,7 +220,7 @@ data "aws_network_interface" "tg_if2" { # Instances resource "aws_instance" "tg" { depends_on = [aws_vpc.CSITVPC, aws_placement_group.CSITPG] - ami = var.ami_image + ami = var.ami_image_tg availability_zone = var.avail_zone instance_initiated_shutdown_behavior = var.instance_initiated_shutdown_behavior instance_type = var.instance_type @@ -245,7 +245,7 @@ resource "aws_instance" "tg" { resource "aws_instance" "dut1" { depends_on = [aws_vpc.CSITVPC, aws_placement_group.CSITPG, aws_instance.tg] - ami = var.ami_image + ami = var.ami_image_sut availability_zone = var.avail_zone instance_initiated_shutdown_behavior = var.instance_initiated_shutdown_behavior instance_type = var.instance_type @@ -307,29 +307,29 @@ resource "null_resource" "deploy_tg" { private_key = tls_private_key.CSITTLS.private_key_pem } - provisioner "remote-exec" { - inline = var.first_run_commands - } - - provisioner "ansible" { - plays { - playbook { - file_path = var.ansible_file_path - force_handlers = true - } - hosts = ["tg_aws"] - extra_vars = { - ansible_ssh_pass = var.ansible_provision_pwd - ansible_python_interpreter = var.ansible_python_executable - aws = true - } - } - } - - provisioner "remote-exec" { - on_failure = continue - inline = ["sudo reboot"] - } +# provisioner "remote-exec" { +# inline = var.first_run_commands +# } +# +# provisioner "ansible" { +# plays { +# playbook { +# file_path = var.ansible_file_path +# force_handlers = true +# } +# hosts = ["tg_aws"] +# extra_vars = { +# ansible_ssh_pass = var.ansible_provision_pwd +# ansible_python_interpreter = var.ansible_python_executable +# aws = true +# } +# } +# } +# +# provisioner "remote-exec" { +# on_failure = continue +# inline = ["sudo reboot"] +# } } resource "null_resource" "deploy_dut1" { @@ -348,29 +348,29 @@ resource "null_resource" "deploy_dut1" { private_key = tls_private_key.CSITTLS.private_key_pem } - provisioner "remote-exec" { - inline = var.first_run_commands - } - - provisioner "ansible" { - plays { - playbook { - file_path = var.ansible_file_path - force_handlers = true - } - hosts = ["sut_aws"] - extra_vars = { - ansible_ssh_pass = var.ansible_provision_pwd - ansible_python_interpreter = var.ansible_python_executable - aws = true - } - } - } - - provisioner "remote-exec" { - on_failure = continue - inline = ["sudo reboot"] - } +# provisioner "remote-exec" { +# inline = var.first_run_commands +# } +# +# provisioner "ansible" { +# plays { +# playbook { +# file_path = var.ansible_file_path +# force_handlers = true +# } +# hosts = ["sut_aws"] +# extra_vars = { +# ansible_ssh_pass = var.ansible_provision_pwd +# ansible_python_interpreter = var.ansible_python_executable +# aws = true +# } +# } +# } +# +# provisioner "remote-exec" { +# on_failure = continue +# inline = ["sudo reboot"] +# } } resource "null_resource" "deploy_topology" { diff --git a/fdio.infra.terraform/2n_aws_c5n/deploy/variables.tf b/fdio.infra.terraform/2n_aws_c5n/deploy/variables.tf index 6e9ffd183d..57c5b69f8e 100644 --- a/fdio.infra.terraform/2n_aws_c5n/deploy/variables.tf +++ b/fdio.infra.terraform/2n_aws_c5n/deploy/variables.tf @@ -7,8 +7,13 @@ variable "vault-name" { default = "dynamic-aws-creds-vault-admin" } -variable "ami_image" { - description = "AWS AMI image name" +variable "ami_image_tg" { + description = "AWS AMI image name for TG" + type = string +} + +variable "ami_image_sut" { + description = "AWS AMI image name for SUT" type = string } diff --git a/fdio.infra.terraform/2n_aws_c5n/main.tf b/fdio.infra.terraform/2n_aws_c5n/main.tf index 44ec177e99..45b597de75 100644 --- a/fdio.infra.terraform/2n_aws_c5n/main.tf +++ b/fdio.infra.terraform/2n_aws_c5n/main.tf @@ -13,7 +13,8 @@ module "deploy" { region = var.region avail_zone = var.avail_zone instance_type = var.instance_type - ami_image = var.ami_image + ami_image_tg = var.ami_image_tg + ami_image_sut = var.ami_image_sut # AWS Network vpc_cidr_mgmt = "192.168.0.0/24" diff --git a/fdio.infra.terraform/2n_aws_c5n/variables.tf b/fdio.infra.terraform/2n_aws_c5n/variables.tf index c3d81bfbcc..62a7de4c57 100644 --- a/fdio.infra.terraform/2n_aws_c5n/variables.tf +++ b/fdio.infra.terraform/2n_aws_c5n/variables.tf @@ -14,12 +14,26 @@ variable "avail_zone" { default = "eu-central-1a" } -variable "ami_image" { +variable "ami_image_tg" { # eu-central-1/focal-20.04-amd64-hvm-ssd-20210119.1 # kernel 5.4.0-1035-aws (~5.4.0-65) description = "AWS AMI image ID" type = string - default = "ami-0a875db8a031a9efb" + default = "ami-0d6bc0344dc036b9d" +} + +variable "ami_image_sut" { + # eu-central-1/focal-20.04-amd64-hvm-ssd-20210119.1 + # kernel 5.4.0-1035-aws (~5.4.0-65) + description = "AWS AMI image ID" + type = string + default = "ami-012c9c631964367be" +} + +variable "instance_initiated_shutdown_behavior" { + description = "Shutdown behavior for the instance" + type = string + default = "terminate" } variable "instance_type" { diff --git a/fdio.infra.terraform/3n_aws_c5n/deploy/main.tf b/fdio.infra.terraform/3n_aws_c5n/deploy/main.tf index 0969ca4abf..073768d5b0 100644 --- a/fdio.infra.terraform/3n_aws_c5n/deploy/main.tf +++ b/fdio.infra.terraform/3n_aws_c5n/deploy/main.tf @@ -263,7 +263,7 @@ data "aws_network_interface" "tg_if2" { # Instances resource "aws_instance" "tg" { - ami = var.ami_image + ami = var.ami_image_tg availability_zone = var.avail_zone instance_initiated_shutdown_behavior = var.instance_initiated_shutdown_behavior instance_type = var.instance_type @@ -292,7 +292,7 @@ resource "aws_instance" "tg" { } resource "aws_instance" "dut1" { - ami = var.ami_image + ami = var.ami_image_sut availability_zone = var.avail_zone instance_initiated_shutdown_behavior = var.instance_initiated_shutdown_behavior instance_type = var.instance_type @@ -322,17 +322,18 @@ resource "aws_instance" "dut1" { } resource "aws_instance" "dut2" { - 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.dut2_mgmt_ip - vpc_security_group_ids = [aws_security_group.CSITSG.id] - placement_group = aws_placement_group.CSITPG.id - source_dest_check = false - # host_id = "3" + ami = var.ami_image_sut + 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.dut2_mgmt_ip + vpc_security_group_ids = [aws_security_group.CSITSG.id] + placement_group = aws_placement_group.CSITPG.id + source_dest_check = false + # host_id = "3" depends_on = [ aws_vpc.CSITVPC, @@ -435,29 +436,29 @@ resource "null_resource" "deploy_dut1" { private_key = tls_private_key.CSITTLS.private_key_pem } - provisioner "remote-exec" { - inline = var.first_run_commands - } - - provisioner "ansible" { - plays { - playbook { - file_path = var.ansible_file_path - force_handlers = true - } - hosts = ["sut_aws"] - extra_vars = { - ansible_ssh_pass = var.ansible_provision_pwd - ansible_python_interpreter = var.ansible_python_executable - aws = true - } - } - } - - provisioner "remote-exec" { - on_failure = continue - inline = ["sudo reboot"] - } +# provisioner "remote-exec" { +# inline = var.first_run_commands +# } +# +# provisioner "ansible" { +# plays { +# playbook { +# file_path = var.ansible_file_path +# force_handlers = true +# } +# hosts = ["sut_aws"] +# extra_vars = { +# ansible_ssh_pass = var.ansible_provision_pwd +# ansible_python_interpreter = var.ansible_python_executable +# aws = true +# } +# } +# } +# +# provisioner "remote-exec" { +# on_failure = continue +# inline = ["sudo reboot"] +# } } resource "null_resource" "deploy_dut2" { @@ -479,29 +480,29 @@ resource "null_resource" "deploy_dut2" { private_key = tls_private_key.CSITTLS.private_key_pem } - provisioner "remote-exec" { - inline = var.first_run_commands - } - - provisioner "ansible" { - plays { - playbook { - file_path = var.ansible_file_path - force_handlers = true - } - hosts = ["sut_aws"] - extra_vars = { - ansible_ssh_pass = var.ansible_provision_pwd - ansible_python_interpreter = var.ansible_python_executable - aws = true - } - } - } - - provisioner "remote-exec" { - on_failure = continue - inline = ["sudo reboot"] - } +# provisioner "remote-exec" { +# inline = var.first_run_commands +# } +# +# provisioner "ansible" { +# plays { +# playbook { +# file_path = var.ansible_file_path +# force_handlers = true +# } +# hosts = ["sut_aws"] +# extra_vars = { +# ansible_ssh_pass = var.ansible_provision_pwd +# ansible_python_interpreter = var.ansible_python_executable +# aws = true +# } +# } +# } +# +# provisioner "remote-exec" { +# on_failure = continue +# inline = ["sudo reboot"] +# } } resource "null_resource" "deploy_topology" { diff --git a/fdio.infra.terraform/3n_aws_c5n/deploy/variables.tf b/fdio.infra.terraform/3n_aws_c5n/deploy/variables.tf index aa784622d7..ffd1a350a1 100644 --- a/fdio.infra.terraform/3n_aws_c5n/deploy/variables.tf +++ b/fdio.infra.terraform/3n_aws_c5n/deploy/variables.tf @@ -7,8 +7,13 @@ variable "vault-name" { default = "dynamic-aws-creds-vault-admin" } -variable "ami_image" { - description = "AWS AMI image name" +variable "ami_image_tg" { + description = "AWS AMI image name for TG" + type = string +} + +variable "ami_image_sut" { + description = "AWS AMI image name for SUT" type = string } diff --git a/fdio.infra.terraform/3n_aws_c5n/main.tf b/fdio.infra.terraform/3n_aws_c5n/main.tf index abb60ce418..5ad86015c7 100644 --- a/fdio.infra.terraform/3n_aws_c5n/main.tf +++ b/fdio.infra.terraform/3n_aws_c5n/main.tf @@ -13,7 +13,8 @@ module "deploy" { region = var.region avail_zone = var.avail_zone instance_type = var.instance_type - ami_image = var.ami_image + ami_image_tg = var.ami_image_tg + ami_image_sut = var.ami_image_sut # AWS Network vpc_cidr_mgmt = "192.168.0.0/24" diff --git a/fdio.infra.terraform/3n_aws_c5n/variables.tf b/fdio.infra.terraform/3n_aws_c5n/variables.tf index 29a611adca..129d5dc785 100644 --- a/fdio.infra.terraform/3n_aws_c5n/variables.tf +++ b/fdio.infra.terraform/3n_aws_c5n/variables.tf @@ -4,18 +4,30 @@ variable "region" { default = "eu-central-1" } +variable "vault-name" { + default = "dynamic-aws-creds-vault-admin" +} + variable "avail_zone" { description = "AWS availability zone" type = string default = "eu-central-1a" } -variable "ami_image" { +variable "ami_image_tg" { + # eu-central-1/focal-20.04-amd64-hvm-ssd-20210119.1 + # kernel 5.4.0-1035-aws (~5.4.0-65) + description = "AWS AMI image ID" + type = string + default = "ami-0d6bc0344dc036b9d" +} + +variable "ami_image_sut" { # eu-central-1/focal-20.04-amd64-hvm-ssd-20210119.1 # kernel 5.4.0-1035-aws (~5.4.0-65) description = "AWS AMI image ID" type = string - default = "ami-0a875db8a031a9efb" + default = "ami-012c9c631964367be" } variable "instance_initiated_shutdown_behavior" { -- cgit 1.2.3-korg