variable "region" {
description = "AWS Region"
type = string
- default = "eu-central-1"
}
variable "ami_image" {
description = "AWS AMI image name"
type = string
- default = "ami-0b418580298265d5c"
}
variable "testbed_name" {
description = "Testbed name"
type = string
- default = "testbed1"
-}
-
-variable "topology_name" {
- description = "Prefix used when creating a topology file"
- type = string
- default = "2n_aws_c5n"
}
variable "instance_type" {
description = "AWS instance type"
type = string
- default = "c5n.4xlarge"
}
variable "avail_zone" {
description = "AWS availability zone"
type = string
- default = "eu-central-1a"
+}
+
+variable "topology_name" {
+ description = "Prefix used when creating a topology file"
+ type = string
+ default = "2n_aws_c5n"
}
variable "environment_name" {
module "deploy" {
source = "./deploy"
- # TODO: Use ENV variable for testbed_name for dynamic deployment
- testbed_name = "testbed1"
+ # Parameters starting with var. can be set using "TF_VAR_*" environment variables
+ # or -var parameter when running "terraform apply", for default values see ./variables.tf
+ testbed_name = var.testbed_name
topology_name = "2n_aws_c5n"
environment_name = "CSIT-AWS"
resources_name_prefix = "CSIT_2n_aws_c5n"
# AWS general
- region = "eu-central-1"
- avail_zone = "eu-central-1a"
- instance_type = "c5n.4xlarge"
- ami_image = "ami-0b418580298265d5c"
- # eu-central-1/bionic-18.04-amd64-hvm-ssd-20200112
- # kernel 4.15.0-1057-aws (~4.15.0-74)
+ region = var.region
+ avail_zone = var.avail_zone
+ instance_type = var.instance_type
+ ami_image = var.ami_image
# AWS Network
vpc_cidr_mgmt = "192.168.0.0/24"
--- /dev/null
+variable "region" {
+ description = "AWS Region"
+ type = string
+ default = "eu-central-1"
+}
+
+variable "avail_zone" {
+ description = "AWS availability zone"
+ type = string
+ default = "eu-central-1a"
+}
+
+variable "ami_image" {
+ # 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"
+}
+
+variable "instance_type" {
+ description = "AWS instance type"
+ type = string
+ default = "c5n.4xlarge"
+}
+
+variable "testbed_name" {
+ description = "Testbed name"
+ type = string
+ default = "testbed1"
+}
variable "region" {
description = "AWS Region"
type = string
- default = "eu-central-1"
}
variable "ami_image" {
description = "AWS AMI image name"
type = string
- default = "ami-0b418580298265d5c"
}
variable "testbed_name" {
description = "Testbed name"
type = string
- default = "testbed1"
-}
-
-variable "topology_name" {
- description = "Prefix used when creating a topology file"
- type = string
- default = "3n_aws_c5n"
}
variable "instance_type" {
description = "AWS instance type"
type = string
- default = "c5n.4xlarge"
}
variable "avail_zone" {
description = "AWS availability zone"
type = string
- default = "eu-central-1a"
+}
+
+variable "topology_name" {
+ description = "Prefix used when creating a topology file"
+ type = string
+ default = "3n_aws_c5n"
}
variable "environment_name" {
module "deploy" {
source = "./deploy"
- # TODO: Use ENV variable for testbed_name for dynamic deployment
- testbed_name = "testbed1"
+ # Parameters starting with var. can be set using "TF_VAR_*" environment variables
+ # or -var parameter when running "terraform apply", for default values see ./variables.tf
+ testbed_name = var.testbed_name
topology_name = "3n_aws_c5n"
environment_name = "CSIT-AWS"
resources_name_prefix = "CSIT_3n_aws_c5n"
# AWS general
- region = "eu-central-1"
- avail_zone = "eu-central-1a"
- instance_type = "c5n.4xlarge"
- ami_image = "ami-0b418580298265d5c"
- # eu-central-1/bionic-18.04-amd64-hvm-ssd-20200112
- # kernel 4.15.0-1057-aws (~4.15.0-74)
+ region = var.region
+ avail_zone = var.avail_zone
+ instance_type = var.instance_type
+ ami_image = var.ami_image
# AWS Network
vpc_cidr_mgmt = "192.168.0.0/24"
--- /dev/null
+variable "region" {
+ description = "AWS Region"
+ type = string
+ default = "eu-central-1"
+}
+
+variable "avail_zone" {
+ description = "AWS availability zone"
+ type = string
+ default = "eu-central-1a"
+}
+
+variable "ami_image" {
+ # 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"
+}
+
+variable "instance_type" {
+ description = "AWS instance type"
+ type = string
+ default = "c5n.4xlarge"
+}
+
+variable "testbed_name" {
+ description = "Testbed name"
+ type = string
+ default = "testbed1"
+}
---
# file: roles/aws/defaults/main.yaml
-
- name: Edit repositories
include_tasks: "{{ ansible_distribution|lower }}_{{ ansible_distribution_release }}.yaml"
tags:
- - edit-repo
+ - aws-edit-repo
- name: Get vfio-pci With WC Patcher
get_url:
dest: "/opt/get-vfio-with-wc.sh"
mode: "744"
tags:
- - vfio-aws-patch
+ - aws-vfio-patch
- name: Create vfio-pci Patch Directory
file:
path: "/opt/patches/"
state: "directory"
tags:
- - vfio-aws-patch
+ - aws-vfio-patch
-- name: Get vfio-pci WC Patch
+- name: Get vfio-pci WC Patch >=4.10
get_url:
url: "https://github.com/amzn/amzn-drivers/raw/master/userspace/dpdk/enav2-vfio-patch/patches/linux-4.10-vfio-wc.patch"
dest: "/opt/patches/linux-4.10-vfio-wc.patch"
mode: "744"
tags:
- - vfio-aws-patch
+ - aws-vfio-patch
+
+- name: Get vfio-pci WC Patch >=5.8
+ get_url:
+ url: "https://github.com/amzn/amzn-drivers/raw/master/userspace/dpdk/enav2-vfio-patch/patches/linux-5.8-vfio-wc.patch"
+ dest: "/opt/patches/linux-5.8-vfio-wc.patch"
+ mode: "744"
+ tags:
+ - aws-vfio-patch
- name: Compile vfio-pci With WC Patch
shell: "/bin/bash /opt/get-vfio-with-wc.sh"
tags:
- - vfio-aws-patch
+ - aws-vfio-patch
- name: Load Kernel Modules By Default
lineinfile:
- "vfio-pci"
- "igb_uio"
tags:
- - load-kernel-modules
+ - aws-load-kernel-modules
- name: Add Kernel Modules Options (igb_uio)
lineinfile:
with_items:
- "options igb_uio wc_activate=1"
tags:
- - load-kernel-modules
+ - aws-load-kernel-modules
- name: Add Kernel Modules Options (vfio-pci)
lineinfile:
with_items:
- "options vfio enable_unsafe_noiommu_mode=1"
tags:
- - load-kernel-modules
+ - aws-load-kernel-modules
- name: Reload systemd-modules
systemd:
name: "systemd-modules-load"
state: "restarted"
tags:
- - reload-systemd-modules
+ - aws-reload-systemd-modules
- name: Performance Tuning - Adjust nr_hugepages
sysctl:
sysctl_file: "/etc/sysctl.d/90-csit.conf"
reload: "yes"
tags:
- - set-sysctl
+ - aws-set-hugepages
state: "present"
update_cache: yes
tags:
- - enable-src-repo
\ No newline at end of file
+ - aws-enable-src-repo
--- /dev/null
+---
+# file: roles/aws/tasks/ubuntu_focal.yaml.yaml
+
+- name: Enable deb-src APT Repository
+ apt_repository:
+ repo: "deb-src http://archive.ubuntu.com/ubuntu focal main"
+ state: "present"
+ update_cache: yes
+ tags:
+ - aws-enable-src-repo
x86_64:
- "5.4.0-65-generic"
- "5.3.0-1020-azure"
- - "5.3.0-1017-aws"
+ - "5.4.0-1035-aws"
aarch64:
- "5.4.0-65-generic"
fail_msg: "Kernel parameters!"
success_msg: "Kernel parameters match."
loop: "{{ grub.keys()|sort }}"
+ when:
+ - grub is defined
tags:
- check-kernel-params
tags: aws
- role: cleanup
tags: cleanup
- # TODO: 'Check Kernel Parameters' failing in
- # resources/tools/testbed-setup/ansible/roles/calibration/tasks/main.yaml
- # - role: calibration
- # tags: calibration
+ - role: calibration
+ tags: calibration
- hosts: sut_azure
become: yes
tags: aws
- role: cleanup
tags: cleanup
- # TODO: 'Check Kernel Parameters' failing in
- # resources/tools/testbed-setup/ansible/roles/calibration/tasks/main.yaml
- # - role: calibration
- # tags: calibration
+ - role: calibration
+ tags: calibration
- hosts: tg_azure
become: yes