From: Peter Mikus Date: Fri, 12 Apr 2019 20:22:05 +0000 (+0000) Subject: Add DPDK install to ansible X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=commitdiff_plain;h=de305de0b89f083037bdac86bb8f3739f5eeecf9 Add DPDK install to ansible Change-Id: If838c2a008ffd5bdf458c76d729f57b47e225b41 Signed-off-by: Peter Mikus --- diff --git a/resources/tools/testbed-setup/ansible/inventories/lf_inventory/group_vars/all.yaml b/resources/tools/testbed-setup/ansible/inventories/lf_inventory/group_vars/all.yaml index 452a12c6fc..cae851dc93 100644 --- a/resources/tools/testbed-setup/ansible/inventories/lf_inventory/group_vars/all.yaml +++ b/resources/tools/testbed-setup/ansible/inventories/lf_inventory/group_vars/all.yaml @@ -41,6 +41,12 @@ kubernetes_version: '1.11.0-00' kubernetes_repository: 'deb http://apt.kubernetes.io/ kubernetes-xenial {{ kubernetes_channel }}' kubernetes_apt_package_name: '{{ kubernetes_version }}' +# DPDK settings. +dpdk: + target_dir: '/opt' + version: 'dpdk-19.02' + url: 'https://fast.dpdk.org/rel' + # Calibration settings. jitter: directory: '/tmp/pma_tools' diff --git a/resources/tools/testbed-setup/ansible/roles/sut/tasks/dpdk.yaml b/resources/tools/testbed-setup/ansible/roles/sut/tasks/dpdk.yaml new file mode 100644 index 0000000000..a4ae7790bf --- /dev/null +++ b/resources/tools/testbed-setup/ansible/roles/sut/tasks/dpdk.yaml @@ -0,0 +1,23 @@ +--- +# file: roles/sut/tasks/dpdk.yaml + +- name: Download DPDK release archive + get_url: + url: '{{ dpdk.url }}/{{ dpdk.version }}.tar.xz' + dest: '{{ dpdk.target_dir }}/{{ dpdk.version }}.tar.xz' + mode: 0644 + register: 'linux__dpdk_downloaded' + tags: install-dpdk + +- name: Extract DPDK release archive + become: yes + shell: 'cd {{ dpdk.target_dir }}; tar xf {{ dpdk.target_dir }}/{{ dpdk.version }}.tar.xz' + when: 'linux__dpdk_downloaded' + register: 'linux__dpdk_extracted' + tags: install-dpdk + +- name: Compile DPDK release + become: yes + command: 'make install T={{ ansible_machine }}-native-linuxapp-gcc DESTDIR={{ dpdk.target_dir }}/{{ dpdk.version }} chdir={{ dpdk.target_dir }}/{{ dpdk.version }}' + when: 'linux__dpdk_extracted' + tags: install-dpdk diff --git a/resources/tools/testbed-setup/ansible/roles/sut/tasks/main.yaml b/resources/tools/testbed-setup/ansible/roles/sut/tasks/main.yaml index 53f1f9b6c2..93847849c5 100644 --- a/resources/tools/testbed-setup/ansible/roles/sut/tasks/main.yaml +++ b/resources/tools/testbed-setup/ansible/roles/sut/tasks/main.yaml @@ -16,21 +16,6 @@ become: yes tags: copy-80-vpp -- name: Get kernel-kvm version - shell: "apt-cache depends -i linux-image-kvm | grep Depends: | cut -d' ' -f4" - register: 'linux__image_kvm_read' - tags: install-kernelvm - -- name: Download kernel-kvm - shell: "apt-get -y download {{ linux__image_kvm_read.stdout }}" - args: - warn: false # Prevent warning as APT module does not support download. - register: 'linux__image_kvm_download' - when: 'linux__image_kvm_read' - tags: install-kernelvm - -- name: Unpack kernel-kvm - shell: "dpkg --extract {{ linux__image_kvm_read.stdout }}_*.deb /opt/" - when: 'linux__image_kvm_download' - tags: install-kernelvm - +- name: Install DPDK + include_tasks: 'dpdk.yaml' + tags: install-dpdk diff --git a/resources/tools/testbed-setup/ansible/roles/sut/tasks/ubuntu_bionic.yaml b/resources/tools/testbed-setup/ansible/roles/sut/tasks/ubuntu_bionic.yaml index 8f0be4331c..506cb3ace5 100644 --- a/resources/tools/testbed-setup/ansible/roles/sut/tasks/ubuntu_bionic.yaml +++ b/resources/tools/testbed-setup/ansible/roles/sut/tasks/ubuntu_bionic.yaml @@ -23,3 +23,21 @@ state: 'present' install_recommends: False tags: install-csit-dependencies + +- name: Get kernel-kvm version + shell: "apt-cache depends -i linux-image-kvm | grep Depends: | cut -d' ' -f4" + register: 'linux__image_kvm_read' + tags: install-kernelvm + +- name: Download kernel-kvm + shell: "apt-get -y download {{ linux__image_kvm_read.stdout }}" + args: + warn: false # Prevent warning as APT module does not support download. + register: 'linux__image_kvm_download' + when: 'linux__image_kvm_read' + tags: install-kernelvm + +- name: Unpack kernel-kvm + shell: "dpkg --extract {{ linux__image_kvm_read.stdout }}_*.deb /opt/" + when: 'linux__image_kvm_download' + tags: install-kernelvm