aboutsummaryrefslogtreecommitdiffstats
path: root/fdio.infra.ansible/roles
diff options
context:
space:
mode:
authorPeter Mikus <peter.mikus@protonmail.ch>2024-10-18 14:26:36 +0200
committerPeter Mikus <peter.mikus@protonmail.ch>2024-10-24 10:41:05 +0000
commit34a7bf412a78d8c2e259d631ec770047fe5b311d (patch)
tree55edb0c514676b4a302718aeac9c48846cfbea6f /fdio.infra.ansible/roles
parent120716e561c1d0e3c7d06cbb96d1f70cf3949e5c (diff)
feat(ansible): Ubuntu 24.04
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: Id486cbf0cdade79450912b54c068a3287c4edd36
Diffstat (limited to 'fdio.infra.ansible/roles')
-rw-r--r--fdio.infra.ansible/roles/ab/defaults/main.yaml18
-rw-r--r--fdio.infra.ansible/roles/ab/tasks/main.yaml18
-rw-r--r--fdio.infra.ansible/roles/baremetal/handlers/cimc.yaml74
-rw-r--r--fdio.infra.ansible/roles/baremetal/handlers/ipmi.yaml52
-rw-r--r--fdio.infra.ansible/roles/baremetal/handlers/main.yaml30
-rw-r--r--fdio.infra.ansible/roles/cadvisor/defaults/main.yaml24
-rw-r--r--fdio.infra.ansible/roles/cadvisor/tasks/main.yaml39
-rw-r--r--fdio.infra.ansible/roles/calibration/defaults/main.yaml18
-rw-r--r--fdio.infra.ansible/roles/docker_images/files/base/Dockerfile83
-rw-r--r--fdio.infra.ansible/roles/docker_images/files/csit-sut/Dockerfile2
-rw-r--r--fdio.infra.ansible/roles/docker_images/files/tg/Dockerfile103
-rw-r--r--fdio.infra.ansible/roles/docker_images/tasks/base.yaml4
-rw-r--r--fdio.infra.ansible/roles/docker_images/tasks/main.yaml2
-rw-r--r--fdio.infra.ansible/roles/docker_images/tasks/tg.yaml20
-rw-r--r--fdio.infra.ansible/roles/docker_images/templates/docker-compose-sut.yaml.j29
-rw-r--r--fdio.infra.ansible/roles/docker_images/templates/docker-compose-tg.yaml.j213
-rw-r--r--fdio.infra.ansible/roles/dpdk/defaults/main.yaml9
-rw-r--r--fdio.infra.ansible/roles/dpdk/molecule/default/converge.yml4
-rw-r--r--fdio.infra.ansible/roles/dpdk/tasks/deploy_block.yaml8
-rw-r--r--fdio.infra.ansible/roles/dpdk/tasks/main.yaml11
-rw-r--r--fdio.infra.ansible/roles/intel/defaults/main.yaml27
-rw-r--r--fdio.infra.ansible/roles/iperf/defaults/main.yaml23
-rw-r--r--fdio.infra.ansible/roles/iperf/tasks/main.yaml62
-rw-r--r--fdio.infra.ansible/roles/kernel/defaults/main.yaml26
-rw-r--r--fdio.infra.ansible/roles/kernel/handlers/main.yaml4
-rw-r--r--fdio.infra.ansible/roles/kernel/tasks/main.yaml4
-rw-r--r--fdio.infra.ansible/roles/kernel/tasks/ubuntu_jammy.yaml2
-rw-r--r--fdio.infra.ansible/roles/kernel/tasks/ubuntu_noble.yaml62
-rw-r--r--fdio.infra.ansible/roles/mellanox/defaults/main.yaml4
-rw-r--r--fdio.infra.ansible/roles/performance_tuning/defaults/main.yaml7
-rw-r--r--fdio.infra.ansible/roles/performance_tuning/handlers/main.yaml4
-rw-r--r--fdio.infra.ansible/roles/performance_tuning/tasks/main.yaml45
-rw-r--r--fdio.infra.ansible/roles/performance_tuning/tasks/turbo_boost.yaml14
-rw-r--r--fdio.infra.ansible/roles/python_env/defaults/main.yaml19
-rw-r--r--fdio.infra.ansible/roles/python_env/tasks/main.yaml14
-rw-r--r--fdio.infra.ansible/roles/trex/defaults/main.yaml33
-rw-r--r--fdio.infra.ansible/roles/trex/files/t-rex.patch548
-rw-r--r--fdio.infra.ansible/roles/trex/tasks/deploy_block.yaml63
-rw-r--r--fdio.infra.ansible/roles/trex/tasks/main.yaml24
-rw-r--r--fdio.infra.ansible/roles/vpp/defaults/main.yaml10
-rw-r--r--fdio.infra.ansible/roles/vpp/tasks/main.yaml13
41 files changed, 381 insertions, 1168 deletions
diff --git a/fdio.infra.ansible/roles/ab/defaults/main.yaml b/fdio.infra.ansible/roles/ab/defaults/main.yaml
deleted file mode 100644
index adabf1464c..0000000000
--- a/fdio.infra.ansible/roles/ab/defaults/main.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-# file: roles/ab/defaults/main.yaml
-
-packages: "{{ packages_base + packages_by_distro[ansible_distribution|lower][ansible_distribution_release] + packages_by_arch[ansible_machine] }}"
-
-packages_base:
- - []
-
-packages_by_distro:
- ubuntu:
- jammy:
- - "apache2-utils"
-
-packages_by_arch:
- aarch64:
- - []
- x86_64:
- - []
diff --git a/fdio.infra.ansible/roles/ab/tasks/main.yaml b/fdio.infra.ansible/roles/ab/tasks/main.yaml
deleted file mode 100644
index 2a70fd1d1d..0000000000
--- a/fdio.infra.ansible/roles/ab/tasks/main.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-# file: roles/ab/tasks/main.yaml
-
-- name: Inst - Update Package Cache (APT)
- ansible.builtin.apt:
- update_cache: true
- cache_valid_time: 3600
- when:
- - ansible_distribution|lower == 'ubuntu'
- tags:
- - ab-inst-prerequisites
-
-- name: Inst - Apache ab tools
- ansible.builtin.package:
- name: "{{ packages | flatten(levels=1) }}"
- state: present
- tags:
- - ab-inst
diff --git a/fdio.infra.ansible/roles/baremetal/handlers/cimc.yaml b/fdio.infra.ansible/roles/baremetal/handlers/cimc.yaml
deleted file mode 100644
index 3d244d8d19..0000000000
--- a/fdio.infra.ansible/roles/baremetal/handlers/cimc.yaml
+++ /dev/null
@@ -1,74 +0,0 @@
----
-# file: roles/baremeatal/handlers/cimc.yaml
-
-- name: Boot from network
- imc_rest:
- hostname: "{{ inventory_cimc_hostname }}"
- username: "{{ inventory_cimc_username }}"
- password: "{{ inventory_cimc_password }}"
- validate_certs: false
- content: |
- <!-- Configure PXE boot -->
- <configConfMo><inConfig>
- <lsbootLan dn="sys/rack-unit-1/boot-policy/lan-read-only" access="read-only" order="1" prot="pxe" type="lan"/>
- </inConfig></configConfMo>
- delegate_to: localhost
- tags:
- - boot-network
-
-- name: Boot from storage
- imc_rest:
- hostname: "{{ inventory_cimc_hostname }}"
- username: "{{ inventory_cimc_username }}"
- password: "{{ inventory_cimc_password }}"
- validate_certs: false
- content: |
- <configConfMo><inConfig>
- <lsbootStorage dn="sys/rack-unit-1/boot-policy/storage-read-write" access="read-write" order="1" type="storage"/>
- </inConfig></configConfMo>
- delegate_to: localhost
- tags:
- - boot-storage
-
-- name: Power up server
- imc_rest:
- hostname: "{{ inventory_cimc_hostname }}"
- username: "{{ inventory_cimc_username }}"
- password: "{{ inventory_cimc_password }}"
- validate_certs: false
- content: |
- <configConfMo><inConfig>
- <computeRackUnit dn="sys/rack-unit-1" adminPower="up"/>
- </inConfig></configConfMo>
- delegate_to: localhost
- tags:
- - power-up
-
-- name: Power down server
- imc_rest:
- hostname: "{{ inventory_cimc_hostname }}"
- username: "{{ inventory_cimc_username }}"
- password: "{{ inventory_cimc_password }}"
- validate_certs: false
- content: |
- <configConfMo><inConfig>
- <computeRackUnit dn="sys/rack-unit-1" adminPower="down"/>
- </inConfig></configConfMo>
- delegate_to: localhost
- tags:
- - power-down
-
-- name: Power cycle server
- imc_rest:
- hostname: "{{ inventory_cimc_hostname }}"
- username: "{{ inventory_cimc_username }}"
- password: "{{ inventory_cimc_password }}"
- validate_certs: false
- content: |
- <!-- Power cycle server -->
- <configConfMo><inConfig>
- <computeRackUnit dn="sys/rack-unit-1" adminPower="cycle-immediate"/>
- </inConfig></configConfMo>
- delegate_to: localhost
- tags:
- - power-cycle
diff --git a/fdio.infra.ansible/roles/baremetal/handlers/ipmi.yaml b/fdio.infra.ansible/roles/baremetal/handlers/ipmi.yaml
deleted file mode 100644
index b3cc3d0a82..0000000000
--- a/fdio.infra.ansible/roles/baremetal/handlers/ipmi.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
----
-# file: roles/baremetal/handlers/ipmi.yaml
-
-- name: Boot from network
- ipmi_boot:
- name: "{{ inventory_ipmi_hostname }}"
- user: "{{ inventory_ipmi_username }}"
- password: "{{ inventory_ipmi_password }}"
- bootdev: network
- delegate_to: localhost
- tags:
- - boot-network
-
-- name: Boot from storage
- ipmi_boot:
- name: "{{ inventory_ipmi_hostname }}"
- user: "{{ inventory_ipmi_username }}"
- password: "{{ inventory_ipmi_password }}"
- bootdev: hd
- delegate_to: localhost
- tags:
- - boot-storage
-
-- name: Power up server
- ipmi_power:
- name: "{{ inventory_ipmi_hostname }}"
- user: "{{ inventory_ipmi_username }}"
- password: "{{ inventory_ipmi_password }}"
- state: true
- delegate_to: localhost
- tags:
- - power-up
-
-- name: Power down server
- ipmi_power:
- name: "{{ inventory_ipmi_hostname }}"
- user: "{{ inventory_ipmi_username }}"
- password: "{{ inventory_ipmi_password }}"
- state: false
- delegate_to: localhost
- tags:
- - power-down
-
-- name: Power cycle server
- ipmi_power:
- name: "{{ inventory_ipmi_hostname }}"
- user: "{{ inventory_ipmi_username }}"
- password: "{{ inventory_ipmi_password }}"
- state: boot
- delegate_to: localhost
- tags:
- - power-cycle
diff --git a/fdio.infra.ansible/roles/baremetal/handlers/main.yaml b/fdio.infra.ansible/roles/baremetal/handlers/main.yaml
deleted file mode 100644
index 6e8734eaa9..0000000000
--- a/fdio.infra.ansible/roles/baremetal/handlers/main.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
----
-# file: roles/baremetal/handlers/main.yaml
-
-- name: IPMI specific
- import_tasks: ipmi.yaml
- when: inventory_ipmi_hostname is defined
- tags:
- - ipmi-handlers
-
-- name: CIMC specific
- import_tasks: cimc.yaml
- when: inventory_cimc_hostname is defined
- tags:
- - cimc-handlers
-
-- name: Reboot server
- ansible.builtin.reboot:
- reboot_timeout: 3600
- tags:
- - reboot-server
-
-- name: Wait for server to restart
- ansible.builtin.wait_for:
- host: "{{ inventory_hostname }}"
- search_regex: OpenSSH
- port: 22
- delay: 60
- timeout: 3600
- tags:
- - reboot-server
diff --git a/fdio.infra.ansible/roles/cadvisor/defaults/main.yaml b/fdio.infra.ansible/roles/cadvisor/defaults/main.yaml
deleted file mode 100644
index 5dba8c9112..0000000000
--- a/fdio.infra.ansible/roles/cadvisor/defaults/main.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-# file: roles/cadvisor/defaults/main.yaml
-
-packages: "{{ packages_base + packages_by_distro[ansible_distribution | lower] + packages_by_arch[ansible_machine] }}"
-
-packages_base:
- - []
-
-packages_by_distro:
- ubuntu:
- - "python3-docker"
- - "python3-dockerpty"
-
-packages_by_arch:
- aarch64:
- - []
- x86_64:
- - []
-
-image: "{{ image_by_arch[ansible_machine] }}"
-
-image_by_arch:
- aarch64: "zcube/cadvisor:v0.37.0"
- x86_64: "gcr.io/cadvisor/cadvisor:v0.38.7"
diff --git a/fdio.infra.ansible/roles/cadvisor/tasks/main.yaml b/fdio.infra.ansible/roles/cadvisor/tasks/main.yaml
deleted file mode 100644
index a8c3f70124..0000000000
--- a/fdio.infra.ansible/roles/cadvisor/tasks/main.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
----
-# file: roles/cadvisor/tasks/main.yaml
-
-- name: Inst - Update Package Cache (APT)
- apt:
- update_cache: true
- cache_valid_time: 3600
- when:
- - ansible_distribution|lower == 'ubuntu'
- tags:
- - cadvisor-inst-prerequisites
-
-- name: Inst - Prerequisites
- package:
- name: "{{ packages | flatten(levels=1) }}"
- state: latest
- tags:
- - cadvisor-inst-prerequisites
-
-- name: Inst - Start a container
- docker_container:
- name: "cAdvisor"
- image: "{{ image }}"
- state: "started"
- restart_policy: "unless-stopped"
- detach: true
- devices:
- - "/dev/kmsg"
- ports:
- - "8080:8080"
- privileged: true
- volumes:
- - "/:/rootfs:ro"
- - "/var/run:/var/run:ro"
- - "/sys:/sys:ro"
- - "/var/lib/docker/:/var/lib/docker:ro"
- - "/dev/disk/:/dev/disk:ro"
- tags:
- - cadvisor-run-container
diff --git a/fdio.infra.ansible/roles/calibration/defaults/main.yaml b/fdio.infra.ansible/roles/calibration/defaults/main.yaml
index 28cecf26d3..0b7362b01f 100644
--- a/fdio.infra.ansible/roles/calibration/defaults/main.yaml
+++ b/fdio.infra.ansible/roles/calibration/defaults/main.yaml
@@ -12,6 +12,9 @@ packages_by_distro:
jammy:
- "build-essential"
- "dmidecode"
+ noble:
+ - "build-essential"
+ - "dmidecode"
debian:
bullseye:
- "build-essential"
@@ -29,11 +32,18 @@ kernel_version_by_distro_by_arch:
ubuntu:
jammy:
x86_64:
- - "5.15.0-46-generic" # Placeholder
- - "5.15.0-1000-aws" # Placeholder
- - "5.4.0-1009-aws" # Placeholder
+ - "5.15.0-46-generic"
+ - "5.15.0-1000-aws"
+ - "5.4.0-1009-aws"
+ aarch64:
+ - "5.15.0-46-generic"
+ noble:
+ x86_64:
+ - "6.8.0-45-generic"
+ - "5.15.0-1000-aws"
+ - "5.4.0-1009-aws"
aarch64:
- - "5.15.0-46-generic" # Placeholder
+ - "6.8.0-45-generic"
debian:
bullseye:
- "5.15.0-107-generic"
diff --git a/fdio.infra.ansible/roles/docker_images/files/base/Dockerfile b/fdio.infra.ansible/roles/docker_images/files/base/Dockerfile
index 4514ec3679..f30caeb344 100644
--- a/fdio.infra.ansible/roles/docker_images/files/base/Dockerfile
+++ b/fdio.infra.ansible/roles/docker_images/files/base/Dockerfile
@@ -1,4 +1,6 @@
-FROM ubuntu:22.04
+# Import necessary base images
+ARG BASE_IMAGE
+FROM ${BASE_IMAGE}
# Setup the environment
ENV DEBIAN_FRONTEND=noninteractive
@@ -56,6 +58,7 @@ RUN apt-get -q update \
python3-pip \
python3-pyelftools \
python3-setuptools \
+ python3-venv \
python3-virtualenv \
qemu-system \
rdma-core \
@@ -72,10 +75,9 @@ RUN apt-get -q update \
tar \
tcpdump \
unzip \
- vim \
wget \
zlib1g-dev \
- && ln -s -f /usr/lib/x86_64-linux-gnu/libc.a /usr/lib/x86_64-linux-gnu/liblibc.a \
+ #&& ln -s -f /usr/lib/x86_64-linux-gnu/libc.a /usr/lib/x86_64-linux-gnu/liblibc.a \
&& curl -fsSL https://get.docker.com | sh \
&& rm -rf /var/lib/apt/lists/*
@@ -90,47 +92,58 @@ RUN mkdir -p /tmp/dumps \
&& mkdir -p /var/log/vpp
# CSIT PIP pre-cache
-RUN pip3 install \
- ecdsa==0.18.0 \
- paramiko==3.3.1 \
- pycrypto==2.6.1 \
- python-dateutil==2.8.2 \
+RUN python3 -m venv venv \
+ && venv/bin/pip3 install --upgrade --no-cache-dir pip \
+ && venv/bin/pip3 install --upgrade setuptools \
+ && venv/bin/pip3 install --upgrade wheel \
+ && venv/bin/pip3 install \
+ ecdsa==0.19.0 \
+ paramiko==3.4.1 \
+ pycryptodome==3.20.0 \
+ python-dateutil==2.9.0 \
PyYAML==6.0.1 \
- requests==2.31.0 \
- robotframework==6.1.1 \
+ requests==2.32.2 \
+ robotframework==7.0.1 \
scapy==2.4.5 \
- scp==0.14.5 \
- ansible==8.2.0 \
- ansible-core==2.15.2 \
- dill==0.3.7 \
- numpy==1.25.2 \
- scipy==1.11.1 \
+ scp==0.15.0 \
+ ansible==10.2.0 \
+ ansible-core==2.17.2 \
+ dill==0.3.8 \
+ numpy==2.0.1 \
+ scipy==1.14.0 \
ply==3.11 \
- jsonschema==4.18.4 \
+ jsonschema==4.23.0 \
rfc3339-validator==0.1.4 \
rfc3987==1.3.8 \
- attrs==23.1.0 \
- bcrypt==4.0.1 \
- certifi==2023.7.22 \
- cffi==1.15.1 \
- charset-normalizer==3.2.0 \
- cryptography==41.0.3 \
- idna==3.4 \
- Jinja2==3.1.2 \
- jsonschema-specifications==2023.7.1 \
- MarkupSafe==2.1.3 \
- packaging==23.1 \
- pycparser==2.21 \
+ pylint==3.2.6 \
+ astroid==3.2.4 \
+ attrs==24.2.0 \
+ bcrypt==4.2.0 \
+ certifi==2024.7.4 \
+ cffi==1.17.0 \
+ charset-normalizer==3.3.2 \
+ cryptography==43.0.0 \
+ idna==3.7 \
+ isort==5.13.2 \
+ Jinja2==3.1.4 \
+ jsonschema-specifications==2023.12.1 \
+ MarkupSafe==2.1.5 \
+ mccabe==0.7.0 \
+ packaging==24.1 \
+ platformdirs==4.2.2 \
+ ply==3.11 \
+ pycparser==2.22 \
PyNaCl==1.5.0 \
- referencing==0.30.0 \
+ referencing==0.35.1 \
resolvelib==1.0.1 \
- rpds-py==0.9.2 \
+ rpds-py==0.20.0 \
six==1.16.0 \
- urllib3==2.0.4 \
- meson==0.64.1
+ tomli==2.0.1 \
+ tomlkit==0.13.0 \
+ typing_extensions==4.12.2 \
+ urllib3==2.2.2
-RUN groupadd -g 1000 testuser \
- && useradd -rm -d /home/testuser -s /bin/bash -g testuser -G sudo -u 1000 testuser \
+RUN useradd -rm -d /home/testuser -s /bin/bash -g 1000 -G sudo testuser \
&& echo 'testuser:Csit1234' | chpasswd
RUN echo 'root:Csit1234' | chpasswd \
diff --git a/fdio.infra.ansible/roles/docker_images/files/csit-sut/Dockerfile b/fdio.infra.ansible/roles/docker_images/files/csit-sut/Dockerfile
index 85537bc32f..69c8db39dc 100644
--- a/fdio.infra.ansible/roles/docker_images/files/csit-sut/Dockerfile
+++ b/fdio.infra.ansible/roles/docker_images/files/csit-sut/Dockerfile
@@ -1,4 +1,4 @@
-FROM base-ubuntu2204:local
+FROM base-ubuntu2404:local
EXPOSE 2222
diff --git a/fdio.infra.ansible/roles/docker_images/files/tg/Dockerfile b/fdio.infra.ansible/roles/docker_images/files/tg/Dockerfile
new file mode 100644
index 0000000000..3ff0e2116d
--- /dev/null
+++ b/fdio.infra.ansible/roles/docker_images/files/tg/Dockerfile
@@ -0,0 +1,103 @@
+# Import necessary base images
+ARG BASE_IMAGE
+FROM ${BASE_IMAGE}
+
+ARG TREX_VERSION
+ARG IPERF_VERSION
+
+# Setup the environment
+ENV DEBIAN_FRONTEND=noninteractive
+
+# Configure locales
+RUN apt-get update -qq \
+ && apt-get install -y \
+ apt-utils \
+ locales \
+ && sed -i 's/# \(en_US\.UTF-8 .*\)/\1/' /etc/locale.gen \
+ && locale-gen en_US.UTF-8 \
+ && dpkg-reconfigure --frontend=noninteractive locales \
+ && update-locale LANG=en_US.UTF-8 \
+ && TZ=Etc/UTC && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
+ && rm -r /var/lib/apt/lists/*
+ENV LANG="en_US.UTF-8" LANGUAGE="en_US" LC_ALL="en_US.UTF-8"
+
+# Install packages and Docker
+RUN apt-get -q update \
+ && apt-get install -y -qq \
+ apt-transport-https \
+ bridge-utils \
+ build-essential \
+ ca-certificates \
+ cmake \
+ curl \
+ dkms \
+ ethtool \
+ gcc-9 \
+ g++-9 \
+ libibverbs-dev \
+ libnuma1 \
+ libnuma-dev \
+ libpcap-dev \
+ net-tools \
+ openssh-server \
+ pciutils \
+ python3-all \
+ python3-apt \
+ python3-dev \
+ python3-pip \
+ python3-setuptools \
+ python3-virtualenv \
+ rdma-core \
+ rsyslog \
+ screen \
+ socat \
+ software-properties-common \
+ strace \
+ ssh \
+ sshpass \
+ sudo \
+ tar \
+ unzip \
+ wget \
+ zlib1g-dev \
+ && rm -rf /var/lib/apt/lists/*
+
+# Fix permissions
+RUN chown root:syslog /var/log \
+ && chmod 755 /etc/default
+
+# Create directory structure
+RUN mkdir -p /var/run/sshd
+
+# Install AB
+RUN apt-get -q update \
+ && apt-get install -y -qq \
+ apache2-utils \
+ && rm -rf /var/lib/apt/lists/*
+
+# Install T-Rex
+RUN wget -c https://github.com/cisco-system-traffic-generator/trex-core/archive/v${TREX_VERSION}.tar.gz -P /opt/ \
+ && cd /opt/ \
+ && tar xzfv v${TREX_VERSION}.tar.gz \
+ && cd /opt/trex-core-${TREX_VERSION}/linux_dpdk/ \
+ && ./b configure \
+ && ./b build
+
+# Install iPerf
+RUN wget -c https://downloads.es.net/pub/iperf/iperf-${IPERF_VERSION}.tar.gz -P /opt/ \
+ && cd /opt/ \
+ && tar xzfv iperf-${IPERF_VERSION}.tar.gz \
+ && cd /opt/iperf-${IPERF_VERSION} \
+ && ./configure \
+ && make \
+ && make install
+
+RUN groupadd -g 1000 testuser \
+ && useradd -rm -d /home/testuser -s /bin/bash -g testuser -G sudo -u 1000 testuser \
+ && echo 'testuser:Csit1234' | chpasswd
+
+RUN echo 'root:Csit1234' | chpasswd \
+ && sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config \
+ && echo "export VISIBLE=now" >> /etc/profile
+
+RUN service ssh start
diff --git a/fdio.infra.ansible/roles/docker_images/tasks/base.yaml b/fdio.infra.ansible/roles/docker_images/tasks/base.yaml
index 69b3f6217d..a3ded7466c 100644
--- a/fdio.infra.ansible/roles/docker_images/tasks/base.yaml
+++ b/fdio.infra.ansible/roles/docker_images/tasks/base.yaml
@@ -23,7 +23,7 @@
- docker-base
- name: "Build CSIT Base Docker Image"
- ansible.builtin.shell: "docker build -t base-ubuntu2204:local ."
+ ansible.builtin.shell: "docker build --build-arg BASE_IMAGE=ubuntu:24.04 -t base-ubuntu2404:local ."
args:
chdir: "/opt/csit-docker-images/base"
async: 3000
@@ -43,7 +43,7 @@
- docker-base
- name: "Build CSIT OLD Docker Image"
- ansible.builtin.shell: "docker build -t csit_sut-ubuntu2204:local ."
+ ansible.builtin.shell: "docker build -t csit_sut-ubuntu2404:local ."
args:
chdir: "/opt/csit-docker-images/csit-sut"
async: 3000
diff --git a/fdio.infra.ansible/roles/docker_images/tasks/main.yaml b/fdio.infra.ansible/roles/docker_images/tasks/main.yaml
index 1005e024f2..382c70b80a 100644
--- a/fdio.infra.ansible/roles/docker_images/tasks/main.yaml
+++ b/fdio.infra.ansible/roles/docker_images/tasks/main.yaml
@@ -3,6 +3,8 @@
- name: "Build Base Docker Images"
import_tasks: "base.yaml"
+ when: >
+ inventory_hostname in groups["sut"]
tags:
- docker-base
diff --git a/fdio.infra.ansible/roles/docker_images/tasks/tg.yaml b/fdio.infra.ansible/roles/docker_images/tasks/tg.yaml
index 0623616073..f4184d43d7 100644
--- a/fdio.infra.ansible/roles/docker_images/tasks/tg.yaml
+++ b/fdio.infra.ansible/roles/docker_images/tasks/tg.yaml
@@ -1,6 +1,26 @@
---
# file: tasks/tg.yaml
+- name: "Create a Directory For Docker Images"
+ ansible.builtin.file:
+ path: "/opt/csit-docker-images/"
+ state: "directory"
+ mode: 0755
+ tags:
+ - docker-base
+
+- name: "Copy Build Items"
+ ansible.builtin.copy:
+ src: "{{ item }}"
+ dest: "/opt/csit-docker-images/{{ item }}"
+ owner: "root"
+ group: "root"
+ mode: 0755
+ with_items:
+ - "tg/"
+ tags:
+ - docker-base
+
- name: "Template Compose File"
ansible.builtin.template:
src: "{{ item }}.j2"
diff --git a/fdio.infra.ansible/roles/docker_images/templates/docker-compose-sut.yaml.j2 b/fdio.infra.ansible/roles/docker_images/templates/docker-compose-sut.yaml.j2
index b4713d8552..810374527c 100644
--- a/fdio.infra.ansible/roles/docker_images/templates/docker-compose-sut.yaml.j2
+++ b/fdio.infra.ansible/roles/docker_images/templates/docker-compose-sut.yaml.j2
@@ -1,9 +1,10 @@
-version: "3"
services:
- numa-0:
+ sut-0:
build:
context: "base/"
dockerfile: "Dockerfile"
+ args:
+ BASE_IMAGE: "ubuntu:24.04"
cap_add:
- NET_RAW
command: ["/usr/sbin/sshd","-D", "-p", "6001"]
@@ -20,10 +21,12 @@ services:
source: "{{ volume.source }}"
target: "{{ volume.target }}"
{% endfor %}
- numa-1:
+ sut-1:
build:
context: "base/"
dockerfile: "Dockerfile"
+ args:
+ BASE_IMAGE: "ubuntu:24.04"
cap_add:
- NET_RAW
command: ["/usr/sbin/sshd","-D", "-p", "6002"]
diff --git a/fdio.infra.ansible/roles/docker_images/templates/docker-compose-tg.yaml.j2 b/fdio.infra.ansible/roles/docker_images/templates/docker-compose-tg.yaml.j2
index 2cee85e169..590ba76a38 100644
--- a/fdio.infra.ansible/roles/docker_images/templates/docker-compose-tg.yaml.j2
+++ b/fdio.infra.ansible/roles/docker_images/templates/docker-compose-tg.yaml.j2
@@ -1,9 +1,12 @@
-version: "3"
services:
tg-0:
build:
- context: "base/"
+ context: "tg/"
dockerfile: "Dockerfile"
+ args:
+ BASE_IMAGE: "ubuntu:22.04"
+ TREX_VERSION: "3.03"
+ IPERF_VERSION: "3.7"
command: ["/usr/sbin/sshd","-D", "-p", "6001"]
expose:
- "6001"
@@ -20,8 +23,12 @@ services:
{% endfor %}
tg-1:
build:
- context: "base/"
+ context: "tg/"
dockerfile: "Dockerfile"
+ args:
+ BASE_IMAGE: "ubuntu:22.04"
+ TREX_VERSION: "3.03"
+ IPERF_VERSION: "3.7"
command: ["/usr/sbin/sshd","-D", "-p", "6002"]
expose:
- "6002"
diff --git a/fdio.infra.ansible/roles/dpdk/defaults/main.yaml b/fdio.infra.ansible/roles/dpdk/defaults/main.yaml
index d94e9ac91f..22e960e98c 100644
--- a/fdio.infra.ansible/roles/dpdk/defaults/main.yaml
+++ b/fdio.infra.ansible/roles/dpdk/defaults/main.yaml
@@ -1,16 +1,15 @@
---
# file: defaults/main.yaml
-packages: "{{ packages_base + packages_by_distro[ansible_distribution|lower][ansible_distribution_release] + packages_by_arch[ansible_machine] }}"
+packages: "{{ packages_base + packages_by_distro[ansible_distribution|lower] + packages_by_arch[ansible_machine] }}"
packages_base:
- []
packages_by_distro:
ubuntu:
- jammy:
- - "build-essential"
- - "libnuma-dev"
+ - "build-essential"
+ - "libnuma-dev"
packages_by_arch:
aarch64:
@@ -20,5 +19,5 @@ packages_by_arch:
dpdk_target_dir: "/opt"
dpdk_version:
- - "23.11"
+ - "24.07"
dpdk_url: "https://fast.dpdk.org/rel"
diff --git a/fdio.infra.ansible/roles/dpdk/molecule/default/converge.yml b/fdio.infra.ansible/roles/dpdk/molecule/default/converge.yml
index ab8392c3dc..505f9f4393 100644
--- a/fdio.infra.ansible/roles/dpdk/molecule/default/converge.yml
+++ b/fdio.infra.ansible/roles/dpdk/molecule/default/converge.yml
@@ -1,9 +1,9 @@
---
# file: molecule/default/converge.yaml
-- name: Converge
+- name: "Converge"
hosts: all
become: true
roles:
- - role: csit.dpdk
+ - role: "csit.dpdk"
diff --git a/fdio.infra.ansible/roles/dpdk/tasks/deploy_block.yaml b/fdio.infra.ansible/roles/dpdk/tasks/deploy_block.yaml
index 1f972f5320..d5afe2d3f8 100644
--- a/fdio.infra.ansible/roles/dpdk/tasks/deploy_block.yaml
+++ b/fdio.infra.ansible/roles/dpdk/tasks/deploy_block.yaml
@@ -1,14 +1,14 @@
---
# file: tasks/deploy_block.yaml
-- name: Download Release {{ item }}
+- name: "Download Release {{ item }}"
ansible.builtin.get_url:
url: "{{ dpdk_url }}/dpdk-{{ item }}.tar.xz"
dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
mode: 0644
register: dpdk_downloaded
-- name: Extract Release {{ item }}
+- name: "Extract Release {{ item }}"
ansible.builtin.unarchive:
remote_src: true
src: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
@@ -17,7 +17,7 @@
when: dpdk_downloaded
register: dpdk_extracted
-- name: Compile Release I
+- name: "Compile Release I"
ansible.builtin.command: "meson -Dexamples=l3fwd build"
args:
chdir: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
@@ -25,7 +25,7 @@
CFLAGS: "-DRTE_LIBRTE_I40E_16BYTE_RX_DESC=y"
register: dpdk_compiled
-- name: Compile Release II
+- name: "Compile Release II"
ansible.builtin.command: "ninja -C build"
args:
chdir: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
diff --git a/fdio.infra.ansible/roles/dpdk/tasks/main.yaml b/fdio.infra.ansible/roles/dpdk/tasks/main.yaml
index 4f6c9ec9f2..1b7886386a 100644
--- a/fdio.infra.ansible/roles/dpdk/tasks/main.yaml
+++ b/fdio.infra.ansible/roles/dpdk/tasks/main.yaml
@@ -1,24 +1,23 @@
---
# file: tasks/main.yaml
-- name: Update Package Cache (APT)
+- name: "Update Package Cache (APT)"
ansible.builtin.apt:
update_cache: true
- cache_valid_time: 3600
when:
- - ansible_distribution == 'Ubuntu'
+ - ansible_os_family == 'Debian'
tags:
- dpdk-inst-prerequisites
-- name: Prerequisites
+- name: "Prerequisites"
ansible.builtin.package:
name: "{{ packages | flatten(levels=1) }}"
state: "latest"
tags:
- dpdk-inst-prerequisites
-- name: Multiple DPDK Versions
- include_tasks: deploy_block.yaml
+- name: "Multiple DPDK Versions"
+ include_tasks: "deploy_block.yaml"
loop: "{{ dpdk_version }}"
tags:
- dpdk-inst
diff --git a/fdio.infra.ansible/roles/intel/defaults/main.yaml b/fdio.infra.ansible/roles/intel/defaults/main.yaml
index dbc31e87c4..d9b27ea91a 100644
--- a/fdio.infra.ansible/roles/intel/defaults/main.yaml
+++ b/fdio.infra.ansible/roles/intel/defaults/main.yaml
@@ -48,11 +48,6 @@ intel_download_url: "https://downloadmirror.intel.com"
intel_extract_dir: "/opt"
intel_700_compatibility_matrix:
- dpdk22.03:
- # custom for vpp_device
- i40e: "2.25.11"
- iavf: "4.11.3"
- nvm: "8.70"
dpdk22.07:
# https://doc.dpdk.org/guides/rel_notes/release_22_07.html
i40e: "2.19.3"
@@ -63,14 +58,13 @@ intel_700_compatibility_matrix:
i40e: "2.23.17"
iavf: "4.9.5"
nvm: "9.30"
+ dpdk24.07:
+ # https://doc.dpdk.org/guides/rel_notes/release_24_07.html
+ i40e: "2.25.9"
+ iavf: "4.9.5"
+ nvm: "9.50"
intel_800_compatibility_matrix:
- dpdk22.03:
- # custom for vpp_device
- ice: "1.14.13"
- ddp: "1.3.45.0"
- iavf: "4.11.3"
- nvm: "4.40"
dpdk22.07:
# https://doc.dpdk.org/guides/rel_notes/release_22_07.html
ice: "1.9.7"
@@ -83,6 +77,12 @@ intel_800_compatibility_matrix:
ddp: "1.3.45.0"
iavf: "4.9.5"
nvm: "4.40"
+ dpdk24.07:
+ # https://doc.dpdk.org/guides/rel_notes/release_24_07.html
+ ice: "1.14.11"
+ ddp: "1.3.46.0"
+ iavf: "4.9.5"
+ nvm: "4.50"
intel_dsa_compatibility_matrix:
dsa: "4.0"
@@ -94,15 +94,14 @@ intel_qat_compatibility_matrix:
intel_i40e_url:
"2.19.3": "i40e%20stable/2.19.3/i40e-2.19.3.tar.gz/download"
"2.23.17": "i40e%20stable/2.23.17/i40e-2.23.17.tar.gz/download"
- "2.25.11": "i40e%20stable/2.25.11/i40e-2.25.11.tar.gz/download"
+ "2.25.9": "i40e%20stable/2.25.9/i40e-2.25.9.tar.gz/download"
intel_ice_url:
"1.9.7": "ice%20stable/1.9.7/ice-1.9.7.tar.gz/download"
"1.13.7": "ice%20stable/1.13.7/ice-1.13.7.tar.gz/download"
- "1.14.13": "ice%20stable/1.14.13/ice-1.14.13.tar.gz/download"
+ "1.14.11": "ice%20stable/1.14.11/ice-1.14.11.tar.gz/download"
intel_iavf_url:
- "4.3.19": "iavf%20stable/4.3.19/iavf-4.3.19.tar.gz/download"
"4.5.3": "iavf%20stable/4.5.3/iavf-4.5.3.tar.gz/download"
"4.9.5": "iavf%20stable/4.9.5/iavf-4.9.5.tar.gz/download"
"4.11.3": "iavf%20stable/4.11.3/iavf-4.11.3.tar.gz/download"
diff --git a/fdio.infra.ansible/roles/iperf/defaults/main.yaml b/fdio.infra.ansible/roles/iperf/defaults/main.yaml
deleted file mode 100644
index f757b287b7..0000000000
--- a/fdio.infra.ansible/roles/iperf/defaults/main.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-# file: roles/iperf/defaults/main.yaml
-
-packages: "{{ packages_base + packages_by_distro[ansible_distribution|lower][ansible_distribution_release] + packages_by_arch[ansible_machine] }}"
-
-packages_base:
- - []
-
-packages_by_distro:
- ubuntu:
- jammy:
- - "build-essential"
- #- "lib32z1"
-
-packages_by_arch:
- aarch64:
- - []
- x86_64:
- - []
-
-iperf_target_dir: "/opt"
-iperf_version:
- - "3.7"
diff --git a/fdio.infra.ansible/roles/iperf/tasks/main.yaml b/fdio.infra.ansible/roles/iperf/tasks/main.yaml
deleted file mode 100644
index 6184ba25f1..0000000000
--- a/fdio.infra.ansible/roles/iperf/tasks/main.yaml
+++ /dev/null
@@ -1,62 +0,0 @@
----
-# file: roles/iperf/tasks/main.yaml
-
-- name: Inst - Update Package Cache (APT)
- ansible.builtin.apt:
- update_cache: true
- cache_valid_time: 3600
- when:
- - ansible_distribution|lower == 'ubuntu'
- tags:
- - iperf-inst-prerequisites
-
-- name: Inst - Prerequisites
- ansible.builtin.package:
- name: "{{ packages | flatten(levels=1) }}"
- state: latest
- tags:
- - iperf-inst-prerequisites
-
-- name: Get Release Archive
- ansible.builtin.get_url:
- url: "https://downloads.es.net/pub/iperf/iperf-{{ item }}.tar.gz"
- dest: "{{ iperf_target_dir }}/iperf-{{ item }}.tar.gz"
- validate_certs: false
- mode: 0644
- loop: "{{ iperf_version }}"
- tags:
- - iperf-inst
-
-- name: Extract Release Archive
- ansible.builtin.unarchive:
- remote_src: true
- src: "{{ iperf_target_dir }}/iperf-{{ item }}.tar.gz"
- dest: "{{ iperf_target_dir }}/"
- creates: "{{ iperf_target_dir }}/iperf-{{ item }}/src"
- loop: "{{ iperf_version }}"
- tags:
- - iperf-inst
-
-- name: Compile Release I
- ansible.builtin.command: "./configure"
- args:
- chdir: "{{ iperf_target_dir }}/iperf-{{ item }}/"
- loop: "{{ iperf_version }}"
- tags:
- - iperf-inst
-
-- name: Compile Release II
- ansible.builtin.command: "make"
- args:
- chdir: "{{ iperf_target_dir }}/iperf-{{ item }}/"
- loop: "{{ iperf_version }}"
- tags:
- - iperf-inst
-
-- name: Compile Release III
- ansible.builtin.command: "make install"
- args:
- chdir: "{{ iperf_target_dir }}/iperf-{{ item }}/"
- loop: "{{ iperf_version }}"
- tags:
- - iperf-inst
diff --git a/fdio.infra.ansible/roles/kernel/defaults/main.yaml b/fdio.infra.ansible/roles/kernel/defaults/main.yaml
index ef628c93f5..6581eaf1b2 100644
--- a/fdio.infra.ansible/roles/kernel/defaults/main.yaml
+++ b/fdio.infra.ansible/roles/kernel/defaults/main.yaml
@@ -1,5 +1,5 @@
---
-# file: roles/kernel/defaults/main.yaml
+# file: defaults/main.yaml
# Kernel version to install (Default to any version).
kernel_version: "{{ kernel_version_by_distro[ansible_distribution|lower][ansible_distribution_release] | join(' ') }}"
@@ -8,24 +8,24 @@ kernel_version_by_distro:
ubuntu:
jammy:
- "5.15.0-46"
+ noble:
+ - "6.8.0-45"
-kernel_packages: "{{ kernel_packages_by_distro[ansible_distribution|lower][ansible_distribution_release] | flatten(levels=1) }}"
+kernel_packages: "{{ kernel_packages_by_distro[ansible_distribution|lower] | flatten(levels=1) }}"
kernel_packages_by_distro:
ubuntu:
- jammy:
- - "linux-image"
- - "linux-headers"
- - "linux-modules"
- - "linux-modules-extra"
- - "linux-tools"
+ - "linux-image"
+ - "linux-headers"
+ - "linux-modules"
+ - "linux-modules-extra"
+ - "linux-tools"
# Packages to remove in relation to kernel upgrade.
-absent_packages: "{{ absent_packages_by_distro[ansible_distribution|lower][ansible_distribution_release] | flatten(levels=1) }}"
+absent_packages: "{{ absent_packages_by_distro[ansible_distribution|lower] | flatten(levels=1) }}"
absent_packages_by_distro:
ubuntu:
- jammy:
- - "amd64-microcode"
- - "intel-microcode"
- - "iucode-tool"
+ - "amd64-microcode"
+ - "intel-microcode"
+ - "iucode-tool" \ No newline at end of file
diff --git a/fdio.infra.ansible/roles/kernel/handlers/main.yaml b/fdio.infra.ansible/roles/kernel/handlers/main.yaml
index d0be276a5b..3f47ee457e 100644
--- a/fdio.infra.ansible/roles/kernel/handlers/main.yaml
+++ b/fdio.infra.ansible/roles/kernel/handlers/main.yaml
@@ -1,7 +1,7 @@
---
-# file roles/kernel/handlers/main.yaml
+# file handlers/main.yaml
-- name: Reboot Server
+- name: "Reboot Server"
ansible.builtin.reboot:
reboot_timeout: 3600
tags:
diff --git a/fdio.infra.ansible/roles/kernel/tasks/main.yaml b/fdio.infra.ansible/roles/kernel/tasks/main.yaml
index 431e344fb8..ec42ea1e6e 100644
--- a/fdio.infra.ansible/roles/kernel/tasks/main.yaml
+++ b/fdio.infra.ansible/roles/kernel/tasks/main.yaml
@@ -1,7 +1,7 @@
---
-# file: roles/kernel/tasks/main.yaml
+# file: tasks/main.yaml
-- name: Inst - Prerequisites
+- name: "Prerequisites"
include_tasks: "{{ ansible_distribution|lower }}_{{ ansible_distribution_release }}.yaml"
tags:
- kernel-inst-prerequisites
diff --git a/fdio.infra.ansible/roles/kernel/tasks/ubuntu_jammy.yaml b/fdio.infra.ansible/roles/kernel/tasks/ubuntu_jammy.yaml
index af987d4e5a..430050d79f 100644
--- a/fdio.infra.ansible/roles/kernel/tasks/ubuntu_jammy.yaml
+++ b/fdio.infra.ansible/roles/kernel/tasks/ubuntu_jammy.yaml
@@ -1,5 +1,5 @@
---
-# file: roles/kernel/tasks/ubuntu_jammy.yaml
+# file: tasks/ubuntu_jammy.yaml
- name: Get Available Kernel Versions
ansible.builtin.command: "apt-cache showpkg linux-headers-*"
diff --git a/fdio.infra.ansible/roles/kernel/tasks/ubuntu_noble.yaml b/fdio.infra.ansible/roles/kernel/tasks/ubuntu_noble.yaml
new file mode 100644
index 0000000000..1702ecc07d
--- /dev/null
+++ b/fdio.infra.ansible/roles/kernel/tasks/ubuntu_noble.yaml
@@ -0,0 +1,62 @@
+---
+# file: tasks/ubuntu_noble.yaml
+
+- name: "Get Available Kernel Versions"
+ ansible.builtin.command: "apt-cache showpkg linux-headers-*"
+ changed_when: false
+ register: apt_kernel_list
+ tags:
+ - kernel-inst
+
+- name: "Get installed packages with APT"
+ ansible.builtin.command: "dpkg -l"
+ changed_when: false
+ register: apt_packages_list
+ tags:
+ - kernel-inst
+
+- name: "Set target APT kernel version"
+ ansible.builtin.set_fact:
+ _kernel: "{{ apt_kernel_list | deb_kernel(
+ kernel_version, ansible_kernel) }}"
+ tags:
+ - kernel-inst
+
+- name: "Disable APT auto upgrade"
+ ansible.builtin.lineinfile:
+ path: "/etc/apt/apt.conf.d/20auto-upgrades"
+ state: "present"
+ regexp: "APT::Periodic::Unattended-Upgrade \"[0-9]\";"
+ line: "APT::Periodic::Unattended-Upgrade \"0\";"
+ create: true
+ mode: 0644
+ tags:
+ - kernel-inst
+
+- name: "Ensure Packages Versions"
+ ansible.builtin.apt:
+ name: "{{ apt_kernel_list | deb_kernel_pkg(
+ kernel_version, ansible_kernel, ansible_distribution,
+ ansible_architecture, item) }}"
+ loop: "{{ kernel_packages }}"
+ tags:
+ - kernel-inst
+
+- name: "Ensure Any Other Kernel Packages Are Removed"
+ ansible.builtin.apt:
+ name: "{{ apt_packages_list | deb_installed_kernel(
+ apt_kernel_list, kernel_version, ansible_kernel) }}"
+ state: "absent"
+ purge: true
+ notify:
+ - "Reboot Server"
+ tags:
+ - kernel-inst
+
+- name: "Ensure Any Microcode Is Absent"
+ ansible.builtin.apt:
+ name: "{{ absent_packages }}"
+ state: "absent"
+ purge: true
+ tags:
+ - kernel-inst
diff --git a/fdio.infra.ansible/roles/mellanox/defaults/main.yaml b/fdio.infra.ansible/roles/mellanox/defaults/main.yaml
index fae5551c22..7e6e6e70d4 100644
--- a/fdio.infra.ansible/roles/mellanox/defaults/main.yaml
+++ b/fdio.infra.ansible/roles/mellanox/defaults/main.yaml
@@ -25,6 +25,6 @@ mellanox_compatibility_matrix:
dpdk22.07:
# https://doc.dpdk.org/guides/rel_notes/release_22_07.html
ofed: "5.9-0.5.6.0"
- dpdk23.11:
- # https://doc.dpdk.org/guides/rel_notes/release_23_11.html
+ dpdk24.07:
+ # https://doc.dpdk.org/guides/rel_notes/release_24_07.html
ofed: "24.04-0.7.0.0"
diff --git a/fdio.infra.ansible/roles/performance_tuning/defaults/main.yaml b/fdio.infra.ansible/roles/performance_tuning/defaults/main.yaml
index 5a732e5539..c9074a3d3b 100644
--- a/fdio.infra.ansible/roles/performance_tuning/defaults/main.yaml
+++ b/fdio.infra.ansible/roles/performance_tuning/defaults/main.yaml
@@ -1,15 +1,14 @@
---
-# file: roles/performance_tuning/defaults/main.yaml
+# file: defaults/main.yaml
-packages: "{{ packages_base + packages_by_distro[ansible_distribution|lower][ansible_distribution_release] + packages_by_arch[ansible_machine] }}"
+packages: "{{ packages_base + packages_by_distro[ansible_distribution|lower] + packages_by_arch[ansible_machine] }}"
packages_base:
- "cpufrequtils"
packages_by_distro:
ubuntu:
- jammy:
- - []
+ - []
packages_by_arch:
aarch64:
diff --git a/fdio.infra.ansible/roles/performance_tuning/handlers/main.yaml b/fdio.infra.ansible/roles/performance_tuning/handlers/main.yaml
index 5a48fc37b4..d92ca0ed41 100644
--- a/fdio.infra.ansible/roles/performance_tuning/handlers/main.yaml
+++ b/fdio.infra.ansible/roles/performance_tuning/handlers/main.yaml
@@ -1,12 +1,12 @@
---
# file handlers/main.yaml
-- name: Update GRUB
+- name: "Update GRUB"
ansible.builtin.command: update-grub
tags:
- update-grub
-- name: Reboot Server
+- name: "Reboot Server"
ansible.builtin.reboot:
reboot_timeout: 3600
tags:
diff --git a/fdio.infra.ansible/roles/performance_tuning/tasks/main.yaml b/fdio.infra.ansible/roles/performance_tuning/tasks/main.yaml
index cc904e23e9..1800a6111a 100644
--- a/fdio.infra.ansible/roles/performance_tuning/tasks/main.yaml
+++ b/fdio.infra.ansible/roles/performance_tuning/tasks/main.yaml
@@ -1,7 +1,7 @@
---
-# file: roles/performance_tuning/tasks/main.yaml
+# file: tasks/main.yaml
-- name: Inst - Update Package Cache (APT)
+- name: "Update Package Cache (APT)"
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
@@ -10,24 +10,23 @@
tags:
- perf-inst-prerequisites
-- name: Inst - Machine Prerequisites
+- name: "Machine Prerequisites"
ansible.builtin.package:
name: "{{ packages | flatten(levels=1) }}"
- state: latest
+ state: "latest"
tags:
- perf-inst-prerequisites
-- name: Conf - Turbo Boost
- import_tasks: turbo_boost.yaml
+- name: "Turbo Boost"
+ import_tasks: "turbo_boost.yaml"
when: >
- cpu_microarchitecture == "skylake" or
- cpu_microarchitecture == "cascadelake" or
cpu_microarchitecture == "icelake" or
- cpu_microarchitecture == "sapphirerapids"
+ cpu_microarchitecture == "sapphirerapids" or
+ cpu_microarchitecture == "emeraldrapids"
tags:
- perf-conf-turbo-boost
-- name: Conf - Adjust max_map_count
+- name: "Adjust max_map_count"
# this file contains the maximum number of memory map areas a process
# may have. memory map areas are used as a side-effect of calling
# malloc, directly by mmap and mprotect, and also when loading shared
@@ -46,7 +45,7 @@
tags:
- perf-conf-sysctl
-- name: Conf - Adjust hugetlb_shm_group
+- name: "Adjust hugetlb_shm_group"
# hugetlb_shm_group contains group id that is allowed to create sysv
# shared memory segment using hugetlb page.
ansible.builtin.sysctl:
@@ -58,7 +57,7 @@
tags:
- perf-conf-sysctl
-- name: Conf - Adjust swappiness
+- name: "Adjust swappiness"
# this control is used to define how aggressive the kernel will swap
# memory pages. higher values will increase agressiveness, lower values
# decrease the amount of swap. a value of 0 instructs the kernel not to
@@ -73,7 +72,7 @@
tags:
- perf-conf-sysctl
-- name: Conf - Adjust shmmax
+- name: "Adjust shmmax"
# shared memory max must be greator or equal to the total size of hugepages.
# for 2mb pages, totalhugepagesize = vm.nr_hugepages * 2 * 1024 * 1024
# if the existing kernel.shmmax setting (cat /sys/proc/kernel/shmmax)
@@ -88,7 +87,7 @@
tags:
- perf-conf-sysctl
-- name: Conf - Adjust watchdog_cpumask
+- name: "Adjust watchdog_cpumask"
# this value can be used to control on which cpus the watchdog may run.
# the default cpumask is all possible cores, but if no_hz_full is
# enabled in the kernel config, and cores are specified with the
@@ -108,7 +107,7 @@
tags:
- perf-conf-sysctl
-- name: Conf - Adjust randomize_va_space
+- name: "Adjust randomize_va_space"
# this option can be used to select the type of process address
# space randomization that is used in the system, for architectures
# that support this feature.
@@ -124,7 +123,7 @@
tags:
- perf-conf-sysctl
-- name: Conf - Cpufrequtils
+- name: "Cpufrequtils"
ansible.builtin.copy:
src: "files/cpufrequtils"
dest: "/etc/default/cpufrequtils"
@@ -134,7 +133,7 @@
tags:
- perf-conf-cpufrequtils
-- name: Conf - Irqbalance
+- name: "Irqbalance"
ansible.builtin.template:
src: "files/irqbalance"
dest: "/etc/default/irqbalance"
@@ -144,7 +143,7 @@
tags:
- perf-conf-irqbalance
-- name: Conf - Kernel Parameters
+- name: "Kernel Parameters"
ansible.builtin.lineinfile:
path: "/etc/default/grub"
state: "present"
@@ -157,7 +156,7 @@
- meta: flush_handlers
-- name: Conf - Load Kernel Modules By Default
+- name: "Load Kernel Modules By Default"
ansible.builtin.lineinfile:
path: "/etc/modules"
state: "present"
@@ -169,7 +168,7 @@
tags:
- perf-conf-load-kernel-modules
-- name: Conf - Create a directory for 1G HugeTLBs hugepages
+- name: "Create a directory for 1G HugeTLBs hugepages"
ansible.builtin.file:
path: "/dev/hugepages1G"
state: "directory"
@@ -177,7 +176,7 @@
tags:
- perf-conf-hugepages-1g
-- name: Conf - Mount 1G HugeTLBs hugepages
+- name: "Mount 1G HugeTLBs hugepages"
ansible.builtin.mount:
path: "/dev/hugepages1G"
src: "hugetlbfs"
@@ -188,7 +187,7 @@
tags:
- perf-conf-hugepages-1g
-- name: Create a directory if it does not exist
+- name: "Create a directory if it does not exist"
ansible.builtin.file:
path: "/dev/hugepages2M"
state: "directory"
@@ -196,7 +195,7 @@
tags:
- perf-conf-hugepages-2m
-- name: Conf - Create a directory for 2M HugeTLBs hugepages
+- name: "Create a directory for 2M HugeTLBs hugepages"
ansible.builtin.mount:
path: "/dev/hugepages2M"
src: "hugetlbfs"
diff --git a/fdio.infra.ansible/roles/performance_tuning/tasks/turbo_boost.yaml b/fdio.infra.ansible/roles/performance_tuning/tasks/turbo_boost.yaml
index cff71e9ce3..d7cfe0e602 100644
--- a/fdio.infra.ansible/roles/performance_tuning/tasks/turbo_boost.yaml
+++ b/fdio.infra.ansible/roles/performance_tuning/tasks/turbo_boost.yaml
@@ -1,7 +1,7 @@
---
-# file: roles/performance_tuning/tasks/turbo_boost.yaml
+# file: tasks/turbo_boost.yaml
-- name: Inst - Update Package Cache (APT)
+- name: "Update Package Cache (APT)"
apt:
update_cache: true
cache_valid_time: 3600
@@ -10,15 +10,15 @@
tags:
- turbo-inst-prerequisites
-- name: Inst - msr-tools
+- name: "msr-tools"
package:
name:
- "msr-tools"
- state: latest
+ state: "latest"
tags:
- turbo-inst-prerequisites
-- name: Conf - Load msr By Default
+- name: "Load msr By Default"
lineinfile:
path: "/etc/modules"
state: "present"
@@ -26,7 +26,7 @@
tags:
- turbo-conf-msr
-- name: Conf - Custom Startup Service Hook
+- name: "Custom Startup Service Hook"
copy:
src: "files/disable-turbo-boost.service"
dest: "/etc/systemd/system/disable-turbo-boost.service"
@@ -36,7 +36,7 @@
tags:
- turbo-conf-msr
-- name: Conf - Custom Startup Service Hook Enable
+- name: "Custom Startup Service Hook Enable"
service:
name: "disable-turbo-boost"
enabled: true
diff --git a/fdio.infra.ansible/roles/python_env/defaults/main.yaml b/fdio.infra.ansible/roles/python_env/defaults/main.yaml
index 4b572c0dd0..5c039d2e56 100644
--- a/fdio.infra.ansible/roles/python_env/defaults/main.yaml
+++ b/fdio.infra.ansible/roles/python_env/defaults/main.yaml
@@ -1,22 +1,21 @@
---
# file: defaults/main.yaml
-packages: "{{ packages_base + packages_by_distro[ansible_distribution|lower][ansible_distribution_release] + packages_by_arch[ansible_machine] }}"
+packages: "{{ packages_base + packages_by_distro[ansible_distribution|lower] + packages_by_arch[ansible_machine] }}"
packages_base:
- "virtualenv"
packages_by_distro:
ubuntu:
- jammy:
- - "python3-all"
- - "python3-apt"
- - "python3-cffi"
- - "python3-cffi-backend"
- - "python3-dev"
- - "python3-pip"
- - "python3-pyelftools"
- - "python3-setuptools"
+ - "python3-all"
+ - "python3-apt"
+ - "python3-cffi"
+ - "python3-cffi-backend"
+ - "python3-dev"
+ - "python3-pip"
+ - "python3-pyelftools"
+ - "python3-setuptools"
packages_by_arch:
aarch64:
diff --git a/fdio.infra.ansible/roles/python_env/tasks/main.yaml b/fdio.infra.ansible/roles/python_env/tasks/main.yaml
index 29d9b963ca..fc4d30d044 100644
--- a/fdio.infra.ansible/roles/python_env/tasks/main.yaml
+++ b/fdio.infra.ansible/roles/python_env/tasks/main.yaml
@@ -1,23 +1,23 @@
---
# file: tasks/main.yaml
-- name: Inst - Update package cache (apt)
+- name: "Update package cache (apt)"
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
when:
- ansible_distribution|lower == 'ubuntu'
tags:
- - common-inst-prerequisites
+ - pip-inst-prerequisites
-- name: Inst - Prerequisites
+- name: "Prerequisites"
ansible.builtin.package:
name: "{{ packages | flatten(levels=1) }}"
- state: latest
+ state: "latest"
tags:
- - common-inst-prerequisites
+ - pip-inst-prerequisites
-- name: Inst - CSIT PIP requirements
+- name: "CSIT PIP requirements"
ansible.builtin.pip:
name:
- "ecdsa==0.19.0"
@@ -68,4 +68,4 @@
environment:
ANSIBLE_SKIP_CONFLICT_CHECK: 1
tags:
- - common-inst-pip
+ - pip-inst-pip
diff --git a/fdio.infra.ansible/roles/trex/defaults/main.yaml b/fdio.infra.ansible/roles/trex/defaults/main.yaml
deleted file mode 100644
index 18a2b56bda..0000000000
--- a/fdio.infra.ansible/roles/trex/defaults/main.yaml
+++ /dev/null
@@ -1,33 +0,0 @@
----
-# file: defaults/main.yaml
-
-packages: "{{ packages_base + packages_by_distro[ansible_distribution|lower] + packages_by_arch[ansible_machine] }}"
-
-packages_base:
- - []
-
-packages_by_distro:
- ubuntu:
- - "build-essential"
- - "gcc-9"
- - "g++-9"
- - "libmnl-dev"
- - "libnuma-dev"
- - "libpcap-dev"
- - "librdmacm-dev"
- - "librdmacm1"
- - "libssl-dev"
- - "pciutils"
- - "python3-pip"
- - "zlib1g-dev"
-
-packages_by_arch:
- aarch64:
- - []
- x86_64:
- - []
-
-trex_target_dir: "/opt"
-trex_url: "https://github.com/cisco-system-traffic-generator/trex-core/archive/"
-trex_version:
- - "3.03"
diff --git a/fdio.infra.ansible/roles/trex/files/t-rex.patch b/fdio.infra.ansible/roles/trex/files/t-rex.patch
deleted file mode 100644
index e7db647779..0000000000
--- a/fdio.infra.ansible/roles/trex/files/t-rex.patch
+++ /dev/null
@@ -1,548 +0,0 @@
-diff --git a/linux_dpdk/ws_main.py b/linux_dpdk/ws_main.py
-index e8d0cd51..a0c01adb 100755
---- a/linux_dpdk/ws_main.py
-+++ b/linux_dpdk/ws_main.py
-@@ -209,7 +209,7 @@ def check_ofed(ctx):
-
- ofed_ver= 42
- ofed_ver_show= '4.2'
--
-+ return True
- if not os.path.isfile(ofed_info):
- ctx.end_msg('not found', 'YELLOW')
- return False
-@@ -1552,8 +1552,6 @@ class build_option:
- flags += ['-DNDEBUG'];
- else:
- flags += ['-UNDEBUG'];
-- if bld.env.OFED_OK:
-- flags += ['-DHAVE_IBV_MLX4_WQE_LSO_SEG=1']
- return (flags)
-
- def get_bnxt_flags(self):
-diff --git a/src/dpdk/drivers/net/mlx4/mlx4_autoconf.h b/src/dpdk/drivers/net/mlx4/mlx4_autoconf.h
-index b3d68683..35474409 100644
---- a/src/dpdk/drivers/net/mlx4/mlx4_autoconf.h
-+++ b/src/dpdk/drivers/net/mlx4/mlx4_autoconf.h
-@@ -1,3 +1,6 @@
--#ifndef HAVE_IBV_MLX4_WQE_LSO_SEG
--#define HAVE_IBV_MLX4_WQE_LSO_SEG
--#endif
-+/* HAVE_IBV_MLX4_BUF_ALLOCATORS is not defined. */
-+
-+/* HAVE_IBV_MLX4_UAR_MMAP_OFFSET is not defined. */
-+
-+/* HAVE_IBV_MLX4_WQE_LSO_SEG is not defined. */
-+
-diff --git a/src/dpdk/drivers/net/mlx5/mlx5_autoconf.h b/src/dpdk/drivers/net/mlx5/mlx5_autoconf.h
-index 8770fdde..75db5ae8 100644
---- a/src/dpdk/drivers/net/mlx5/mlx5_autoconf.h
-+++ b/src/dpdk/drivers/net/mlx5/mlx5_autoconf.h
-@@ -1,54 +1,362 @@
--#ifndef HAVE_IBV_DEVICE_COUNTERS_SET_SUPPORT
--#define HAVE_IBV_DEVICE_COUNTERS_SET_SUPPORT
--#endif
-+/* HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT is not defined. */
-
--#ifndef HAVE_IBV_FLOW_DV_SUPPORT
--#define HAVE_IBV_FLOW_DV_SUPPORT
--#endif
-+#ifndef HAVE_IBV_DEVICE_TUNNEL_SUPPORT
-+#define HAVE_IBV_DEVICE_TUNNEL_SUPPORT 1
-+#endif /* HAVE_IBV_DEVICE_TUNNEL_SUPPORT */
-
--#ifndef HAVE_IBV_DEVICE_COUNTERS_SET_V45
--#define HAVE_IBV_DEVICE_COUNTERS_SET_V45
--#endif
-+/* HAVE_IBV_DEVICE_MPLS_SUPPORT is not defined. */
-
--#ifndef HAVE_IBV_FLOW_DEVX_COUNTERS
--#define HAVE_IBV_FLOW_DEVX_COUNTERS
--#endif
-+#ifndef HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING
-+#define HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING 1
-+#endif /* HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING */
-
--#ifndef HAVE_IBV_MLX4_WQE_LSO_SEG
--#define HAVE_IBV_MLX4_WQE_LSO_SEG
--#endif
-+/* HAVE_IBV_WQ_FLAG_RX_END_PADDING is not defined. */
-
-+#ifndef HAVE_IBV_MLX5_MOD_SWP
-+#define HAVE_IBV_MLX5_MOD_SWP 1
-+#endif /* HAVE_IBV_MLX5_MOD_SWP */
-
--#ifdef SUPPORTED_40000baseKR4_Full
-+#ifndef HAVE_IBV_MLX5_MOD_MPW
-+#define HAVE_IBV_MLX5_MOD_MPW 1
-+#endif /* HAVE_IBV_MLX5_MOD_MPW */
-+
-+#ifndef HAVE_IBV_MLX5_MOD_CQE_128B_COMP
-+#define HAVE_IBV_MLX5_MOD_CQE_128B_COMP 1
-+#endif /* HAVE_IBV_MLX5_MOD_CQE_128B_COMP */
-+
-+#ifndef HAVE_IBV_MLX5_MOD_CQE_128B_PAD
-+#define HAVE_IBV_MLX5_MOD_CQE_128B_PAD 1
-+#endif /* HAVE_IBV_MLX5_MOD_CQE_128B_PAD */
-+
-+/* HAVE_IBV_FLOW_DV_SUPPORT is not defined. */
-+
-+/* HAVE_MLX5DV_DR is not defined. */
-+
-+/* HAVE_MLX5DV_DR_ESWITCH is not defined. */
-+
-+/* HAVE_IBV_DEVX_OBJ is not defined. */
-+
-+/* HAVE_IBV_FLOW_DEVX_COUNTERS is not defined. */
-+
-+#ifndef HAVE_ETHTOOL_LINK_MODE_25G
-+#define HAVE_ETHTOOL_LINK_MODE_25G 1
-+#endif /* HAVE_ETHTOOL_LINK_MODE_25G */
-+
-+#ifndef HAVE_ETHTOOL_LINK_MODE_50G
-+#define HAVE_ETHTOOL_LINK_MODE_50G 1
-+#endif /* HAVE_ETHTOOL_LINK_MODE_50G */
-+
-+#ifndef HAVE_ETHTOOL_LINK_MODE_100G
-+#define HAVE_ETHTOOL_LINK_MODE_100G 1
-+#endif /* HAVE_ETHTOOL_LINK_MODE_100G */
-+
-+/* HAVE_IBV_DEVICE_COUNTERS_SET_V42 is not defined. */
-+
-+/* HAVE_IBV_DEVICE_COUNTERS_SET_V45 is not defined. */
-+
-+#ifndef HAVE_RDMA_NL_NLDEV
-+#define HAVE_RDMA_NL_NLDEV 1
-+#endif /* HAVE_RDMA_NL_NLDEV */
-+
-+#ifndef HAVE_RDMA_NLDEV_CMD_GET
-+#define HAVE_RDMA_NLDEV_CMD_GET 1
-+#endif /* HAVE_RDMA_NLDEV_CMD_GET */
-+
-+#ifndef HAVE_RDMA_NLDEV_CMD_PORT_GET
-+#define HAVE_RDMA_NLDEV_CMD_PORT_GET 1
-+#endif /* HAVE_RDMA_NLDEV_CMD_PORT_GET */
-+
-+#ifndef HAVE_RDMA_NLDEV_ATTR_DEV_INDEX
-+#define HAVE_RDMA_NLDEV_ATTR_DEV_INDEX 1
-+#endif /* HAVE_RDMA_NLDEV_ATTR_DEV_INDEX */
-+
-+#ifndef HAVE_RDMA_NLDEV_ATTR_DEV_NAME
-+#define HAVE_RDMA_NLDEV_ATTR_DEV_NAME 1
-+#endif /* HAVE_RDMA_NLDEV_ATTR_DEV_NAME */
-+
-+#ifndef HAVE_RDMA_NLDEV_ATTR_PORT_INDEX
-+#define HAVE_RDMA_NLDEV_ATTR_PORT_INDEX 1
-+#endif /* HAVE_RDMA_NLDEV_ATTR_PORT_INDEX */
-+
-+/* HAVE_RDMA_NLDEV_ATTR_NDEV_INDEX is not defined. */
-+
-+#ifndef HAVE_IFLA_NUM_VF
-+#define HAVE_IFLA_NUM_VF 1
-+#endif /* HAVE_IFLA_NUM_VF */
-+
-+#ifndef HAVE_IFLA_EXT_MASK
-+#define HAVE_IFLA_EXT_MASK 1
-+#endif /* HAVE_IFLA_EXT_MASK */
-+
-+#ifndef HAVE_IFLA_PHYS_SWITCH_ID
-+#define HAVE_IFLA_PHYS_SWITCH_ID 1
-+#endif /* HAVE_IFLA_PHYS_SWITCH_ID */
-+
-+#ifndef HAVE_IFLA_PHYS_PORT_NAME
-+#define HAVE_IFLA_PHYS_PORT_NAME 1
-+#endif /* HAVE_IFLA_PHYS_PORT_NAME */
-+
-+#ifndef HAVE_IFLA_VXLAN_COLLECT_METADATA
-+#define HAVE_IFLA_VXLAN_COLLECT_METADATA 1
-+#endif /* HAVE_IFLA_VXLAN_COLLECT_METADATA */
-+
-+#ifndef HAVE_TCA_CHAIN
-+#define HAVE_TCA_CHAIN 1
-+#endif /* HAVE_TCA_CHAIN */
-+
-+#ifndef HAVE_TCA_FLOWER_ACT
-+#define HAVE_TCA_FLOWER_ACT 1
-+#endif /* HAVE_TCA_FLOWER_ACT */
-+
-+#ifndef HAVE_TCA_FLOWER_FLAGS
-+#define HAVE_TCA_FLOWER_FLAGS 1
-+#endif /* HAVE_TCA_FLOWER_FLAGS */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ETH_TYPE
-+#define HAVE_TCA_FLOWER_KEY_ETH_TYPE 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ETH_TYPE */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ETH_DST
-+#define HAVE_TCA_FLOWER_KEY_ETH_DST 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ETH_DST */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ETH_DST_MASK
-+#define HAVE_TCA_FLOWER_KEY_ETH_DST_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ETH_DST_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ETH_SRC
-+#define HAVE_TCA_FLOWER_KEY_ETH_SRC 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ETH_SRC */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ETH_SRC_MASK
-+#define HAVE_TCA_FLOWER_KEY_ETH_SRC_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ETH_SRC_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_IP_PROTO
-+#define HAVE_TCA_FLOWER_KEY_IP_PROTO 1
-+#endif /* HAVE_TCA_FLOWER_KEY_IP_PROTO */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_IPV4_SRC
-+#define HAVE_TCA_FLOWER_KEY_IPV4_SRC 1
-+#endif /* HAVE_TCA_FLOWER_KEY_IPV4_SRC */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_IPV4_SRC_MASK
-+#define HAVE_TCA_FLOWER_KEY_IPV4_SRC_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_IPV4_SRC_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_IPV4_DST
-+#define HAVE_TCA_FLOWER_KEY_IPV4_DST 1
-+#endif /* HAVE_TCA_FLOWER_KEY_IPV4_DST */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_IPV4_DST_MASK
-+#define HAVE_TCA_FLOWER_KEY_IPV4_DST_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_IPV4_DST_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_IPV6_SRC
-+#define HAVE_TCA_FLOWER_KEY_IPV6_SRC 1
-+#endif /* HAVE_TCA_FLOWER_KEY_IPV6_SRC */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_IPV6_SRC_MASK
-+#define HAVE_TCA_FLOWER_KEY_IPV6_SRC_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_IPV6_SRC_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_IPV6_DST
-+#define HAVE_TCA_FLOWER_KEY_IPV6_DST 1
-+#endif /* HAVE_TCA_FLOWER_KEY_IPV6_DST */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_IPV6_DST_MASK
-+#define HAVE_TCA_FLOWER_KEY_IPV6_DST_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_IPV6_DST_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_TCP_SRC
-+#define HAVE_TCA_FLOWER_KEY_TCP_SRC 1
-+#endif /* HAVE_TCA_FLOWER_KEY_TCP_SRC */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_TCP_SRC_MASK
-+#define HAVE_TCA_FLOWER_KEY_TCP_SRC_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_TCP_SRC_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_TCP_DST
-+#define HAVE_TCA_FLOWER_KEY_TCP_DST 1
-+#endif /* HAVE_TCA_FLOWER_KEY_TCP_DST */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_TCP_DST_MASK
-+#define HAVE_TCA_FLOWER_KEY_TCP_DST_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_TCP_DST_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_UDP_SRC
-+#define HAVE_TCA_FLOWER_KEY_UDP_SRC 1
-+#endif /* HAVE_TCA_FLOWER_KEY_UDP_SRC */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_UDP_SRC_MASK
-+#define HAVE_TCA_FLOWER_KEY_UDP_SRC_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_UDP_SRC_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_UDP_DST
-+#define HAVE_TCA_FLOWER_KEY_UDP_DST 1
-+#endif /* HAVE_TCA_FLOWER_KEY_UDP_DST */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_UDP_DST_MASK
-+#define HAVE_TCA_FLOWER_KEY_UDP_DST_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_UDP_DST_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_VLAN_ID
-+#define HAVE_TCA_FLOWER_KEY_VLAN_ID 1
-+#endif /* HAVE_TCA_FLOWER_KEY_VLAN_ID */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_VLAN_PRIO
-+#define HAVE_TCA_FLOWER_KEY_VLAN_PRIO 1
-+#endif /* HAVE_TCA_FLOWER_KEY_VLAN_PRIO */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_VLAN_ETH_TYPE
-+#define HAVE_TCA_FLOWER_KEY_VLAN_ETH_TYPE 1
-+#endif /* HAVE_TCA_FLOWER_KEY_VLAN_ETH_TYPE */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_TCP_FLAGS
-+#define HAVE_TCA_FLOWER_KEY_TCP_FLAGS 1
-+#endif /* HAVE_TCA_FLOWER_KEY_TCP_FLAGS */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_TCP_FLAGS_MASK
-+#define HAVE_TCA_FLOWER_KEY_TCP_FLAGS_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_TCP_FLAGS_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_IP_TOS
-+#define HAVE_TCA_FLOWER_KEY_IP_TOS 1
-+#endif /* HAVE_TCA_FLOWER_KEY_IP_TOS */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_IP_TOS_MASK
-+#define HAVE_TCA_FLOWER_KEY_IP_TOS_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_IP_TOS_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_IP_TTL
-+#define HAVE_TCA_FLOWER_KEY_IP_TTL 1
-+#endif /* HAVE_TCA_FLOWER_KEY_IP_TTL */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_IP_TTL_MASK
-+#define HAVE_TCA_FLOWER_KEY_IP_TTL_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_IP_TTL_MASK */
-+
-+#ifndef HAVE_TC_ACT_GOTO_CHAIN
-+#define HAVE_TC_ACT_GOTO_CHAIN 1
-+#endif /* HAVE_TC_ACT_GOTO_CHAIN */
-+
-+#ifndef HAVE_TC_ACT_VLAN
-+#define HAVE_TC_ACT_VLAN 1
-+#endif /* HAVE_TC_ACT_VLAN */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ENC_KEY_ID
-+#define HAVE_TCA_FLOWER_KEY_ENC_KEY_ID 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ENC_KEY_ID */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ENC_IPV4_SRC
-+#define HAVE_TCA_FLOWER_KEY_ENC_IPV4_SRC 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ENC_IPV4_SRC */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ENC_IPV4_SRC_MASK
-+#define HAVE_TCA_FLOWER_KEY_ENC_IPV4_SRC_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ENC_IPV4_SRC_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ENC_IPV4_DST
-+#define HAVE_TCA_FLOWER_KEY_ENC_IPV4_DST 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ENC_IPV4_DST */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ENC_IPV4_DST_MASK
-+#define HAVE_TCA_FLOWER_KEY_ENC_IPV4_DST_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ENC_IPV4_DST_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ENC_IPV6_SRC
-+#define HAVE_TCA_FLOWER_KEY_ENC_IPV6_SRC 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ENC_IPV6_SRC */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ENC_IPV6_SRC_MASK
-+#define HAVE_TCA_FLOWER_KEY_ENC_IPV6_SRC_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ENC_IPV6_SRC_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ENC_IPV6_DST
-+#define HAVE_TCA_FLOWER_KEY_ENC_IPV6_DST 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ENC_IPV6_DST */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ENC_IPV6_DST_MASK
-+#define HAVE_TCA_FLOWER_KEY_ENC_IPV6_DST_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ENC_IPV6_DST_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ENC_UDP_SRC_PORT
-+#define HAVE_TCA_FLOWER_KEY_ENC_UDP_SRC_PORT 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ENC_UDP_SRC_PORT */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ENC_UDP_SRC_PORT_MASK
-+#define HAVE_TCA_FLOWER_KEY_ENC_UDP_SRC_PORT_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ENC_UDP_SRC_PORT_MASK */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ENC_UDP_DST_PORT
-+#define HAVE_TCA_FLOWER_KEY_ENC_UDP_DST_PORT 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ENC_UDP_DST_PORT */
-+
-+#ifndef HAVE_TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK
-+#define HAVE_TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK 1
-+#endif /* HAVE_TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK */
-+
-+/* HAVE_TCA_FLOWER_KEY_ENC_IP_TOS is not defined. */
-+
-+/* HAVE_TCA_FLOWER_KEY_ENC_IP_TOS_MASK is not defined. */
-+
-+/* HAVE_TCA_FLOWER_KEY_ENC_IP_TTL is not defined. */
-+
-+/* HAVE_TCA_FLOWER_KEY_ENC_IP_TTL_MASK is not defined. */
-+
-+#ifndef HAVE_TC_ACT_TUNNEL_KEY
-+#define HAVE_TC_ACT_TUNNEL_KEY 1
-+#endif /* HAVE_TC_ACT_TUNNEL_KEY */
-+
-+#ifndef HAVE_TCA_TUNNEL_KEY_ENC_DST_PORT
-+#define HAVE_TCA_TUNNEL_KEY_ENC_DST_PORT 1
-+#endif /* HAVE_TCA_TUNNEL_KEY_ENC_DST_PORT */
-+
-+/* HAVE_TCA_TUNNEL_KEY_ENC_TOS is not defined. */
-+
-+/* HAVE_TCA_TUNNEL_KEY_ENC_TTL is not defined. */
-+
-+#ifndef HAVE_TCA_TUNNEL_KEY_NO_CSUM
-+#define HAVE_TCA_TUNNEL_KEY_NO_CSUM 1
-+#endif /* HAVE_TCA_TUNNEL_KEY_NO_CSUM */
-+
-+#ifndef HAVE_TC_ACT_PEDIT
-+#define HAVE_TC_ACT_PEDIT 1
-+#endif /* HAVE_TC_ACT_PEDIT */
-+
-+#ifndef HAVE_SUPPORTED_40000baseKR4_Full
- #define HAVE_SUPPORTED_40000baseKR4_Full 1
--#endif
-+#endif /* HAVE_SUPPORTED_40000baseKR4_Full */
-
--#ifdef SUPPORTED_40000baseCR4_Full
-+#ifndef HAVE_SUPPORTED_40000baseCR4_Full
- #define HAVE_SUPPORTED_40000baseCR4_Full 1
--#endif
-+#endif /* HAVE_SUPPORTED_40000baseCR4_Full */
-
--#ifdef SUPPORTED_40000baseSR4_Full
-+#ifndef HAVE_SUPPORTED_40000baseSR4_Full
- #define HAVE_SUPPORTED_40000baseSR4_Full 1
--#endif
-+#endif /* HAVE_SUPPORTED_40000baseSR4_Full */
-
--#ifdef SUPPORTED_40000baseLR4_Full
-+#ifndef HAVE_SUPPORTED_40000baseLR4_Full
- #define HAVE_SUPPORTED_40000baseLR4_Full 1
--#endif
-+#endif /* HAVE_SUPPORTED_40000baseLR4_Full */
-
--#ifdef SUPPORTED_56000baseKR4_Full
-+#ifndef HAVE_SUPPORTED_56000baseKR4_Full
- #define HAVE_SUPPORTED_56000baseKR4_Full 1
--#endif
-+#endif /* HAVE_SUPPORTED_56000baseKR4_Full */
-
--#ifdef SUPPORTED_56000baseCR4_Full
-+#ifndef HAVE_SUPPORTED_56000baseCR4_Full
- #define HAVE_SUPPORTED_56000baseCR4_Full 1
--#endif
-+#endif /* HAVE_SUPPORTED_56000baseCR4_Full */
-
--#ifdef SUPPORTED_56000baseSR4_Full
-+#ifndef HAVE_SUPPORTED_56000baseSR4_Full
- #define HAVE_SUPPORTED_56000baseSR4_Full 1
--#endif
-+#endif /* HAVE_SUPPORTED_56000baseSR4_Full */
-
--#ifdef SUPPORTED_56000baseLR4_Full
-+#ifndef HAVE_SUPPORTED_56000baseLR4_Full
- #define HAVE_SUPPORTED_56000baseLR4_Full 1
--#endif
-+#endif /* HAVE_SUPPORTED_56000baseLR4_Full */
-
-+#ifndef HAVE_STATIC_ASSERT
-+#define HAVE_STATIC_ASSERT 1
-+#endif /* HAVE_STATIC_ASSERT */
-
-diff --git a/src/dpdk/drivers/net/tap/rte_eth_tap.c b/src/dpdk/drivers/net/tap/rte_eth_tap.c
-index bc889c19..47a2b68f 100644
---- a/src/dpdk/drivers/net/tap/rte_eth_tap.c
-+++ b/src/dpdk/drivers/net/tap/rte_eth_tap.c
-@@ -34,8 +34,8 @@
- #include <unistd.h>
- #include <arpa/inet.h>
- #include <net/if.h>
--#include <linux_tap/if_tun.h>
--#include <linux_tap/if_ether.h>
-+#include <linux/if_tun.h>
-+#include <linux/if_ether.h>
- #include <fcntl.h>
- #include <ctype.h>
-
-diff --git a/src/dpdk/drivers/net/tap/rte_eth_tap.h b/src/dpdk/drivers/net/tap/rte_eth_tap.h
-index 66cd3441..dc3579ac 100644
---- a/src/dpdk/drivers/net/tap/rte_eth_tap.h
-+++ b/src/dpdk/drivers/net/tap/rte_eth_tap.h
-@@ -11,7 +11,7 @@
- #include <inttypes.h>
- #include <net/if.h>
-
--#include <linux_tap/if_tun.h>
-+#include <linux/if_tun.h>
-
- #include <rte_ethdev_driver.h>
- #include <rte_ether.h>
-diff --git a/src/dpdk/drivers/net/tap/tap_autoconf.h b/src/dpdk/drivers/net/tap/tap_autoconf.h
-index dddd4ae6..d5880608 100644
---- a/src/dpdk/drivers/net/tap/tap_autoconf.h
-+++ b/src/dpdk/drivers/net/tap/tap_autoconf.h
-@@ -1,14 +1,24 @@
- #ifndef HAVE_TC_FLOWER
- #define HAVE_TC_FLOWER 1
--#endif
-+#endif /* HAVE_TC_FLOWER */
-
-+#ifndef HAVE_TC_VLAN_ID
-+#define HAVE_TC_VLAN_ID 1
-+#endif /* HAVE_TC_VLAN_ID */
-
- #ifndef HAVE_TC_BPF
- #define HAVE_TC_BPF 1
--#endif
-+#endif /* HAVE_TC_BPF */
-
--#ifndef HAVE_TC_VLAN_ID
--#define HAVE_TC_VLAN_ID 1
--#endif
-+#ifndef HAVE_TC_BPF_FD
-+#define HAVE_TC_BPF_FD 1
-+#endif /* HAVE_TC_BPF_FD */
-+
-+#ifndef HAVE_TC_ACT_BPF
-+#define HAVE_TC_ACT_BPF 1
-+#endif /* HAVE_TC_ACT_BPF */
-
-+#ifndef HAVE_TC_ACT_BPF_FD
-+#define HAVE_TC_ACT_BPF_FD 1
-+#endif /* HAVE_TC_ACT_BPF_FD */
-
-diff --git a/src/dpdk/drivers/net/tap/tap_netlink.h b/src/dpdk/drivers/net/tap/tap_netlink.h
-index 900ce375..faa73ba1 100644
---- a/src/dpdk/drivers/net/tap/tap_netlink.h
-+++ b/src/dpdk/drivers/net/tap/tap_netlink.h
-@@ -8,8 +8,8 @@
-
- #include <ctype.h>
- #include <inttypes.h>
--#include <linux_tap/rtnetlink.h>
--#include <linux_tap/netlink.h>
-+#include <linux/rtnetlink.h>
-+#include <linux/netlink.h>
- #include <stdio.h>
-
- #include <rte_log.h>
-diff --git a/src/dpdk/drivers/net/tap/tap_tcmsgs.h b/src/dpdk/drivers/net/tap/tap_tcmsgs.h
-index 782de540..8cedea84 100644
---- a/src/dpdk/drivers/net/tap/tap_tcmsgs.h
-+++ b/src/dpdk/drivers/net/tap/tap_tcmsgs.h
-@@ -7,13 +7,13 @@
- #define _TAP_TCMSGS_H_
-
- #include <tap_autoconf.h>
--#include <linux_tap/if_ether.h>
--#include <linux_tap/rtnetlink.h>
--#include <linux_tap/pkt_sched.h>
--#include <linux_tap/pkt_cls.h>
--#include <linux_tap/tc_act/tc_mirred.h>
--#include <linux_tap/tc_act/tc_gact.h>
--#include <linux_tap/tc_act/tc_skbedit.h>
-+#include <linux/if_ether.h>
-+#include <linux/rtnetlink.h>
-+#include <linux/pkt_sched.h>
-+#include <linux/pkt_cls.h>
-+#include <linux/tc_act/tc_mirred.h>
-+#include <linux/tc_act/tc_gact.h>
-+#include <linux/tc_act/tc_skbedit.h>
- #ifdef HAVE_TC_ACT_BPF
- #include <linux/tc_act/tc_bpf.h>
- #endif
-diff --git a/src/main_dpdk.cpp b/src/main_dpdk.cpp
-index 0f66b07a..8c37ea15 100644
---- a/src/main_dpdk.cpp
-+++ b/src/main_dpdk.cpp
-@@ -6969,6 +6969,7 @@ COLD_FUNC bool DpdkTRexPortAttr::update_link_status_nowait(){
- bool changed = false;
- rte_eth_link_get_nowait(m_repid, &new_link);
-
-+ new_link.link_speed = ETH_SPEED_NUM_50G;
- if (new_link.link_speed != m_link.link_speed ||
- new_link.link_duplex != m_link.link_duplex ||
- new_link.link_autoneg != m_link.link_autoneg ||
diff --git a/fdio.infra.ansible/roles/trex/tasks/deploy_block.yaml b/fdio.infra.ansible/roles/trex/tasks/deploy_block.yaml
deleted file mode 100644
index 959330508d..0000000000
--- a/fdio.infra.ansible/roles/trex/tasks/deploy_block.yaml
+++ /dev/null
@@ -1,63 +0,0 @@
----
-# file: tasks/deploy_block.yaml
-
-- name: Get Release {{ item }}
- ansible.builtin.get_url:
- url: "{{ trex_url }}/v{{ item }}.tar.gz"
- dest: "{{ trex_target_dir }}/trex-core-{{ item }}.tar.gz"
- validate_certs: false
- mode: 0644
- register: trex_downloaded
-
-- name: Create Directory {{ item }}
- ansible.builtin.file:
- path: "{{ trex_target_dir }}/trex-core-{{ item }}"
- state: "directory"
-
-- name: Extract Release {{ item }}
- ansible.builtin.unarchive:
- remote_src: true
- src: "{{ trex_target_dir }}/trex-core-{{ item }}.tar.gz"
- dest: "{{ trex_target_dir }}/"
- creates: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/"
- register: trex_extracted
-
-- name: Compile Release {{ item }} Part I
- ansible.builtin.command: "./b configure"
- args:
- chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/"
- when: trex_extracted.changed
-
-- name: Compile Release {{ item }} Part II
- ansible.builtin.command: "./b build"
- args:
- chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/"
- async: 3000
- poll: 0
- register: trex_built
- when: trex_extracted.changed
-
-- name: Check if T-Rex is Compiled
- async_status:
- jid: "{{ trex_built.ansible_job_id }}"
- register: trex_built
- until: trex_built.finished
- delay: 10
- retries: 300
- when: trex_extracted.changed
-
-#- name: Compile Release {{ item }} Part III
-# ansible.builtin.command: "make -j 16"
-# args:
-# chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src"
-# when: trex_extracted.changed
-
-#- name: Compile Release {{ item }} Part IV
-# ansible.builtin.command: "make install"
-# args:
-# chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src"
-# when: trex_extracted.changed
-
-- name: Link libc.a to liblibc.a
- ansible.builtin.command: "ln -s -f /usr/lib/x86_64-linux-gnu/libc.a /usr/lib/x86_64-linux-gnu/liblibc.a"
- when: trex_extracted.changed
diff --git a/fdio.infra.ansible/roles/trex/tasks/main.yaml b/fdio.infra.ansible/roles/trex/tasks/main.yaml
deleted file mode 100644
index d0509f7544..0000000000
--- a/fdio.infra.ansible/roles/trex/tasks/main.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-# file: tasks/main.yaml
-
-- name: Update Package Cache (APT)
- ansible.builtin.apt:
- update_cache: true
- cache_valid_time: 3600
- when:
- - ansible_distribution|lower == 'ubuntu'
- tags:
- - trex-inst-prerequisites
-
-- name: Prerequisites
- ansible.builtin.package:
- name: "{{ packages | flatten(levels=1) }}"
- state: latest
- tags:
- - trex-inst-prerequisites
-
-- name: Multiple T-Rex Versions
- include_tasks: deploy_block.yaml
- loop: "{{ trex_version }}"
- tags:
- - trex-inst
diff --git a/fdio.infra.ansible/roles/vpp/defaults/main.yaml b/fdio.infra.ansible/roles/vpp/defaults/main.yaml
index 00c56859d0..84cbf965a9 100644
--- a/fdio.infra.ansible/roles/vpp/defaults/main.yaml
+++ b/fdio.infra.ansible/roles/vpp/defaults/main.yaml
@@ -1,5 +1,5 @@
---
-# file: roles/vpp/defaults/main.yaml
+# file: defaults/main.yaml
packages: "{{ packages_base + packages_by_distro[ansible_distribution|lower][ansible_distribution_release] + packages_by_arch[ansible_machine] }}"
@@ -20,6 +20,14 @@ packages_by_distro:
- "libmbedx509-1"
- "libnuma-dev"
- "libpixman-1-dev"
+ noble:
+ - "build-essential"
+ - "libglib2.0-dev"
+ - "libmbedcrypto7t64"
+ - "libmbedtls14t64"
+ - "libmbedx509-1t64"
+ - "libnuma-dev"
+ - "libpixman-1-dev"
packages_by_arch:
aarch64:
diff --git a/fdio.infra.ansible/roles/vpp/tasks/main.yaml b/fdio.infra.ansible/roles/vpp/tasks/main.yaml
index cea06b764d..b7cb484b9a 100644
--- a/fdio.infra.ansible/roles/vpp/tasks/main.yaml
+++ b/fdio.infra.ansible/roles/vpp/tasks/main.yaml
@@ -1,23 +1,22 @@
---
-# file: roles/vpp/tasks/main.yaml
+# file: tasks/main.yaml
-- name: Inst - Update Package Cache (APT)
+- name: "Update Package Cache (APT)"
ansible.builtin.apt:
update_cache: true
- cache_valid_time: 3600
when:
- - ansible_distribution|lower == 'ubuntu'
+ - ansible_os_family == 'Debian'
tags:
- vpp-inst-prerequisites
-- name: Inst - Prerequisites
+- name: "Prerequisites"
ansible.builtin.package:
name: "{{ packages | flatten(levels=1) }}"
- state: latest
+ state: "latest"
tags:
- vpp-inst-prerequisites
-- name: Conf - sysctl
+- name: "sysctl"
ansible.builtin.file:
src: "/dev/null"
dest: "/etc/sysctl.d/80-vpp.conf"