feat(dpdk): Move to 22.07 17/37217/1
authorpmikus <peter.mikus@protonmail.ch>
Thu, 22 Sep 2022 06:52:40 +0000 (08:52 +0200)
committerPeter Mikus <peter.mikus@protonmail.ch>
Thu, 22 Sep 2022 06:53:55 +0000 (06:53 +0000)
Signed-off-by: pmikus <peter.mikus@protonmail.ch>
Change-Id: If898b07e7406bfe28a63e4a793cf2f4e08a53e9d
(cherry picked from commit f225435e848f1199138272912213d0142955cb36)

DPDK_VPP_VER
fdio.infra.ansible/roles/dpdk/defaults/main.yaml
fdio.infra.ansible/roles/dpdk/meta/main.yaml
fdio.infra.ansible/roles/dpdk/tasks/deploy_block.yaml [new file with mode: 0644]
fdio.infra.ansible/roles/dpdk/tasks/main.yaml
fdio.infra.ansible/roles/trex/tasks/deploy_block.yaml
fdio.infra.ansible/roles/trex/tasks/main.yaml
resources/libraries/python/Constants.py

index 3d4b137..5a8851d 100644 (file)
@@ -1 +1 @@
-dpdk-22.03
+dpdk-22.07
index b9602bc..8f1142d 100644 (file)
@@ -23,5 +23,5 @@ packages_by_arch:
 
 dpdk_target_dir: "/opt"
 dpdk_version:
-  - "22.03"
+  - "22.07"
 dpdk_url: "https://fast.dpdk.org/rel"
index e52ecb8..7157127 100644 (file)
@@ -1,11 +1,6 @@
 ---
 # file: roles/dpdk/meta/main.yaml
 
-# desc: Install DPDK from stable branch and configure service.
-# inst: DPDK
-# conf: ?
-# info: 1.0 - added role
-
 dependencies: []
 
 galaxy_info:
@@ -18,7 +13,6 @@ galaxy_info:
   platforms:
     - name: Ubuntu
       versions:
-        - focal
         - jammy
   galaxy_tags:
     - dpdk
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 (file)
index 0000000..0e3e3ea
--- /dev/null
@@ -0,0 +1,43 @@
+---
+# file: roles/dpdk/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"
+  async: 3000
+  poll: 0
+  register: dpdk_built
+
+- name: Check if DPDK is Built
+  ansible.builtin.async_status:
+    jid: "{{ dpdk_built.ansible_job_id }}"
+  until: dpdk_built.finished
+  delay: 10
+  retries: 300
\ No newline at end of file
index 9052baf..4cff308 100644 (file)
@@ -1,8 +1,8 @@
 ---
 # file: roles/dpdk/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:
   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
index b436879..492a56a 100644 (file)
@@ -61,7 +61,7 @@
   register: trex_built
   when: trex_extracted.changed
 
-- name: Check if T-Rex is compiled
+- name: Check if T-Rex is Compiled
   async_status:
     jid: "{{ trex_built.ansible_job_id }}"
   register: trex_built
index 0196b08..5cdf041 100644 (file)
@@ -1,7 +1,7 @@
 ---
 # file: roles/trex/tasks/main.yaml
 
-- name: Inst - Update Package Cache (APT)
+- name: Update Package Cache (APT)
   ansible.builtin.apt:
     update_cache: true
     cache_valid_time: 3600
   tags:
     - trex-inst-prerequisites
 
-- name: Inst - Prerequisites
+- name: Prerequisites
   ansible.builtin.package:
     name: "{{ packages | flatten(levels=1) }}"
     state: latest
   tags:
     - trex-inst-prerequisites
 
-- name: Inst - Multiple T-Rex Versions
+- name: Multiple T-Rex Versions
   include_tasks: deploy_block.yaml
   loop: "{{ trex_version }}"
   tags:
index a64a139..4a70847 100644 (file)
@@ -186,7 +186,7 @@ class Constants:
     QEMU_VM_IMAGE = u"/var/lib/vm/image.iso"
 
     # QEMU VM DPDK path
-    QEMU_VM_DPDK = u"/opt/dpdk-22.03"
+    QEMU_VM_DPDK = u"/opt/dpdk-22.07"
 
     # Docker container SUT image
     DOCKER_SUT_IMAGE_UBUNTU = u"csit_sut-ubuntu2204:local"