Add support of DPDK version 18.11 for PROX, igb_uio 89/66089/3
authorOleksandr Naumets <oleksandrx.naumets@intel.com>
Thu, 27 Dec 2018 16:20:19 +0000 (16:20 +0000)
committerOleksandr Naumets <oleksandrx.naumets@intel.com>
Wed, 2 Jan 2019 15:55:08 +0000 (15:55 +0000)
Adding DPDK version 18.11 support as per new requirement for PROX.
Since other sample VNFs are not supporting DPDK 18.11, they will
be using default DPDK version (17.05).

JIRA: YARDSTICK-1576

Change-Id: Ifab1886c51a22392f52f3e9e515a9d6b81edeefc
Signed-off-by: Oleksandr Naumets <oleksandrx.naumets@intel.com>
ansible/install.yaml
ansible/roles/build_yardstick_image/tasks/cloudimg_modify_nsb.yml
ansible/roles/download_dpdk/defaults/main.yml
ansible/roles/download_samplevnfs/defaults/main.yml
ansible/roles/install_dpdk/tasks/main.yml
ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml
ansible/ubuntu_server_cloudimg_modify_samplevnfs.yml

index 0c7ad7e..f4f57bd 100644 (file)
@@ -56,6 +56,8 @@
 - name: Prepare baremetal and standalone servers
   hosts: yardstick-baremetal,yardstick-standalone
   become: yes
+  vars_files:
+    - roles/download_dpdk/defaults/main.yml
   environment: "{{ proxy_env }}"
 
   roles:
     - increase_open_file_limits
     - install_image_dependencies
     - role: download_dpdk
-    # dpdk_version: "17.02"
+      dpdk_version: "{{ dpdk_version_for_PROX }}"
+    - role: install_dpdk
+      dpdk_version: "{{ dpdk_version_for_PROX }}"
+    - download_samplevnfs
+    - role: install_samplevnf
+      vnf_name: PROX
+    - download_dpdk
     - install_dpdk
     - download_trex
     - install_trex
     - download_civetweb
     - install_civetweb
-    - download_samplevnfs
-    - role: install_samplevnf
-      vnf_name: PROX
     - role: install_samplevnf
       vnf_name: UDP_Replay
     - role: install_samplevnf
index 9a70ff3..c2f72ca 100644 (file)
     - install_image_dependencies
     - enable_hugepages_on_boot    # can't update grub in chroot/docker
     - increase_open_file_limits   # needed for collectd plugins
-    - download_dpdk
-    - install_dpdk
     - download_trex
     - install_trex
-    - download_pktgen
-    - install_pktgen
     - download_civetweb
     - install_civetweb
+  loop_control:
+    loop_var: role_item
+  environment: "{{ proxy_env }}"
+
+- include_role:
+    name: "{{ role_item }}"
+  vars:
+    dpdk_version: "{{ dpdk_version_for_PROX }}"
+  with_items:
+    - download_dpdk
+    - install_dpdk
     - download_samplevnfs
   loop_control:
     loop_var: role_item
   environment: "{{ proxy_env }}"
 
+- name: Install PROX
+  include_role:
+    name: install_samplevnf
+  vars:
+    vnf_name: PROX
+
+- include_role:
+    name: "{{ role_item }}"
+  with_items:
+    - download_dpdk
+    - install_dpdk
+    - download_pktgen
+    - install_pktgen
+  loop_control:
+    loop_var: role_item
+  environment: "{{ proxy_env }}"
+
 - include_vars: roles/install_dpdk/defaults/main.yml
   when: INSTALL_BIN_PATH is undefined
 
@@ -75,7 +99,6 @@
 - include_role:
     name: install_samplevnf
   with_items:
-    - PROX
     - UDP_Replay
     - ACL
     - FW
index 8371188..b2d959e 100644 (file)
@@ -1,11 +1,11 @@
 ---
 dpdk_version: "17.05"
+dpdk_version_for_PROX: "18.11"
 dpdk_url: "http://fast.dpdk.org/rel/dpdk-{{ dpdk_version }}.tar.xz"
 dpdk_file: "{{ dpdk_url|basename }}"
 dpdk_unarchive: "{{ dpdk_file|regex_replace('[.]tar[.]xz$', '') }}"
 dpdk_dest: "{{ clone_dest }}/"
 
-#NOTE(ralonsoh): DPDK > 17.02 are currently unsupported due to prox build issues
 dpdk_md5:
   "16.07.2": "md5:4922ea2ec935b64ff5c191fec53344a6"
   "16.11.7": "md5:c081d113dfd57633e3bc3ebc802691be"
@@ -16,3 +16,4 @@ dpdk_md5:
   "17.11.3": "md5:68ca84ac878011acf44e75d33b46f55b" #unsupported
   "18.02.2": "md5:75ad6d39b513649744e49c9fcbbb9ca5" #unsupported
   "18.05": "md5:9fc86367cd9407ff6a8dfea56c4eddc4" #unsupported
