Add support for dpdk 17.05 01/54901/9
authorJohn O Loughlin <john.oloughlin@intel.com>
Wed, 4 Apr 2018 10:53:20 +0000 (11:53 +0100)
committerJohn O'Loughlin <john.oloughlin@intel.com>
Wed, 11 Apr 2018 10:34:04 +0000 (10:34 +0000)
Add support for dpdk 17.05. Add option to dpdk scripts
to download dpdk 17.08 17.11 and 18.02. These are currently
unsupported due to prox build issues.

JIRA: YARDSTICK-1113

Change-Id: I585566364a4d1f04a696439af96c50c0e9d38033
Signed-off-by: John O Loughlin <john.oloughlin@intel.com>
ansible/roles/download_dpdk/defaults/main.yml
ansible/roles/install_civetweb/defaults/main.yml
ansible/roles/install_dpdk/tasks/main.yml
ansible/roles/install_dpdk/vars/main.yml
ansible/roles/install_dpdk_shared/tasks/Debian.yml
ansible/roles/install_dpdk_shared/tasks/main.yml
ansible/roles/install_dpdk_shared/vars/main.yml

index fb42ed4..d548280 100644 (file)
@@ -1,10 +1,14 @@
 ---
 dpdk_version: "17.02"
-dpdk_url: "http://dpdk.org/browse/dpdk/snapshot/dpdk-{{ dpdk_version }}.zip"
+dpdk_url: "http://dpdk.org/browse/dpdk/snapshot/dpdk-{{ dpdk_version }}.tar.gz"
 dpdk_file: "{{ dpdk_url|basename }}"
-dpdk_unarchive: "{{ dpdk_file|regex_replace('[.]zip$', '') }}"
+dpdk_unarchive: "{{ dpdk_file|regex_replace('[.]tar[.]gz$', '') }}"
 dpdk_dest: "{{ clone_dest }}/"
+#Note DPDK 17.08 17.11 and 18.02 are currently unsupported due to prox build issues
 dpdk_sha256s:
-  "17.02": "sha256:c675285d5eab8e7e8537a10bdae6f03c603caa80cb4bf5b055ddd482e3b7d67f"
-  "16.04": "sha256:65e587af439b21abf54c644f86ba5ce7ea65657b3272480dcd78b769d2aecac3"
-  "16.07": "sha256:46fee52f9b3ff54df869414c69f122aea8f744de5ed5f8fb275a22cc9cefe094"
+  "16.07": "sha256:d876e4b2a7101f28e7e345d3c88e66afe877d15f0159c19c5bc5bc26b7b7d788"
+  "17.02": "sha256:b07b546e910095174bdb6152bb0d7ce057cc4b79aaa74771aeee4e8a7219fb38"
+  "17.05": "sha256:763bfb7e1765efcc949e79d645dc9f1ebd16591431ba0db5ce22becd928dcd0a"
+  "17.08": "sha256:3a08addbff45c636538514e9a5838fb91ea557661a4c071e03a9a6987d46e5b6" #unsupported
+  "17.11": "sha256:77a727bb3834549985f291409c9a77a1e8be1c9329ce4c3eb19a22d1461022e4" #unsupported
+  "18.02": "sha256:f1210310fd5f01a3babe3a09d9b3e5a9db791c2ec6ecfbf94ade9f893a0632b8" #unsupported
index 2235fe1..ed5ab27 100644 (file)
@@ -15,6 +15,7 @@
 civetweb_dest: "{{ clone_dest }}/civetweb"
 civetweb_build_dependencies:
   Debian:
+    - libjson-c-dev=0.11-4ubuntu2
     - libjson0
     - libjson0-dev
     - libssl-dev
index e82ad83..5bcfb50 100644 (file)
 
 - name: copy dpdk-devbind.py to correct location
   copy:
-    src: "{{ dpdk_devbind[dpdk_version] }}"
+    src: "{{ dpdk_devbind_usertools if dpdk_version|float >= 17.02 else dpdk_devbind_tools }}"
     dest: "{{ INSTALL_BIN_PATH }}/dpdk-devbind.py"
     remote_src: yes
     force: yes
index 45bcc33..5dec637 100644 (file)
@@ -2,8 +2,6 @@
 dpdk_make_arch: x86_64-native-linuxapp-gcc
 dpdk_module_dir: "/lib/modules/{{ dpdk_kernel }}/extra"
 hugetable_mount: /mnt/huge
-dpdk_devbind:
-  "16.07": "{{ dpdk_path }}/tools/dpdk-devbind.py"
-  "17.02": "{{ dpdk_path }}/usertools/dpdk-devbind.py"
-  "17.04": "{{ dpdk_path }}/usertools/dpdk-devbind.py"
+dpdk_devbind_tools: "{{ dpdk_path }}/tools/dpdk-devbind.py"
+dpdk_devbind_usertools: "{{ dpdk_path }}/usertools/dpdk-devbind.py"
 dpdk_pmd_path: /usr/lib/dpdk-pmd/
index c77e4f9..641d8f9 100755 (executable)
@@ -16,6 +16,7 @@
   action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
   with_items:
     - libpcap-dev
+    - libnuma-dev
 
 - name: Install kernel headers
   action: "{{ ansible_pkg_mgr }} name=linux-headers-{{ dpdk_kernel }} state=present"
index 65954be..94b9215 100644 (file)
   set_fact:
     RTE_KERNELDIR: "/lib/modules/{{ dpdk_kernel }}/build"
 
+# make clean must be run here as DPDK-shared is a copy of the DPDK directory
+# which has already run the make command
+# no T= target for clean
+- command: make -j {{ ansible_processor_vcpus }} clean O={{ dpdk_make_arch }}
+  args:
+    chdir: "{{ dpdk_shared_path }}"
+  environment:
+    RTE_KERNELDIR: "{{ RTE_KERNELDIR }}"
+
 - command: make -j {{ ansible_processor_vcpus }} config  T={{ dpdk_make_arch }} O={{ dpdk_make_arch }}
   args:
     chdir: "{{ dpdk_shared_path }}"
     regexp: '^CONFIG_RTE_EAL_PMD_PATH=""'
     line: 'CONFIG_RTE_EAL_PMD_PATH="{{ dpdk_pmd_path }}"'
 
-  # no T= target for clean
-- command: make -j {{ ansible_processor_vcpus }} clean O={{ dpdk_make_arch }}
-  args:
-    chdir: "{{ dpdk_shared_path }}"
-  environment:
-    RTE_KERNELDIR: "{{ RTE_KERNELDIR }}"
-
 # TODO: disable ASLR
 
 - command: make -j {{ ansible_processor_vcpus }}
index 45bcc33..eadf35a 100644 (file)
@@ -2,8 +2,4 @@
 dpdk_make_arch: x86_64-native-linuxapp-gcc
 dpdk_module_dir: "/lib/modules/{{ dpdk_kernel }}/extra"
 hugetable_mount: /mnt/huge
-dpdk_devbind:
-  "16.07": "{{ dpdk_path }}/tools/dpdk-devbind.py"
-  "17.02": "{{ dpdk_path }}/usertools/dpdk-devbind.py"
-  "17.04": "{{ dpdk_path }}/usertools/dpdk-devbind.py"
 dpdk_pmd_path: /usr/lib/dpdk-pmd/