feat(terraform): 1n_aws_c5n 02/35802/16
authorPeter Mikus <pmikus@cisco.com>
Mon, 28 Mar 2022 12:18:54 +0000 (14:18 +0200)
committerPeter Mikus <pmikus@cisco.com>
Wed, 30 Mar 2022 13:33:28 +0000 (15:33 +0200)
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: I12d2d58de01693b18628cd73b5d8c36467506f32

21 files changed:
fdio.infra.ansible/roles/topology/templates/topology-1n-aws-c5n.j2 [new file with mode: 0644]
fdio.infra.ansible/roles/topology/templates/topology-3n-azure-Fsv2.j2 [moved from fdio.infra.ansible/roles/topology/templates/topology_3n_azure_Fsv2.j2 with 100% similarity]
fdio.infra.terraform/terraform-aws-1n-aws-c5n/main.tf [new file with mode: 0644]
fdio.infra.terraform/terraform-aws-1n-aws-c5n/output.tf [new file with mode: 0644]
fdio.infra.terraform/terraform-aws-1n-aws-c5n/providers.tf [new file with mode: 0644]
fdio.infra.terraform/terraform-aws-1n-aws-c5n/variables.tf [new file with mode: 0644]
fdio.infra.terraform/terraform-aws-1n-aws-c5n/versions.tf [new file with mode: 0644]
resources/libraries/bash/function/common.sh
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4-ip4base-tg-ndrpdr.robot
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4-ip4scale2m-tg-ndrpdr.robot
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr.robot
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr.robot
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr.robot
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr.robot
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-cps-tg-ndrpdr.robot
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-pps-tg-ndrpdr.robot
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-cps-tg-ndrpdr.robot
tests/trex/perf/ip4/1n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-pps-tg-ndrpdr.robot
tests/trex/perf/ip6/1n1l-10ge2p1x710-ethip6-ip6base-tg-ndrpdr.robot
tests/trex/perf/ip6/1n1l-10ge2p1x710-ethip6-ip6scale2m-tg-ndrpdr.robot
tests/trex/perf/l2/1n1l-10ge2p1x710-eth-l2bdscale1mmaclrn-tg-ndrpdr.robot

