diff options
Diffstat (limited to 'fdio.infra.ansible')
47 files changed, 413 insertions, 1228 deletions
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.36.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.36.yaml index 53cb420b77..800cab9bcb 100644 --- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.36.yaml +++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.36.yaml @@ -6,15 +6,15 @@ grub: audit: "0" default_hugepagesz: "2M hugepagesz=1G hugepages=32 hugepagesz=2M hugepages=32768" iommu.passthrough: "1" - isolcpus: "1-40,81-120" + isolcpus: "1-71" nmi_watchdog: "0" - nohz_full: "1-40,81-120" + nohz_full: "1-71" nosoftlockup: true processor.max_cstate: "1" - rcu_nocbs: "1-40,81-120" + rcu_nocbs: "1-71" sysctl: kernel: - watchdog_cpumask: "0,41-80,121-159" + watchdog_cpumask: "0,71" vm: nr_hugepages: 32768 max_map_count: 20000 @@ -22,4 +22,4 @@ sysctl: inventory_ipmi_hostname: "10.30.50.36" cpu_microarchitecture: "grace" -mellanox_matrix: "dpdk23.11" +mellanox_matrix: "dpdk24.07" diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.37.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.37.yaml index f8dfe5ad42..81794519b3 100644 --- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.37.yaml +++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.37.yaml @@ -29,4 +29,17 @@ sysctl: inventory_ipmi_hostname: "10.30.50.37" cpu_microarchitecture: "cascadelake" -mellanox_matrix: "dpdk22.07" +mellanox_matrix: "dpdk24.07" + +docker_tg: true +docker_volumes: + - source: "/usr/bin/ofed_info" + target: "/usr/bin/ofed_info" + - source: "/dev/hugepages" + target: "/dev/hugepages" + - source: "/dev/vfio" + target: "/dev/vfio" + - source: "/etc/sudoers" + target: "/etc/sudoers" + - source: "/usr/lib/firmware/" + target: "/usr/lib/firmware/"
\ No newline at end of file diff --git a/fdio.infra.ansible/inventories/lf_inventory/hosts b/fdio.infra.ansible/inventories/lf_inventory/hosts index 137b79bb33..4f5dde4f38 100644 --- a/fdio.infra.ansible/inventories/lf_inventory/hosts +++ b/fdio.infra.ansible/inventories/lf_inventory/hosts @@ -23,6 +23,7 @@ all: 10.30.51.33: #s33-t31-sut2 - icelaked 10.30.51.34: #s34-t32-sut1 - icelaked 10.30.51.35: #s35-t32-sut2 - icelaked + 10.30.51.36: #s36-t27-sut1 - grace 10.30.51.52: #s52-t21-sut1 - sapphirerapids 10.30.51.54: #s54-t22-sut1 - sapphirerapids 10.30.51.56: #s56-t23-sut1 - sapphirerapids diff --git a/fdio.infra.ansible/nomad.yaml b/fdio.infra.ansible/nomad.yaml index d7aa467007..57b111c275 100644 --- a/fdio.infra.ansible/nomad.yaml +++ b/fdio.infra.ansible/nomad.yaml @@ -14,8 +14,6 @@ roles: - role: user_add tags: user_add - - role: baremetal - tags: baremetal - role: docker tags: docker - role: nomad 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" diff --git a/fdio.infra.ansible/sut.yaml b/fdio.infra.ansible/sut.yaml index 57be961ee1..f06f7edff1 100644 --- a/fdio.infra.ansible/sut.yaml +++ b/fdio.infra.ansible/sut.yaml @@ -12,12 +12,10 @@ tags: - always roles: - - role: baremetal - tags: baremetal - role: common tags: common - - role: python_env - tags: python_env +# - role: python_env +# tags: python_env - role: kernel tags: kernel - role: mellanox @@ -56,12 +54,10 @@ tags: user_add - role: common tags: common - - role: python_env - tags: python_env +# - role: python_env +# tags: python_env - role: vpp tags: vpp - - role: iperf - tags: iperf - role: docker tags: docker # - role: dpdk @@ -87,14 +83,12 @@ tags: user_add - role: common tags: common - - role: python_env - tags: python_env +# - role: python_env +# tags: python_env - role: docker tags: docker - role: vpp tags: vpp - - role: iperf - tags: iperf - role: dpdk tags: dpdk - role: azure @@ -118,14 +112,12 @@ tags: user_add - role: common tags: common - - role: python_env - tags: python_env +# - role: python_env +# tags: python_env - role: docker tags: docker - role: vpp tags: vpp - - role: iperf - tags: iperf - role: dpdk tags: dpdk - role: cleanup diff --git a/fdio.infra.ansible/tg.yaml b/fdio.infra.ansible/tg.yaml index de8706ffd1..3a69a562af 100644 --- a/fdio.infra.ansible/tg.yaml +++ b/fdio.infra.ansible/tg.yaml @@ -12,12 +12,8 @@ tags: - always roles: - - role: baremetal - tags: baremetal - role: common tags: common - - role: python_env - tags: python_env - role: kernel tags: kernel - role: mellanox @@ -28,12 +24,6 @@ tags: docker - role: docker_images tags: docker_images - - role: iperf - tags: iperf - - role: trex - tags: trex - - role: ab - tags: ab - role: performance_tuning tags: performance_tuning - role: cleanup @@ -56,20 +46,14 @@ tags: user_add - role: common tags: common - - role: python_env - tags: python_env + - role: aws + tags: aws - role: docker tags: docker - - role: iperf - tags: iperf + - role: docker_images + tags: docker_images # - role: dpdk # tags: dpdk - - role: aws - tags: aws - - role: trex - tags: trex - - role: ab - tags: ab - role: cleanup tags: cleanup - role: calibration @@ -89,16 +73,8 @@ tags: user_add - role: common tags: common - - role: python_env - tags: python_env - role: docker tags: docker - - role: iperf - tags: iperf - - role: trex - tags: trex - - role: ab - tags: ab - role: azure tags: azure - role: cleanup @@ -120,16 +96,8 @@ tags: user_add - role: common tags: common - - role: python_env - tags: python_env - role: docker tags: docker - - role: iperf - tags: iperf - - role: trex - tags: trex - - role: ab - tags: ab - role: cleanup tags: cleanup - role: calibration |