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>
- 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
- 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
- include_role:
name: install_samplevnf
with_items:
- - PROX
- UDP_Replay
- ACL
- FW
---
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"
"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
samplevnf_url: "https://git.opnfv.org/samplevnf"
samplevnf_dest: "{{ clone_dest }}/samplevnf"
-samplevnf_version: "3afd384b7e68a3cd29f4d2cdf39785f8441d0b6f"
+samplevnf_version: "47123bfc1b3c0d0b01884aebbce1a3e09ad7ddb0"
# 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, '!=')
- 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
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