diff --git a/fdio.infra.ansible/roles/topology/templates/topology-1n-aws-c5n.j2 b/fdio.infra.ansible/roles/topology/templates/topology-1n-aws-c5n.j2
new file mode 100644 (file)
index 0000000..649d7e7
--- /dev/null
@@ -0,0 +1,30 @@
+---
+metadata:
+  version: 0.1
+  schema:
+    - resources/topology_schemas/1_node_topology.sch.yaml
+    - resources/topology_schemas/topology.sch.yaml
+  tags: [hw, 1-node]
+
+nodes:
+  TG:
+    type: TG
+    subtype: TREX
+    host: "{{ tg_public_ip }}"
+    arch: x86_64
+    port: 22
+    username: testuser
+    password: Csit1234
+    interfaces:
+      port1:
+        # tg_instance/p1 - 50GE port1 on ENA NIC.
+        mac_address: {{ tg_if1_mac }}
+        pci_address: "0000:00:06.0"
+        link: link1
+        model: Amazon-Nitro-50G
+      port2:
+        # tg_instance/p2 - 50GE port2 on ENA NIC.
+        mac_address: {{ tg_if2_mac }}
+        pci_address: "0000:00:07.0"
+        link: link1
+        model: Amazon-Nitro-50G
diff --git a/fdio.infra.terraform/terraform-aws-1n-aws-c5n/main.tf b/fdio.infra.terraform/terraform-aws-1n-aws-c5n/main.tf
new file mode 100644 (file)
index 0000000..c99d839
--- /dev/null
@@ -0,0 +1,201 @@
+data "vault_aws_access_credentials" "creds" {
+  backend = "${var.vault-name}-path"
+  role    = "${var.vault-name}-role"
+}
+
+locals {
+  ansible_python_executable = "/usr/bin/python3"
+  availability_zone         = "eu-central-1a"
+  name                      = "csit-vpc"
+  environment               = "csit-vpc-environment"
+  key_pair_key_name         = "${var.resource_prefix}-${var.testbed_name}-pk"
+  placement_group_name      = "${var.resource_prefix}-${var.testbed_name}-pg"
+  security_group_name       = "${var.resource_prefix}-${var.testbed_name}-sg"
+  testbed_name              = "testbed1"
+  topology_name             = "1n-aws-c5n"
+  tg_name                   = "${var.resource_prefix}-${var.testbed_name}-tg"
+  sut1_name                 = "${var.resource_prefix}-${var.testbed_name}-sut1"
+}
+
+# Create VPC
+module "vpc" {
+  source                   = "../terraform-aws-vpc"
+  security_group_name      = local.security_group_name
+  subnet_availability_zone = local.availability_zone
+  tags_name                = local.name
+  tags_environment         = local.environment
+}
+
+# Create Subnet
+module "subnet_b" {
+  source                   = "../terraform-aws-subnet"
+  subnet_cidr_block        = "192.168.10.0/24"
+  subnet_ipv6_cidr_block   = cidrsubnet(module.vpc.vpc_ipv6_cidr_block, 8, 2)
+  subnet_availability_zone = local.availability_zone
+  tags_name                = local.name
+  tags_environment         = local.environment
+  subnet_vpc_id            = module.vpc.vpc_id
+}
+
+# Create Private Key
+resource "tls_private_key" "private_key" {
+  algorithm   = var.private_key_algorithm
+  ecdsa_curve = var.private_key_ecdsa_curve
+  rsa_bits    = var.private_key_rsa_bits
+}
+
+# Create Key Pair
+resource "aws_key_pair" "key_pair" {
+  depends_on = [
+    tls_private_key.private_key
+  ]
+  key_name   = local.key_pair_key_name
+  public_key = tls_private_key.private_key.public_key_openssh
+}
+
+# Create Placement Group
+resource "aws_placement_group" "placement_group" {
+  name     = local.placement_group_name
+  strategy = var.placement_group_strategy
+}
+
+# Create Instance
+resource "aws_instance" "tg" {
+  depends_on = [
+    module.vpc,
+    aws_placement_group.placement_group
+  ]
+  ami                                  = var.tg_ami
+  availability_zone                    = local.availability_zone
+  associate_public_ip_address          = var.tg_associate_public_ip_address
+  instance_initiated_shutdown_behavior = var.tg_instance_initiated_shutdown_behavior
+  instance_type                        = var.tg_instance_type
+  key_name                             = aws_key_pair.key_pair.key_name
+  placement_group                      = aws_placement_group.placement_group.id
+  private_ip                           = var.tg_private_ip
+  source_dest_check                    = var.tg_source_dest_check
+  subnet_id                            = module.vpc.vpc_subnet_id
+  vpc_security_group_ids               = [module.vpc.vpc_security_group_id]
+  # host_id                            = "1"
+
+  root_block_device {
+    delete_on_termination = true
+    volume_size           = 50
+  }
+
+  tags = {
+    "Name"        = local.tg_name
+    "Environment" = local.environment
+  }
+}
+
+resource "aws_network_interface" "tg_if1" {
+  depends_on = [
+    module.subnet_b,
+    aws_instance.tg
+  ]
+  private_ips       = [var.tg_if1_private_ip]
+  security_groups   = [module.vpc.vpc_security_group_id]
+  source_dest_check = var.tg_source_dest_check
+  subnet_id         = module.subnet_b.subnet_id
+
+  attachment {
+    instance     = aws_instance.tg.id
+    device_index = 1
+  }
+
+  tags = {
+    "Name"        = local.tg_name
+    "Environment" = local.environment
+  }
+}
+
+resource "aws_network_interface" "tg_if2" {
+  depends_on = [
+    module.subnet_b,
+    aws_instance.tg
+  ]
+  private_ips       = [var.tg_if2_private_ip]
+  security_groups   = [module.vpc.vpc_security_group_id]
+  source_dest_check = var.tg_source_dest_check
+  subnet_id         = module.subnet_b.subnet_id
+
+  attachment {
+    instance     = aws_instance.tg.id
+    device_index = 2
+  }
+
+  tags = {
+    "Name"        = local.tg_name
+    "Environment" = local.environment
+  }
+}
+
+data "aws_network_interface" "tg_if1" {
+  id = aws_network_interface.tg_if1.id
+}
+
+data "aws_network_interface" "tg_if2" {
+  id = aws_network_interface.tg_if2.id
+}
+
+resource "aws_route" "route_tg_if1" {
+  depends_on = [
+    aws_instance.tg
+  ]
+  destination_cidr_block = var.destination_cidr_block_tg_if1
+  network_interface_id   = aws_instance.tg.primary_network_interface_id
+  route_table_id         = module.vpc.vpc_main_route_table_id
+}
+
+resource "aws_route" "route_tg_if2" {
+  depends_on = [
+    aws_instance.tg
+  ]
+  destination_cidr_block = var.destination_cidr_block_tg_if2
+  network_interface_id   = aws_instance.tg.primary_network_interface_id
+  route_table_id         = module.vpc.vpc_main_route_table_id
+}
+
+resource "null_resource" "deploy_tg" {
+  depends_on = [
+    aws_instance.tg,
+    aws_network_interface.tg_if1,
+    aws_network_interface.tg_if2
+  ]
+
+  connection {
+    user        = "ubuntu"
+    host        = aws_instance.tg.public_ip
+    private_key = tls_private_key.private_key.private_key_pem
+  }
+
+  provisioner "remote-exec" {
+    inline = var.first_run_commands
+  }
+}
+
+
+resource "null_resource" "deploy_topology" {
+  depends_on = [
+    aws_instance.tg
+  ]
+
+  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
+        tg_public_ip               = aws_instance.tg.public_ip
+        public_ip_list             = "${aws_instance.tg.public_ip}"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/fdio.infra.terraform/terraform-aws-1n-aws-c5n/output.tf b/fdio.infra.terraform/terraform-aws-1n-aws-c5n/output.tf
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/fdio.infra.terraform/terraform-aws-1n-aws-c5n/providers.tf b/fdio.infra.terraform/terraform-aws-1n-aws-c5n/providers.tf
new file mode 100644 (file)
index 0000000..38244af
--- /dev/null
@@ -0,0 +1,11 @@
+provider "aws" {
+  region     = var.region
+  access_key = data.vault_aws_access_credentials.creds.access_key
+  secret_key = data.vault_aws_access_credentials.creds.secret_key
+}
+
+provider "vault" {
+  address         = "http://10.30.51.28:8200"
+  skip_tls_verify = true
+  token           = "s.4z5PsufFwV3sHbCzK9Y2Cojd"
+}
\ No newline at end of file
diff --git a/fdio.infra.terraform/terraform-aws-1n-aws-c5n/variables.tf b/fdio.infra.terraform/terraform-aws-1n-aws-c5n/variables.tf
new file mode 100644 (file)
index 0000000..181eed6
--- /dev/null
@@ -0,0 +1,132 @@
+variable "vault-name" {
+  default = "dynamic-aws-creds-vault-fdio"
+}
+
+variable "region" {
+  description = "AWS Region."
+  type        = string
+  default     = "eu-central-1"
+}
+
+variable "resource_prefix" {
+  description = "Resources name prefix."
+  type        = string
+  default     = "csit-1n-aws-c5n"
+}
+
+variable "testbed_name" {
+  description = "Testbed name."
+  type        = string
+  default     = "testbed1"
+}
+
+# Variables for Private Key
+variable "private_key_algorithm" {
+  description = "The name of the algorithm to use for the key."
+  type        = string
+  default     = "RSA"
+}
+
+variable "private_key_ecdsa_curve" {
+  description = "When algorithm is ECDSA, the name of the elliptic curve to use."
+  type        = string
+  default     = "P521"
+}
+
+variable "private_key_rsa_bits" {
+  description = "When algorithm is RSA, the size of the generated RSA key in bits."
+  type        = number
+  default     = 4096
+}
+
+# Variables for Placement Group
+variable "placement_group_strategy" {
+  description = "The placement strategy. Can be cluster, partition or spread."
+  type        = string
+  default     = "cluster"
+}
+
+# Variables for Instance
+variable "tg_ami" {
+  description = "AMI to use for the instance."
+  type        = string
+  default     = "ami-0c2d02d48236a23dd"
+}
+
+variable "tg_associate_public_ip_address" {
+  description = "Whether to associate a public IP address with an instance in a VPC."
+  type        = bool
+  default     = true
+}
+
+variable "tg_instance_initiated_shutdown_behavior" {
+  description = "Shutdown behavior for the instance."
+  type        = string
+  default     = "terminate"
+}
+
+variable "tg_instance_type" {
+  description = "The instance type to use for the instance."
+  type        = string
+  default     = "c5n.4xlarge"
+}
+
+variable "tg_private_ip" {
+  description = "Private IP address to associate with the instance in a VPC."
+  type        = string
+  default     = "192.168.0.10"
+}
+
+variable "tg_source_dest_check" {
+  description = "Controls if traffic is routed to the instance when the destination address does not match the instance."
+  type        = bool
+  default     = false
+}
+
+# Variables for Network Interface
+variable "tg_if1_private_ip" {
+  description = "List of private IPs to assign to the ENI without regard to order."
+  type        = string
+  default     = "192.168.10.254"
+}
+
+variable "tg_if2_private_ip" {
+  description = "List of private IPs to assign to the ENI without regard to order."
+  type        = string
+  default     = "192.168.10.11"
+}
+
+variable "destination_cidr_block_tg_if1" {
+  description = "The destination CIDR block."
+  type        = string
+  default     = "10.0.0.0/16"
+}
+
+variable "destination_cidr_block_tg_if2" {
+  description = "The destination CIDR block."
+  type        = string
+  default     = "20.0.0.0/16"
+}
+
+# Variables for Null Resource
+variable "first_run_commands" {
+  description = "List of private IPs to assign to the ENI without regard to order."
+  type        = list(string)
+  default = [
+    "sudo sed -i 's/^PasswordAuthentication/#PasswordAuthentication/' /etc/ssh/sshd_config",
+    "sudo systemctl restart sshd",
+    "sudo useradd --create-home -s /bin/bash provisionuser",
+    "echo 'provisionuser:Csit1234' | sudo chpasswd",
+    "echo 'provisionuser ALL = (ALL) NOPASSWD: ALL' | sudo tee -a /etc/sudoers",
+    "sudo useradd --create-home -s /bin/bash testuser",
+    "echo 'testuser:Csit1234' | sudo chpasswd",
+    "echo 'testuser ALL = (ALL) NOPASSWD: ALL' | sudo tee -a /etc/sudoers"
+  ]
+}
+
+# Variables for Null Resource
+variable "ansible_topology_path" {
+  description = "Ansible topology path."
+  type        = string
+  default     = "../../fdio.infra.ansible/cloud_topology.yaml"
+}
diff --git a/fdio.infra.terraform/terraform-aws-1n-aws-c5n/versions.tf b/fdio.infra.terraform/terraform-aws-1n-aws-c5n/versions.tf
new file mode 100644 (file)
index 0000000..0eead1f
--- /dev/null
@@ -0,0 +1,20 @@
+terraform {
+  required_providers {
+    aws = {
+      source  = "hashicorp/aws"
+      version = ">= 4.3.0"
+    }
+    null = {
+      source  = "hashicorp/null"
+      version = "~> 3.1.0"
+    }
+    tls = {
+      source  = "hashicorp/tls"
+      version = "~> 3.1.0"
+    }
+    vault = {
+      version = ">=2.22.1"
+    }
+  }
+  required_version = ">= 1.0.4"
+}
index 7595f17..fa57071 100644 (file)
@@ -439,10 +439,14 @@ function get_test_code () {
             NODENESS="1n"
             FLAVOR="skx"
             ;;
             NODENESS="1n"
             FLAVOR="skx"
             ;;
-       *"1n-tx2"*)
+        *"1n-tx2"*)
             NODENESS="1n"
             FLAVOR="tx2"
             ;;
             NODENESS="1n"
             FLAVOR="tx2"
             ;;
