diff options
Diffstat (limited to 'fdio.infra.ansible/roles')
5 files changed, 73 insertions, 29 deletions
diff --git a/fdio.infra.ansible/roles/dpdk/defaults/main.yaml b/fdio.infra.ansible/roles/dpdk/defaults/main.yaml index 2a8c691728..11affc4a26 100644 --- a/fdio.infra.ansible/roles/dpdk/defaults/main.yaml +++ b/fdio.infra.ansible/roles/dpdk/defaults/main.yaml @@ -23,9 +23,5 @@ packages_by_arch: dpdk_target_dir: "/opt" dpdk_version: - - "20.02" + - "21.02" dpdk_url: "https://fast.dpdk.org/rel" -dpdk_build_targets: - "20.02": - aarch64: "arm64-armv8a-linux-gcc" - x86_64: "x86_64-native-linux-gcc" diff --git a/fdio.infra.ansible/roles/dpdk/meta/main.yaml b/fdio.infra.ansible/roles/dpdk/meta/main.yaml new file mode 100644 index 0000000000..8acf6ef9b5 --- /dev/null +++ b/fdio.infra.ansible/roles/dpdk/meta/main.yaml @@ -0,0 +1,24 @@ +--- +# file: roles/dpdk/meta/main.yaml + +# desc: Install DPDK from stable branch and configure service. +# inst: DPDK +# conf: ? +# info: 1.0 - added role + +dependencies: [ ] + +galaxy_info: + role_name: dpdk + author: fd.io + description: DPDK for Linux. + company: none + license: "license (Apache)" + min_ansible_version: 2.9 + platforms: + - name: Ubuntu + versions: + - bionic + - focal + galaxy_tags: + - dpdk diff --git a/fdio.infra.ansible/roles/dpdk/molecule/default/converge.yml b/fdio.infra.ansible/roles/dpdk/molecule/default/converge.yml new file mode 100644 index 0000000000..ab8392c3dc --- /dev/null +++ b/fdio.infra.ansible/roles/dpdk/molecule/default/converge.yml @@ -0,0 +1,9 @@ +--- +# file: molecule/default/converge.yaml + +- name: Converge + hosts: all + become: true + + roles: + - role: csit.dpdk diff --git a/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml b/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml new file mode 100644 index 0000000000..1910c4780c --- /dev/null +++ b/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml @@ -0,0 +1,21 @@ +--- +# file: molecule/default/molecule.yaml + +dependency: + name: galaxy +driver: + name: docker +lint: | + yamllint . + ansible-lint +platforms: + - name: ${DISTRO:-ubuntu-20.04} + image: "pmikus/docker-${MOLECULE_DISTRO:-ubuntu-20.04}-ansible:latest" + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true +provisioner: + name: ansible + playbooks: + converge: ${MOLECULE_PLAYBOOK:-converge.yml} diff --git a/fdio.infra.ansible/roles/dpdk/tasks/main.yaml b/fdio.infra.ansible/roles/dpdk/tasks/main.yaml index 46f942be93..9052baff74 100644 --- a/fdio.infra.ansible/roles/dpdk/tasks/main.yaml +++ b/fdio.infra.ansible/roles/dpdk/tasks/main.yaml @@ -3,21 +3,21 @@ - name: Inst - Update Package Cache (APT) apt: - update_cache: yes + update_cache: true cache_valid_time: 3600 when: - - ansible_distribution|lower == 'ubuntu' + - ansible_distribution == 'Ubuntu' tags: - dpdk-inst-prerequisites - name: Inst - Prerequisites package: name: "{{ packages | flatten(levels=1) }}" - state: latest + state: "latest" tags: - dpdk-inst-prerequisites -- name: Download Release Archive +- name: Inst - Download Release Archive get_url: url: "{{ dpdk_url }}/dpdk-{{ item }}.tar.xz" dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz" @@ -27,7 +27,7 @@ tags: - dpdk-inst -- name: Extract Release Archive +- name: Inst - Extract Release Archive unarchive: remote_src: true src: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz" @@ -39,30 +39,24 @@ tags: - dpdk-inst -- 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" +- name: Inst - Compile Release I + command: "meson -Dexamples=l3fwd build" + args: + chdir: "{{ dpdk_target_dir }}/dpdk-{{ item }}" + environment: + CFLAGS: "-DRTE_LIBRTE_I40E_16BYTE_RX_DESC=y" loop: "{{ dpdk_version }}" - when: "dpdk_extracted" - register: "dpdk_configured" + register: "dpdk_compiled" 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 }}" +- name: Inst - Compile Release II + command: "ninja -C build" + args: + chdir: "{{ dpdk_target_dir }}/dpdk-{{ item }}" + environment: + CFLAGS: "-DRTE_LIBRTE_I40E_16BYTE_RX_DESC=y" loop: "{{ dpdk_version }}" - when: "dpdk_configured" register: "dpdk_compiled" tags: - dpdk-inst - -- 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: - - dpdk-inst
\ No newline at end of file |