X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Ftools%2Ftestbed-setup%2Fansible%2Froles%2Fdpdk%2Ftasks%2Fmain.yaml;h=46f942be93edda5a8bd3a5c7625c7a9d385ef241;hb=8018da98e0f362bc69fc9600fac222a86fd46b5e;hp=8ece4af7c6968b06d3b6b3df8a01d31cf1969cad;hpb=6db8aec19b0109f9efcef189d32ddaac8c469370;p=csit.git 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 8ece4af7c6..46f942be93 100644 --- a/resources/tools/testbed-setup/ansible/roles/dpdk/tasks/main.yaml +++ b/resources/tools/testbed-setup/ansible/roles/dpdk/tasks/main.yaml @@ -1,15 +1,23 @@ --- # file: roles/dpdk/tasks/main.yaml -- name: DPDK - Install Distribution - Release - Machine Prerequisites +- name: Inst - Update Package Cache (APT) + apt: + update_cache: yes + cache_valid_time: 3600 + when: + - ansible_distribution|lower == 'ubuntu' + tags: + - dpdk-inst-prerequisites + +- name: Inst - Prerequisites package: name: "{{ packages | flatten(levels=1) }}" state: latest - update_cache: true tags: - - install-dependencies + - dpdk-inst-prerequisites -- name: DPDK - Download Release Archive +- name: Download Release Archive get_url: url: "{{ dpdk_url }}/dpdk-{{ item }}.tar.xz" dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz" @@ -17,9 +25,9 @@ loop: "{{ dpdk_version }}" register: "dpdk_downloaded" tags: - - install-dpdk + - dpdk-inst -- name: DPDK - Extract Release Archive +- name: Extract Release Archive unarchive: remote_src: true src: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz" @@ -29,21 +37,32 @@ when: "dpdk_downloaded" register: "dpdk_extracted" tags: - - install-dpdk + - dpdk-inst -- name: DPDK - Compile Release I +- name: Build igb_uio by default + lineinfile: + dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}/config/common_base" + regexp: "^CONFIG_RTE_EAL_IGB_UIO" + line: "CONFIG_RTE_EAL_IGB_UIO=y" + loop: "{{ dpdk_version }}" + when: "dpdk_extracted" + register: "dpdk_configured" + tags: + - dpdk-inst + +- name: Compile Release I become: yes 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" + when: "dpdk_configured" register: "dpdk_compiled" tags: - - install-dpdk + - dpdk-inst -- name: DPDK - Link igb_uio Module +- name: 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" loop: "{{ dpdk_version }}" when: "dpdk_compiled" tags: - - install-dpdk + - dpdk-inst \ No newline at end of file