+        *"1n-aws"*)
+            NODENESS="1n"
+            FLAVOR="aws"
+            ;;
         *"2n-aws"*)
             NODENESS="2n"
             FLAVOR="aws"
         *"2n-aws"*)
             NODENESS="2n"
             FLAVOR="aws"
@@ -662,12 +666,7 @@ function prepare_topology () {
 
     case_text="${NODENESS}_${FLAVOR}"
     case "${case_text}" in
 
     case_text="${NODENESS}_${FLAVOR}"
     case "${case_text}" in
-        "2n_aws")
-            export TF_VAR_testbed_name="${TEST_CODE}"
-            terraform_init || die "Failed to call terraform init."
-            terraform_apply || die "Failed to call terraform apply."
-            ;;
-        "3n_aws")
+        "1n_aws" | "2n_aws" | "3n_aws")
             export TF_VAR_testbed_name="${TEST_CODE}"
             terraform_init || die "Failed to call terraform init."
             terraform_apply || die "Failed to call terraform apply."
             export TF_VAR_testbed_name="${TEST_CODE}"
             terraform_init || die "Failed to call terraform init."
             terraform_apply || die "Failed to call terraform apply."
@@ -849,17 +848,24 @@ function select_tags () {
     set -exuo pipefail
 
     # NIC SELECTION
     set -exuo pipefail
 
     # NIC SELECTION
-    start_pattern='^  TG:'
+    case "${TEST_CODE}" in
+        *"1n-aws"*)
+            start_pattern='^  SUT:'
+            ;;
+        *)
+            start_pattern='^  TG:'
+            ;;
+    esac
     end_pattern='^ \? \?[A-Za-z0-9]\+:'
     end_pattern='^ \? \?[A-Za-z0-9]\+:'
