aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools/testbed-setup/ansible/roles/dpdk
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2020-02-28 15:26:06 +0000
committerPeter Mikus <pmikus@cisco.com>2020-03-10 11:11:31 +0000
commit6db8aec19b0109f9efcef189d32ddaac8c469370 (patch)
tree9fc1c42a1460f3e8bff7af20fc833d2b2a2d0a11 /resources/tools/testbed-setup/ansible/roles/dpdk
parent6daa2d791f0e0d41b73668ef3ee233e58987dc37 (diff)
Ansible: LTS support
- There is currently no other way to support multiple version of playbooks. Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I2ade4a57d726b793e422996e83bf767ac4315488
Diffstat (limited to 'resources/tools/testbed-setup/ansible/roles/dpdk')
-rw-r--r--resources/tools/testbed-setup/ansible/roles/dpdk/defaults/main.yaml12
-rw-r--r--resources/tools/testbed-setup/ansible/roles/dpdk/tasks/main.yaml36
2 files changed, 29 insertions, 19 deletions
diff --git a/resources/tools/testbed-setup/ansible/roles/dpdk/defaults/main.yaml b/resources/tools/testbed-setup/ansible/roles/dpdk/defaults/main.yaml
index d56b967b97..e43c28403b 100644
--- a/resources/tools/testbed-setup/ansible/roles/dpdk/defaults/main.yaml
+++ b/resources/tools/testbed-setup/ansible/roles/dpdk/defaults/main.yaml
@@ -18,8 +18,14 @@ packages_by_arch:
- []
dpdk_target_dir: "/opt"
-dpdk_version: "19.08.2"
+dpdk_version:
+ - "19.02"
+ - "20.02"
dpdk_url: "https://fast.dpdk.org/rel"
dpdk_build_targets:
- aarch64: "arm64-armv8a"
- x86_64: "x86_64-native"
+ "19.02":
+ aarch64: "arm64-armv8a-linuxapp-gcc"
+ x86_64: "x86_64-native-linuxapp-gcc"
+ "20.02":
+ aarch64: "arm64-armv8a-linux-gcc"
+ x86_64: "x86_64-native-linux-gcc"
diff --git a/resources/tools/testbed-setup/ansible/roles/dpdk/tasks/main.yaml b/resources/tools/testbed-setup/ansible/roles/dpdk/tasks/main.yaml
index 753ebec50c..8ece4af7c6 100644
--- a/resources/tools/testbed-setup/ansible/roles/dpdk/tasks/main.yaml
+++ b/resources/tools/testbed-setup/ansible/roles/dpdk/tasks/main.yaml
@@ -11,35 +11,39 @@
- name: DPDK - Download Release Archive
get_url:
- url: "{{ dpdk_url }}/dpdk-{{ dpdk_version }}.tar.xz"
- dest: "{{ dpdk_target_dir }}/dpdk-{{ dpdk_version }}.tar.xz"
+ url: "{{ dpdk_url }}/dpdk-{{ item }}.tar.xz"
+ dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
mode: 0644
- register: "linux__dpdk_downloaded"
+ loop: "{{ dpdk_version }}"
+ register: "dpdk_downloaded"
tags:
- install-dpdk
-- name: Extract DPDK release archive
+- name: DPDK - Extract Release Archive
unarchive:
remote_src: true
- src: "{{ dpdk_target_dir }}/dpdk-{{ dpdk_version }}.tar.xz"
+ src: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
dest: "{{ dpdk_target_dir }}/"
- creates: "{{ dpdk_target_dir }}/dpdk-stable-{{ dpdk_version }}"
- when: "linux__dpdk_downloaded"
- register: "linux__dpdk_extracted"
+ creates: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
+ loop: "{{ dpdk_version }}"
+ when: "dpdk_downloaded"
+ register: "dpdk_extracted"
tags:
- install-dpdk
-- name: Compile DPDK release
+- name: DPDK - Compile Release I
become: yes
- command: "make install T={{ dpdk_build_targets[ansible_machine] }}-linux-gcc DESTDIR={{ dpdk_target_dir }}/dpdk-stable-{{ dpdk_version }} chdir={{ dpdk_target_dir }}/dpdk-stable-{{ dpdk_version }}"
- when: "linux__dpdk_extracted"
- register: "linux__dpdk_compiled"
+ command: "make install T={{ dpdk_build_targets[item][ansible_machine] }} DESTDIR={{ dpdk_target_dir }}/dpdk-{{ item }} chdir={{ dpdk_target_dir }}/dpdk-{{ item }}"
+ loop: "{{ dpdk_version }}"
+ when: "dpdk_extracted"
+ register: "dpdk_compiled"
tags:
- install-dpdk
-- name: Link igb_uio module
- shell: "ln -fs {{ dpdk_target_dir }}/dpdk-stable-{{ dpdk_version }}/{{ dpdk_build_targets[ansible_machine] }}-linux-gcc/kmod/igb_uio.ko /lib/modules/`uname -r`/igb_uio.ko && depmod -a"
+- name: DPDK - Link igb_uio Module
+ shell: "ln -fs {{ dpdk_target_dir }}/dpdk-{{ item }}/{{ dpdk_build_targets[item][ansible_machine] }}/kmod/igb_uio.ko /lib/modules/`uname -r`/igb_uio.ko && depmod -a"
ignore_errors: "yes"
- when: "linux__dpdk_compiled"
+ loop: "{{ dpdk_version }}"
+ when: "dpdk_compiled"
tags:
- - link-igb_uio-module
+ - install-dpdk