aboutsummaryrefslogtreecommitdiffstats
path: root/fdio.infra.ansible/roles/dpdk
diff options
context:
space:
mode:
Diffstat (limited to 'fdio.infra.ansible/roles/dpdk')
-rw-r--r--fdio.infra.ansible/roles/dpdk/defaults/main.yaml7
-rw-r--r--fdio.infra.ansible/roles/dpdk/meta/main.yaml22
-rw-r--r--fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml4
-rw-r--r--fdio.infra.ansible/roles/dpdk/tasks/deploy_block.yaml33
-rw-r--r--fdio.infra.ansible/roles/dpdk/tasks/main.yaml52
5 files changed, 52 insertions, 66 deletions
diff --git a/fdio.infra.ansible/roles/dpdk/defaults/main.yaml b/fdio.infra.ansible/roles/dpdk/defaults/main.yaml
index b9602bc2d2..d94e9ac91f 100644
--- a/fdio.infra.ansible/roles/dpdk/defaults/main.yaml
+++ b/fdio.infra.ansible/roles/dpdk/defaults/main.yaml
@@ -1,5 +1,5 @@
---
-# file: roles/dpdk/defaults/main.yaml
+# file: defaults/main.yaml
packages: "{{ packages_base + packages_by_distro[ansible_distribution|lower][ansible_distribution_release] + packages_by_arch[ansible_machine] }}"
@@ -8,9 +8,6 @@ packages_base:
packages_by_distro:
ubuntu:
- focal:
- - "build-essential"
- - "libnuma-dev"
jammy:
- "build-essential"
- "libnuma-dev"
@@ -23,5 +20,5 @@ packages_by_arch:
dpdk_target_dir: "/opt"
dpdk_version:
- - "22.03"
+ - "23.11"
dpdk_url: "https://fast.dpdk.org/rel"
diff --git a/fdio.infra.ansible/roles/dpdk/meta/main.yaml b/fdio.infra.ansible/roles/dpdk/meta/main.yaml
index e52ecb87c1..3ca2918d36 100644
--- a/fdio.infra.ansible/roles/dpdk/meta/main.yaml
+++ b/fdio.infra.ansible/roles/dpdk/meta/main.yaml
@@ -1,24 +1,18 @@
---
-# file: roles/dpdk/meta/main.yaml
-
-# desc: Install DPDK from stable branch and configure service.
-# inst: DPDK
-# conf: ?
-# info: 1.0 - added role
+# file: meta/main.yaml
dependencies: []
galaxy_info:
- role_name: dpdk
- author: fd.io
- description: DPDK for Linux.
- company: none
+ role_name: "dpdk"
+ author: "fd.io"
+ description: "DPDK for Linux."
+ company: "none"
license: "license (Apache)"
min_ansible_version: 2.9
platforms:
- - name: Ubuntu
+ - name: "Ubuntu"
versions:
- - focal
- - jammy
+ - "jammy"
galaxy_tags:
- - dpdk
+ - "dpdk"
diff --git a/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml b/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml
index 1910c4780c..060f842db7 100644
--- a/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml
+++ b/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml
@@ -9,8 +9,8 @@ lint: |
yamllint .
ansible-lint
platforms:
- - name: ${DISTRO:-ubuntu-20.04}
- image: "pmikus/docker-${MOLECULE_DISTRO:-ubuntu-20.04}-ansible:latest"
+ - name: ${DISTRO:-ubuntu-22.04}
+ image: "pmikus/docker-${MOLECULE_DISTRO:-ubuntu-22.04}-ansible:latest"
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
privileged: true
diff --git a/fdio.infra.ansible/roles/dpdk/tasks/deploy_block.yaml b/fdio.infra.ansible/roles/dpdk/tasks/deploy_block.yaml
new file mode 100644
index 0000000000..1f972f5320
--- /dev/null
+++ b/fdio.infra.ansible/roles/dpdk/tasks/deploy_block.yaml
@@ -0,0 +1,33 @@
+---
+# file: tasks/deploy_block.yaml
+
+- 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 }}
+ ansible.builtin.unarchive:
+ remote_src: true
+ src: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
+ dest: "{{ dpdk_target_dir }}/"
+ creates: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
+ when: dpdk_downloaded
+ register: dpdk_extracted
+
+- name: Compile Release I
+ ansible.builtin.command: "meson -Dexamples=l3fwd build"
+ args:
+ chdir: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
+ environment:
+ CFLAGS: "-DRTE_LIBRTE_I40E_16BYTE_RX_DESC=y"
+ register: dpdk_compiled
+
+- name: Compile Release II
+ ansible.builtin.command: "ninja -C build"
+ args:
+ chdir: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
+ environment:
+ CFLAGS: "-DRTE_LIBRTE_I40E_16BYTE_RX_DESC=y" \ No newline at end of file
diff --git a/fdio.infra.ansible/roles/dpdk/tasks/main.yaml b/fdio.infra.ansible/roles/dpdk/tasks/main.yaml
index 9052baff74..4f6c9ec9f2 100644
--- a/fdio.infra.ansible/roles/dpdk/tasks/main.yaml
+++ b/fdio.infra.ansible/roles/dpdk/tasks/main.yaml
@@ -1,8 +1,8 @@
---
-# file: roles/dpdk/tasks/main.yaml
+# file: tasks/main.yaml
-- name: Inst - Update Package Cache (APT)
- apt:
+- name: Update Package Cache (APT)
+ ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
when:
@@ -10,53 +10,15 @@
tags:
- dpdk-inst-prerequisites
-- name: Inst - Prerequisites
- package:
+- name: Prerequisites
+ ansible.builtin.package:
name: "{{ packages | flatten(levels=1) }}"
state: "latest"
tags:
- dpdk-inst-prerequisites
-- name: Inst - Download Release Archive
- get_url:
- url: "{{ dpdk_url }}/dpdk-{{ item }}.tar.xz"
- dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
- mode: 0644
+- name: Multiple DPDK Versions
+ include_tasks: deploy_block.yaml
loop: "{{ dpdk_version }}"
- register: "dpdk_downloaded"
- tags:
- - dpdk-inst
-
-- name: Inst - Extract Release Archive
- unarchive:
- remote_src: true
- src: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
- dest: "{{ dpdk_target_dir }}/"
- creates: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
- loop: "{{ dpdk_version }}"
- when: "dpdk_downloaded"
- register: "dpdk_extracted"
- tags:
- - dpdk-inst
-
-- name: Inst - Compile Release I
- command: "meson -Dexamples=l3fwd build"
- args:
- chdir: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
- environment:
- CFLAGS: "-DRTE_LIBRTE_I40E_16BYTE_RX_DESC=y"
- loop: "{{ dpdk_version }}"
- register: "dpdk_compiled"
- tags:
- - dpdk-inst
-
-- name: Inst - Compile Release II
- command: "ninja -C build"
- args:
- chdir: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
- environment:
- CFLAGS: "-DRTE_LIBRTE_I40E_16BYTE_RX_DESC=y"
- loop: "{{ dpdk_version }}"
- register: "dpdk_compiled"
tags:
- dpdk-inst