-    # Remove the TG section from topology file
+    # Remove the sections from topology file
     sed_command="/${start_pattern}/,/${end_pattern}/d"
     sed_command="/${start_pattern}/,/${end_pattern}/d"
-    # All topologies DUT NICs
+    # All topologies NICs
     available=$(sed "${sed_command}" "${TOPOLOGIES_DIR}"/* \
                 | grep -hoP "model: \K.*" | sort -u)
     available=$(sed "${sed_command}" "${TOPOLOGIES_DIR}"/* \
                 | grep -hoP "model: \K.*" | sort -u)
-    # Selected topology DUT NICs
+    # Selected topology NICs
     reserved=$(sed "${sed_command}" "${WORKING_TOPOLOGY}" \
                | grep -hoP "model: \K.*" | sort -u)
     reserved=$(sed "${sed_command}" "${WORKING_TOPOLOGY}" \
                | grep -hoP "model: \K.*" | sort -u)
-    # All topologies DUT NICs - Selected topology DUT NICs
+    # All topologies NICs - Selected topology NICs
     exclude_nics=($(comm -13 <(echo "${reserved}") <(echo "${available}"))) || {
         die "Computation of excluded NICs failed."
     }
     exclude_nics=($(comm -13 <(echo "${reserved}") <(echo "${available}"))) || {
         die "Computation of excluded NICs failed."
     }
@@ -881,7 +887,7 @@ function select_tags () {
         *"2n-tx2"* | *"mrr-daily-master")
             default_nic="nic_intel-xl710"
             ;;
         *"2n-tx2"* | *"mrr-daily-master")
             default_nic="nic_intel-xl710"
             ;;
-        *"2n-aws"* | *"3n-aws"*)
+        *"1n-aws"* | *"2n-aws"* | *"3n-aws"*)
             default_nic="nic_amazon-nitro-50g"
             ;;
         *)
             default_nic="nic_amazon-nitro-50g"
             ;;
         *)
@@ -1029,7 +1035,7 @@ function select_tags () {
             test_tag_array+=("!drv_avf")
             test_tag_array+=("!ipsechw")
             ;;
             test_tag_array+=("!drv_avf")
             test_tag_array+=("!ipsechw")
             ;;
-        *"2n-aws"* | *"3n-aws"*)
+        *"1n-aws"* | *"2n-aws"* | *"3n-aws"*)
             test_tag_array+=("!ipsechw")
             ;;
     esac
             test_tag_array+=("!ipsechw")
             ;;
     esac
@@ -1144,6 +1150,10 @@ function select_topology () {
             TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_tx2*.yaml )
             TOPOLOGIES_TAGS="2_node_single_link_topo"
             ;;
             TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_tx2*.yaml )
             TOPOLOGIES_TAGS="2_node_single_link_topo"
             ;;
+        "1n_aws")
+            TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*1n-aws*.yaml )
+            TOPOLOGIES_TAGS="1_node_single_link_topo"
+            ;;
         "2n_aws")
             TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n-aws*.yaml )
             TOPOLOGIES_TAGS="2_node_single_link_topo"
         "2n_aws")
             TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n-aws*.yaml )
             TOPOLOGIES_TAGS="2_node_single_link_topo"
@@ -1177,7 +1187,7 @@ function set_environment_variables () {
     set -exuo pipefail
 
     case "${TEST_CODE}" in
     set -exuo pipefail
 
     case "${TEST_CODE}" in
-        *"2n-aws"* | *"3n-aws"*)
+        *"1n-aws"* | *"2n-aws"* | *"3n-aws"*)
             # T-Rex 2.88 workaround for ENA NICs
             export TREX_RX_DESCRIPTORS_COUNT=1024
             export TREX_EXTRA_CMDLINE="--mbuf-factor 19"
             # T-Rex 2.88 workaround for ENA NICs
             export TREX_RX_DESCRIPTORS_COUNT=1024
             export TREX_EXTRA_CMDLINE="--mbuf-factor 19"
@@ -1224,7 +1234,7 @@ function untrap_and_unreserve_testbed () {
             die "${1:-FAILED TO UNRESERVE, FIX MANUALLY.}" 2
         }
         case "${TEST_CODE}" in
             die "${1:-FAILED TO UNRESERVE, FIX MANUALLY.}" 2
         }
         case "${TEST_CODE}" in
-            *"2n-aws"* | *"3n-aws"*)
+            *"1n-aws"* | *"2n-aws"* | *"3n-aws"*)
                 terraform_destroy || die "Failed to call terraform destroy."
                 ;;
             *)
                 terraform_destroy || die "Failed to call terraform destroy."
                 ;;
             *)
index 756e37a..65d0ab0 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -14,7 +14,8 @@
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| Force Tags | 1_NODE_SINGLE_LINK_TOPO | 2_NODE_SINGLE_LINK_TOPO
+| ... | 3_NODE_SINGLE_LINK_TOPO
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | N2N | BASE
 | ... | TG_DRV_IGB_UIO
 | ... | ethip4-ip4base-tg
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | N2N | BASE
 | ... | TG_DRV_IGB_UIO
 | ... | ethip4-ip4base-tg
index 7dbed4c..882e1a4 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -14,7 +14,8 @@
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| Force Tags | 1_NODE_SINGLE_LINK_TOPO | 2_NODE_SINGLE_LINK_TOPO
+| ... | 3_NODE_SINGLE_LINK_TOPO
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4SCALE2M
 | ... | N2N | SCALE | TG_DRV_IGB_UIO
 | ... | ethip4-ip4scale2m-tg
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4SCALE2M
 | ... | N2N | SCALE | TG_DRV_IGB_UIO
 | ... | ethip4-ip4scale2m-tg
index e9fc43f..22c9d65 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -14,7 +14,8 @@
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| Force Tags | 1_NODE_SINGLE_LINK_TOPO | 2_NODE_SINGLE_LINK_TOPO
+| ... | 3_NODE_SINGLE_LINK_TOPO
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH
 | ... | IP4FWD | IP4BASE | N2N | TCP | TCP_CPS | TG_DRV_IGB_UIO | SCALE
 | ... | HOSTS_1024
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH
 | ... | IP4FWD | IP4BASE | N2N | TCP | TCP_CPS | TG_DRV_IGB_UIO | SCALE
 | ... | HOSTS_1024
index 3bb788b..2aff856 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -14,7 +14,8 @@
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| Force Tags | 1_NODE_SINGLE_LINK_TOPO | 2_NODE_SINGLE_LINK_TOPO
+| ... | 3_NODE_SINGLE_LINK_TOPO
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | IP4BASE | N2N | TCP | TCP_PPS | TG_DRV_IGB_UIO | SCALE | HOSTS_1024
 | ... | ethip4tcp-ip4base-h1024-p63-s64512-pps-tg
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | IP4BASE | N2N | TCP | TCP_PPS | TG_DRV_IGB_UIO | SCALE | HOSTS_1024
 | ... | ethip4tcp-ip4base-h1024-p63-s64512-pps-tg
index f15eaac..24d2117 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -14,7 +14,8 @@
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| Force Tags | 1_NODE_SINGLE_LINK_TOPO | 2_NODE_SINGLE_LINK_TOPO
+| ... | 3_NODE_SINGLE_LINK_TOPO
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | IP4BASE | N2N | TCP | TCP_CPS | TG_DRV_IGB_UIO | SCALE | HOSTS_262144
 | ... | ethip4tcp-ip4base-h262144-p63-s16515072-cps-tg
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | IP4BASE | N2N | TCP | TCP_CPS | TG_DRV_IGB_UIO | SCALE | HOSTS_262144
 | ... | ethip4tcp-ip4base-h262144-p63-s16515072-cps-tg
index a83e87d..d898b08 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -14,7 +14,8 @@
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| Force Tags | 1_NODE_SINGLE_LINK_TOPO | 2_NODE_SINGLE_LINK_TOPO
+| ... | 3_NODE_SINGLE_LINK_TOPO
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | IP4BASE | N2N | TCP | TCP_PPS | TG_DRV_IGB_UIO | SCALE | HOSTS_262144
 | ... | ethip4tcp-ip4base-h262144-p63-s16515072-pps-tg
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | IP4BASE | N2N | TCP | TCP_PPS | TG_DRV_IGB_UIO | SCALE | HOSTS_262144
 | ... | ethip4tcp-ip4base-h262144-p63-s16515072-pps-tg
index 7c4ddc2..50bc2fa 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -14,7 +14,8 @@
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| Force Tags | 1_NODE_SINGLE_LINK_TOPO | 2_NODE_SINGLE_LINK_TOPO
+| ... | 3_NODE_SINGLE_LINK_TOPO
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | N2N | SCALE | IP4BASE | TG_DRV_IGB_UIO | UDP | UDP_CPS | HOSTS_1024
 | ... | ethip4udp-ip4base-h1024-p63-s64512-cps-tg
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | N2N | SCALE | IP4BASE | TG_DRV_IGB_UIO | UDP | UDP_CPS | HOSTS_1024
 | ... | ethip4udp-ip4base-h1024-p63-s64512-cps-tg
index 94456e7..9fee391 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -14,7 +14,8 @@
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| Force Tags | 1_NODE_SINGLE_LINK_TOPO | 2_NODE_SINGLE_LINK_TOPO
+| ... | 3_NODE_SINGLE_LINK_TOPO
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | N2N | IP4BASE | UDP | UDP_PPS | TG_DRV_IGB_UIO | SCALE | HOSTS_1024
 | ... | ethip4udp-ip4base-h1024-p63-s64512-pps-tg
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | N2N | IP4BASE | UDP | UDP_PPS | TG_DRV_IGB_UIO | SCALE | HOSTS_1024
 | ... | ethip4udp-ip4base-h1024-p63-s64512-pps-tg
index 23690c3..dc93cb5 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -14,7 +14,8 @@
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| Force Tags | 1_NODE_SINGLE_LINK_TOPO | 2_NODE_SINGLE_LINK_TOPO
+| ... | 3_NODE_SINGLE_LINK_TOPO
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | N2N | SCALE | IP4BASE | TG_DRV_IGB_UIO | UDP | UDP_CPS | HOSTS_262144
 | ... | ethip4udp-ip4base-h262144-p63-s16515072-cps-tg
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | N2N | SCALE | IP4BASE | TG_DRV_IGB_UIO | UDP | UDP_CPS | HOSTS_262144
 | ... | ethip4udp-ip4base-h262144-p63-s16515072-cps-tg
index 61d29f1..7f19359 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -14,7 +14,8 @@
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| Force Tags | 1_NODE_SINGLE_LINK_TOPO | 2_NODE_SINGLE_LINK_TOPO
+| ... | 3_NODE_SINGLE_LINK_TOPO
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | IP4BASE | N2N | UDP | UDP_PPS | TG_DRV_IGB_UIO | SCALE | HOSTS_262144
 | ... | ethip4udp-ip4base-h262144-p63-s16515072-pps-tg
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP4FWD
 | ... | IP4BASE | N2N | UDP | UDP_PPS | TG_DRV_IGB_UIO | SCALE | HOSTS_262144
 | ... | ethip4udp-ip4base-h262144-p63-s16515072-pps-tg
index c13b6b6..91000e2 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -14,7 +14,8 @@
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| Force Tags | 1_NODE_SINGLE_LINK_TOPO | 2_NODE_SINGLE_LINK_TOPO
+| ... | 3_NODE_SINGLE_LINK_TOPO
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP6BASE
 | ... | N2N | BASE | IP6BASE | TG_DRV_IGB_UIO
 | ... | ethip6-ip6base-tg
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP6BASE
 | ... | N2N | BASE | IP6BASE | TG_DRV_IGB_UIO
 | ... | ethip6-ip6base-tg
index ba3449d..41bfc86 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -14,7 +14,8 @@
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| Force Tags | 1_NODE_SINGLE_LINK_TOPO | 2_NODE_SINGLE_LINK_TOPO
+| ... | 3_NODE_SINGLE_LINK_TOPO
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP6SCALE2M
 | ... | N2N | BASE | IP6BASE | TG_DRV_IGB_UIO
 | ... | ethip6-ip6scale2m-tg
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | IP6SCALE2M
 | ... | N2N | BASE | IP6BASE | TG_DRV_IGB_UIO
 | ... | ethip6-ip6scale2m-tg
index 3acc63d..d391ccf 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -14,7 +14,8 @@
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
 *** Settings ***
 | Resource | resources/libraries/robot/shared/default.robot
 |
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| Force Tags | 1_NODE_SINGLE_LINK_TOPO | 2_NODE_SINGLE_LINK_TOPO
+| ... | 3_NODE_SINGLE_LINK_TOPO
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | L2BDMACLRN
 | ... | N2N | SCALE | L2BDSCALE | FIB_1M | TG_DRV_IGB_UIO
 | ... | eth-l2bdscale1mmaclrn-tg
 | ... | PERFTEST | HW_ENV | NDRPDR | NIC_Intel-X710 | TREX | ETH | L2BDMACLRN
 | ... | N2N | SCALE | L2BDSCALE | FIB_1M | TG_DRV_IGB_UIO
 | ... | eth-l2bdscale1mmaclrn-tg