From 6db8aec19b0109f9efcef189d32ddaac8c469370 Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Fri, 28 Feb 2020 15:26:06 +0000 Subject: Ansible: LTS support - There is currently no other way to support multiple version of playbooks. Signed-off-by: Peter Mikus Change-Id: I2ade4a57d726b793e422996e83bf767ac4315488 --- .../ansible/roles/dpdk/defaults/main.yaml | 12 ++++++-- .../ansible/roles/dpdk/tasks/main.yaml | 36 ++++++++++++---------- 2 files changed, 29 insertions(+), 19 deletions(-) (limited to 'resources/tools/testbed-setup/ansible/roles/dpdk') 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 -- cgit 1.2.3-korg