X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=fdio.infra.ansible%2Froles%2Ftrex%2Ftasks%2Fdeploy_block.yaml;h=b436879a54d6f5aecf4908301233d3f80997db15;hb=refs%2Fchanges%2F10%2F37110%2F2;hp=5a7890b0716e7dff8a44af76550138300e617741;hpb=df5672b3d9c29b51397f4770eb992c9f3f3955ce;p=csit.git diff --git a/fdio.infra.ansible/roles/trex/tasks/deploy_block.yaml b/fdio.infra.ansible/roles/trex/tasks/deploy_block.yaml index 5a7890b071..b436879a54 100644 --- a/fdio.infra.ansible/roles/trex/tasks/deploy_block.yaml +++ b/fdio.infra.ansible/roles/trex/tasks/deploy_block.yaml @@ -2,20 +2,20 @@ # file: roles/trex/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 }}/" @@ -23,33 +23,73 @@ register: trex_extracted - name: Patch Azure - patch: + ansible.builtin.patch: src: "files/t-rex.patch" basedir: "{{ trex_target_dir }}/trex-core-{{ item }}" strip: 1 when: - azure is defined and item == "2.73" +- name: Reset gcc-9 + ansible.builtin.command: "update-alternatives --remove-all gcc" + when: trex_extracted.changed + +- name: Reset g++-9 + ansible.builtin.command: "update-alternatives --remove-all g++" + when: trex_extracted.changed + +- name: Switch to gcc-9 + ansible.builtin.command: "update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9" + when: trex_extracted.changed + +- name: Switch to g++-9 + ansible.builtin.command: "update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9" + when: trex_extracted.changed + - 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: 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: Switch to gcc-11 + ansible.builtin.command: "update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11" + when: trex_extracted.changed + +- name: Switch to g++-11 + ansible.builtin.command: "update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11" when: trex_extracted.changed - name: Compile Release {{ item }} Part III - command: "make -j 16" + ansible.builtin.command: "make -j 16" args: - chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src" + chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src" when: trex_extracted.changed - name: Compile Release {{ item }} Part IV - command: "make install" + ansible.builtin.command: "make install" args: - chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src" - when: trex_extracted.changed \ No newline at end of file + 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