---
-# file: roles/trex/tasks/deploy_block.yaml
+# file: tasks/deploy_block.yaml
- name: Get Release {{ item }}
- get_url:
+ ansible.builtin.get_url:
url: "{{ trex_url }}/v{{ item }}.tar.gz"
dest: "{{ trex_target_dir }}/trex-core-{{ item }}.tar.gz"
- validate_certs: False
+ validate_certs: false
mode: 0644
register: trex_downloaded
- name: Create Directory {{ item }}
- file:
+ ansible.builtin.file:
path: "{{ trex_target_dir }}/trex-core-{{ item }}"
state: "directory"
- name: Extract Release {{ item }}
- unarchive:
+ 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: Patch Azure
- patch:
- src: "files/t-rex.patch"
- basedir: "{{ trex_target_dir }}/trex-core-{{ item }}"
- strip: 1
- when:
- - azure is defined and item == "2.73"
-
- name: Compile Release {{ item }} Part I
- command: "./b configure"
+ ansible.builtin.command: "./b configure"
args:
- chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/"
+ chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/"
when: trex_extracted.changed
- name: Compile Release {{ item }} Part II
- command: "./b build"
+ ansible.builtin.command: "./b build"
args:
- chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/"
+ chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/"
+ async: 3000
+ poll: 0
+ register: trex_built
when: trex_extracted.changed
-- name: Compile Release {{ item }} Part III
- command: "make -j 16"
- args:
- chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src"
+- 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 IV
- command: "make install"
- args:
- chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src"
- when: trex_extracted.changed
\ No newline at end of file
+#- 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