--- # file: tasks/deploy_block.yaml - name: Get Release {{ item }} ansible.builtin.get_url: url: "{{ trex_url }}/v{{ item }}.tar.gz" dest: "{{ trex_target_dir }}/trex-core-{{ item }}.tar.gz" validate_certs: false mode: 0644 register: trex_downloaded - name: Create Directory {{ item }} ansible.builtin.file: path: "{{ trex_target_dir }}/trex-core-{{ item }}" state: "directory" - name: Extract Release {{ item }} ansible.builtin.unarchive: remote_src: true src: "{{ trex_target_dir }}/trex-core-{{ item }}.tar.gz" dest: "{{ trex_target_dir }}/" creates: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/" register: trex_extracted - name: Compile Release {{ item }} Part I ansible.builtin.command: "./b configure" args: chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/" when: trex_extracted.changed - name: Compile Release {{ item }} Part II ansible.builtin.command: "./b build" args: chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/" async: 3000 poll: 0 register: trex_built when: trex_extracted.changed - name: Check if T-Rex is Compiled async_status: jid: "{{ trex_built.ansible_job_id }}" register: trex_built until: trex_built.finished delay: 10 retries: 300 when: trex_extracted.changed - name: Compile Release {{ item }} Part III ansible.builtin.command: "make -j 16" args: chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src" when: trex_extracted.changed - name: Compile Release {{ item }} Part IV ansible.builtin.command: "make install" args: chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src" when: trex_extracted.changed - name: Link libc.a to liblibc.a ansible.builtin.command: "ln -s -f /usr/lib/x86_64-linux-gnu/libc.a /usr/lib/x86_64-linux-gnu/liblibc.a" when: trex_extracted.changed