+  "18.11": "md5:04b86f4a77f4f81a7fbd26467dd2ea9f" # Not supported by SampleVNFs except PROX
index 104f594..5ddc9f0 100644 (file)
@@ -13,4 +13,4 @@
 
 samplevnf_url: "https://git.opnfv.org/samplevnf"
 samplevnf_dest: "{{ clone_dest }}/samplevnf"
-samplevnf_version: "3afd384b7e68a3cd29f4d2cdf39785f8441d0b6f"
+samplevnf_version: "47123bfc1b3c0d0b01884aebbce1a3e09ad7ddb0"
index d1dc290..a1a377e 100644 (file)
 #  with_fileglob:
 #    - "{{ local_nsb_path }}/patches/dpdk_custom_patch/0*.patch"
 
+- debug:
+    var: dpdk_version
+    verbosity: 2
+
 - name: find kernel for image, (including chroot)
   find_kernel:
     kernel: "{{ ansible_kernel }}"
     src: "{{ dpdk_path }}/{{ dpdk_make_arch }}/kmod/igb_uio.ko"
     dest: "{{ dpdk_module_dir }}/igb_uio.ko"
     remote_src: yes
+  when: dpdk_version is version(dpdk_version_for_PROX, '>=')
 
 - name: run depmod for dpdk_kernel
   command: depmod "{{ dpdk_kernel }}"
     path: "{{ INSTALL_BIN_PATH }}"
     state:  directory
 
-- set_fact:
-    major: "{{ dpdk_version.split('.')[0] }}"
-    minor: "{{ dpdk_version.split('.')[1] }}"
-
-- set_fact:
-    major_minor_version: "{{ major }}.{{ minor }}"
-
 - name: copy dpdk-devbind.py to correct location
   copy:
-    src: "{{ dpdk_devbind_usertools if major_minor_version|float >= 17.02 else dpdk_devbind_tools }}"
+    src: "{{ dpdk_devbind_usertools if dpdk_version is version('17.02', '>=') else dpdk_devbind_tools }}"
     dest: "{{ INSTALL_BIN_PATH }}/dpdk-devbind.py"
     remote_src: yes
     force: yes
     mode: 0755
+  when: dpdk_version is version(dpdk_version_for_PROX, '>=')
 
 - name: make vPE binary
   command: make -j {{ ansible_processor_vcpus }}
     chdir: "{{ dpdk_path }}/examples/ip_pipeline"
   environment:
     RTE_SDK: "{{ dpdk_path }}"
+  when: dpdk_version is version(dpdk_version_for_PROX, '!=')
 
 - name: Copy vPE to correct location
   copy:
     remote_src: yes
     force: yes
     mode: 0755
+  when: dpdk_version is version(dpdk_version_for_PROX, '!=')
index 84e1f9a..4f4d7d0 100644 (file)
@@ -15,6 +15,8 @@
 - hosts: yardstick-standalone:jumphost
   vars:
     clone_dir: /tmp/yardstick-clone
+  vars_files:
+    - roles/download_dpdk/defaults/main.yml
   environment:
     "{{ proxy_env }}"
 
     # needed for collectd plugins
     - increase_open_file_limits
     - install_image_dependencies
-    - role: download_dpdk
-#      dpdk_version: "17.02"
-    - install_dpdk
     - download_trex
     - install_trex
     - download_civetweb
     - install_civetweb
+    - role: download_dpdk
+      dpdk_version: "{{ dpdk_version_for_PROX }}"
+    - role: install_dpdk
+      dpdk_version: "{{ dpdk_version_for_PROX }}"
     - download_samplevnfs
     - role: install_samplevnf
       vnf_name: PROX
+    - download_dpdk
+    - install_dpdk
     - role: install_samplevnf
       vnf_name: UDP_Replay
     - role: install_samplevnf
index b27933b..d894c3d 100644 (file)
@@ -16,6 +16,8 @@
   connection: chroot
   vars:
     clone_dir: /tmp/yardstick-clone
+  vars_files:
+    - roles/download_dpdk/defaults/main.yml
 
   pre_tasks:
     - debug:
     - increase_open_file_limits
     - modify_cloud_config
     - install_image_dependencies
-    - role: download_dpdk
-#      dpdk_version: "17.02"
-    - install_dpdk
     - download_trex
     - install_trex
-    - download_pktgen
-    - install_pktgen
     - download_civetweb
     - install_civetweb
+    - role: download_dpdk
+      dpdk_version: "{{ dpdk_version_for_PROX }}"
+    - role: install_dpdk
+      dpdk_version: "{{ dpdk_version_for_PROX }}"
     - download_samplevnfs
     - role: install_samplevnf
       vnf_name: PROX
+    - download_dpdk
+    - install_dpdk
+    - download_pktgen
+    - install_pktgen
     - role: install_samplevnf
       vnf_name: UDP_Replay
     - role: install_samplevnf