diff options
Diffstat (limited to 'fdio.infra.ansible/roles/dpdk')
5 files changed, 52 insertions, 66 deletions
diff --git a/fdio.infra.ansible/roles/dpdk/defaults/main.yaml b/fdio.infra.ansible/roles/dpdk/defaults/main.yaml index b9602bc2d2..d94e9ac91f 100644 --- a/fdio.infra.ansible/roles/dpdk/defaults/main.yaml +++ b/fdio.infra.ansible/roles/dpdk/defaults/main.yaml @@ -1,5 +1,5 @@ --- -# file: roles/dpdk/defaults/main.yaml +# file: defaults/main.yaml packages: "{{ packages_base + packages_by_distro[ansible_distribution|lower][ansible_distribution_release] + packages_by_arch[ansible_machine] }}" @@ -8,9 +8,6 @@ packages_base: packages_by_distro: ubuntu: - focal: - - "build-essential" - - "libnuma-dev" jammy: - "build-essential" - "libnuma-dev" @@ -23,5 +20,5 @@ packages_by_arch: dpdk_target_dir: "/opt" dpdk_version: - - "22.03" + - "23.11" dpdk_url: "https://fast.dpdk.org/rel" diff --git a/fdio.infra.ansible/roles/dpdk/meta/main.yaml b/fdio.infra.ansible/roles/dpdk/meta/main.yaml index e52ecb87c1..3ca2918d36 100644 --- a/fdio.infra.ansible/roles/dpdk/meta/main.yaml +++ b/fdio.infra.ansible/roles/dpdk/meta/main.yaml @@ -1,24 +1,18 @@ --- -# file: roles/dpdk/meta/main.yaml - -# desc: Install DPDK from stable branch and configure service. -# inst: DPDK -# conf: ? -# info: 1.0 - added role +# file: meta/main.yaml dependencies: [] galaxy_info: - role_name: dpdk - author: fd.io - description: DPDK for Linux. - company: none + role_name: "dpdk" + author: "fd.io" + description: "DPDK for Linux." + company: "none" license: "license (Apache)" min_ansible_version: 2.9 platforms: - - name: Ubuntu + - name: "Ubuntu" versions: - - focal - - jammy + - "jammy" galaxy_tags: - - dpdk + - "dpdk" diff --git a/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml b/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml index 1910c4780c..060f842db7 100644 --- a/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml +++ b/fdio.infra.ansible/roles/dpdk/molecule/default/molecule.yml @@ -9,8 +9,8 @@ lint: | yamllint . ansible-lint platforms: - - name: ${DISTRO:-ubuntu-20.04} - image: "pmikus/docker-${MOLECULE_DISTRO:-ubuntu-20.04}-ansible:latest" + - name: ${DISTRO:-ubuntu-22.04} + image: "pmikus/docker-${MOLECULE_DISTRO:-ubuntu-22.04}-ansible:latest" volumes: - /sys/fs/cgroup:/sys/fs/cgroup:ro privileged: true diff --git a/fdio.infra.ansible/roles/dpdk/tasks/deploy_block.yaml b/fdio.infra.ansible/roles/dpdk/tasks/deploy_block.yaml new file mode 100644 index 0000000000..1f972f5320 --- /dev/null +++ b/fdio.infra.ansible/roles/dpdk/tasks/deploy_block.yaml @@ -0,0 +1,33 @@ +--- +# file: tasks/deploy_block.yaml + +- name: Download Release {{ item }} + ansible.builtin.get_url: + url: "{{ dpdk_url }}/dpdk-{{ item }}.tar.xz" + dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz" + mode: 0644 + register: dpdk_downloaded + +- name: Extract Release {{ item }} + ansible.builtin.unarchive: + remote_src: true + src: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz" + dest: "{{ dpdk_target_dir }}/" + creates: "{{ dpdk_target_dir }}/dpdk-{{ item }}" + when: dpdk_downloaded + register: dpdk_extracted + +- name: Compile Release I + ansible.builtin.command: "meson -Dexamples=l3fwd build" + args: + chdir: "{{ dpdk_target_dir }}/dpdk-{{ item }}" + environment: + CFLAGS: "-DRTE_LIBRTE_I40E_16BYTE_RX_DESC=y" + register: dpdk_compiled + +- name: Compile Release II + ansible.builtin.command: "ninja -C build" + args: + chdir: "{{ dpdk_target_dir }}/dpdk-{{ item }}" + environment: + CFLAGS: "-DRTE_LIBRTE_I40E_16BYTE_RX_DESC=y"
\ No newline at end of file diff --git a/fdio.infra.ansible/roles/dpdk/tasks/main.yaml b/fdio.infra.ansible/roles/dpdk/tasks/main.yaml index 9052baff74..4f6c9ec9f2 100644 --- a/fdio.infra.ansible/roles/dpdk/tasks/main.yaml +++ b/fdio.infra.ansible/roles/dpdk/tasks/main.yaml @@ -1,8 +1,8 @@ --- -# file: roles/dpdk/tasks/main.yaml +# file: tasks/main.yaml -- name: Inst - Update Package Cache (APT) - apt: +- name: Update Package Cache (APT) + ansible.builtin.apt: update_cache: true cache_valid_time: 3600 when: @@ -10,53 +10,15 @@ tags: - dpdk-inst-prerequisites -- name: Inst - Prerequisites - package: +- name: Prerequisites + ansible.builtin.package: name: "{{ packages | flatten(levels=1) }}" state: "latest" tags: - dpdk-inst-prerequisites -- name: Inst - Download Release Archive - get_url: - url: "{{ dpdk_url }}/dpdk-{{ item }}.tar.xz" - dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz" - mode: 0644 +- name: Multiple DPDK Versions + include_tasks: deploy_block.yaml loop: "{{ dpdk_version }}" - register: "dpdk_downloaded" - tags: - - dpdk-inst - -- name: Inst - Extract Release Archive - unarchive: - remote_src: true - src: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz" - dest: "{{ dpdk_target_dir }}/" - creates: "{{ dpdk_target_dir }}/dpdk-{{ item }}" - loop: "{{ dpdk_version }}" - when: "dpdk_downloaded" - register: "dpdk_extracted" - tags: - - dpdk-inst - -- 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 }}" - register: "dpdk_compiled" - tags: - - dpdk-inst - -- 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 }}" - register: "dpdk_compiled" tags: - dpdk-inst |