From b44e5f78dabc49ce45c68cedb0fcb78dca164aea Mon Sep 17 00:00:00 2001 From: pmikus Date: Wed, 18 Nov 2020 09:55:11 +0000 Subject: T-Rex: 2.86 Signed-off-by: pmikus Change-Id: Id56b87ab868f2897a6563914b0beca2acc25e706 --- .../ansible/roles/trex/defaults/main.yaml | 6 ++ .../ansible/roles/trex/tasks/deploy_block.yaml | 55 +++++++++++++++ .../ansible/roles/trex/tasks/main.yaml | 79 ++-------------------- 3 files changed, 65 insertions(+), 75 deletions(-) create mode 100644 resources/tools/testbed-setup/ansible/roles/trex/tasks/deploy_block.yaml (limited to 'resources/tools/testbed-setup/ansible/roles') diff --git a/resources/tools/testbed-setup/ansible/roles/trex/defaults/main.yaml b/resources/tools/testbed-setup/ansible/roles/trex/defaults/main.yaml index 77d0aaa08a..c3caf52d76 100644 --- a/resources/tools/testbed-setup/ansible/roles/trex/defaults/main.yaml +++ b/resources/tools/testbed-setup/ansible/roles/trex/defaults/main.yaml @@ -28,6 +28,12 @@ packages_by_arch: trex_target_dir: "/opt" trex_url: "https://github.com/cisco-system-traffic-generator/trex-core/archive/" trex_version: + # rls1908 - "2.54" + # rls2001 + # rls2005 - "2.73" + # rls2009 - "2.82" + # rls2101 + - "2.86" diff --git a/resources/tools/testbed-setup/ansible/roles/trex/tasks/deploy_block.yaml b/resources/tools/testbed-setup/ansible/roles/trex/tasks/deploy_block.yaml new file mode 100644 index 0000000000..1513a0a617 --- /dev/null +++ b/resources/tools/testbed-setup/ansible/roles/trex/tasks/deploy_block.yaml @@ -0,0 +1,55 @@ +--- +# file: roles/trex/tasks/deploy_block.yaml + +- name: "Get Release {{ item }}" + 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 }}" + file: + path: "{{ trex_target_dir }}/trex-core-{{ item }}" + state: "directory" + +- name: "Extract Release {{ item }}" + 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" + args: + chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/" + when: trex_extracted.changed + +- name: "Compile Release {{ item }} Part II" + command: "./b build" + args: + chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/" + 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" + 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 diff --git a/resources/tools/testbed-setup/ansible/roles/trex/tasks/main.yaml b/resources/tools/testbed-setup/ansible/roles/trex/tasks/main.yaml index 4e6715152b..019a27f79d 100644 --- a/resources/tools/testbed-setup/ansible/roles/trex/tasks/main.yaml +++ b/resources/tools/testbed-setup/ansible/roles/trex/tasks/main.yaml @@ -1,7 +1,7 @@ --- # file: roles/trex/tasks/main.yaml -- name: T-Rex - Distribution - Release - Machine Prerequisites +- name: Install Distribution - Release - Machine Prerequisites package: name: "{{ packages | flatten(levels=1) }}" state: latest @@ -9,79 +9,8 @@ tags: - install-dependencies -- name: T-Rex - Get Release Archive - get_url: - url: "{{ trex_url }}/v{{ item }}.tar.gz" - dest: "{{ trex_target_dir }}/trex-core-{{ item }}.tar.gz" - validate_certs: False - mode: 0644 +- name: Deploy Multiple T-Rex Versions + include_tasks: deploy_block.yaml loop: "{{ trex_version }}" - register: trex_downloaded tags: - - install-trex - -- name: T-Rex - Ensure Directory Exists - file: - path: "{{ trex_target_dir }}/trex-core-{{ item }}" - state: "directory" - loop: "{{ trex_version }}" - tags: - - install-trex - -- name: T-Rex - Extract Release Archive - 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/" - loop: "{{ trex_version }}" - register: trex_extracted - tags: - - install-trex - -- name: T-Rex - Azure patch I - patch: - src: "files/t-rex.patch" - basedir: "{{ trex_target_dir }}/trex-core-{{ item }}" - strip: 1 - loop: "{{ trex_version }}" - when: - - azure is defined and "{{ item }}" == "2.73" - tags: - - install-trex - -- name: T-Rex - Compile Release I - command: "./b configure" - args: - chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/" - loop: "{{ trex_version }}" - when: trex_extracted - tags: - - install-trex - -- name: T-Rex - Compile Release II - command: "./b build" - args: - chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/" - loop: "{{ trex_version }}" - when: trex_extracted - tags: - - install-trex - -- name: T-Rex - Compile Release III - command: "make -j 16" - args: - chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src" - loop: "{{ trex_version }}" - when: trex_extracted - tags: - - install-trex - -- name: T-Rex - Compile Release IV - command: "make install" - args: - chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src" - loop: "{{ trex_version }}" - when: trex_extracted - tags: - - install-trex + - install-trex \ No newline at end of file -- cgit 1.2.3-korg