summaryrefslogtreecommitdiffstats
path: root/ansible/roles/install_dpdk
diff options
context:
space:
mode:
authorRoss Brattain <ross.b.brattain@intel.com>2017-08-11 17:47:29 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-08-11 17:47:29 +0000
commit0949884ab431a16dc1841118e13c0b893fa11b85 (patch)
treeba8588f8fbaf0a17179b339f5512d949386a77a7 /ansible/roles/install_dpdk
parent43bf12d6ab7bcaea16dc75ed4ccbe3895cf51da3 (diff)
parentc7c51d5100e8eba93337c34bd9eb101ec4cf70df (diff)
Merge "yardstick setup ansible, including load_images"
Diffstat (limited to 'ansible/roles/install_dpdk')
-rwxr-xr-xansible/roles/install_dpdk/tasks/Debian.yml19
-rw-r--r--ansible/roles/install_dpdk/tasks/RedHat.yml19
-rw-r--r--ansible/roles/install_dpdk/tasks/main.yml90
-rw-r--r--ansible/roles/install_dpdk/vars/main.yml9
4 files changed, 137 insertions, 0 deletions
diff --git a/ansible/roles/install_dpdk/tasks/Debian.yml b/ansible/roles/install_dpdk/tasks/Debian.yml
new file mode 100755
index 000000000..486d40e11
--- /dev/null
+++ b/ansible/roles/install_dpdk/tasks/Debian.yml
@@ -0,0 +1,19 @@
+# Copyright (c) 2017 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+- name: Install DPDK build dependencies
+ action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
+ with_items:
+ - libpcap-dev
+
diff --git a/ansible/roles/install_dpdk/tasks/RedHat.yml b/ansible/roles/install_dpdk/tasks/RedHat.yml
new file mode 100644
index 000000000..af35c9b3e
--- /dev/null
+++ b/ansible/roles/install_dpdk/tasks/RedHat.yml
@@ -0,0 +1,19 @@
+# Copyright (c) 2017 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+- name: Install DPDK build dependencies
+ action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
+ with_items:
+ - libpcap-devel
+
diff --git a/ansible/roles/install_dpdk/tasks/main.yml b/ansible/roles/install_dpdk/tasks/main.yml
new file mode 100644
index 000000000..fca0e33af
--- /dev/null
+++ b/ansible/roles/install_dpdk/tasks/main.yml
@@ -0,0 +1,90 @@
+# Copyright (c) 2017 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+#- patch: src="{{ item }}" basedir="{{ dpdk_path }}" strip=0
+# with_fileglob:
+# - "{{ local_nsb_path }}/patches/dpdk_custom_patch/rte_pipeline.patch"
+#
+#- patch: src="{{ item }}" basedir="{{ dpdk_path }}" strip=1
+# with_fileglob:
+# - "{{ local_nsb_path }}/patches/dpdk_custom_patch/0*.patch"
+
+- include: "{{ ansible_os_family }}.yml"
+
+- my_make:
+ chdir: "{{ dpdk_path }}"
+ target: config
+ params:
+ T: "{{ dpdk_make_arch }}"
+ O: "{{ dpdk_make_arch }}"
+ extra_args: "-j {{ ansible_processor_vcpus }}"
+
+- name: enable RTE_PORT_STATS_COLLECT
+ lineinfile:
+ dest: "{{ dpdk_path }}/{{ dpdk_make_arch }}/.config"
+ regexp: '^CONFIG_RTE_PORT_STATS_COLLECT=n'
+ line: 'CONFIG_RTE_PORT_STATS_COLLECT=y'
+
+- name: enable DPDK RTE_PORT_PCAP
+ lineinfile:
+ dest: "{{ dpdk_path }}/{{ dpdk_make_arch }}/.config"
+ regexp: '^CONFIG_RTE_PORT_PCAP=n'
+ line: 'CONFIG_RTE_PORT_PCAP=y'
+
+- name: enable DPDK RTE_TABLE_STATS_COLLECT
+ lineinfile:
+ dest: "{{ dpdk_path }}/{{ dpdk_make_arch }}/.config"
+ regexp: '^CONFIG_RTE_TABLE_STATS_COLLECT=n'
+ line: 'CONFIG_RTE_TABLE_STATS_COLLECT=y'
+
+- name: enable DPDK RTE_PIPELINE_STATS_COLLECT
+ lineinfile:
+ dest: "{{ dpdk_path }}/{{ dpdk_make_arch }}/.config"
+ regexp: '^CONFIG_RTE_PIPELINE_STATS_COLLECT=n'
+ line: 'CONFIG_RTE_PIPELINE_STATS_COLLECT=y'
+
+- my_make:
+ chdir: "{{ dpdk_path }}/{{ dpdk_make_arch}}"
+ extra_args: "-j {{ ansible_processor_vcpus }}"
+
+- file:
+ path: "{{ dpdk_module_dir}}"
+ state: directory
+
+- copy:
+ src: "{{ dpdk_path }}/{{ dpdk_make_arch }}/kmod/igb_uio.ko"
+ dest: "{{ dpdk_module_dir }}/igb_uio.ko"
+ remote_src: yes
+
+- command: depmod -a
+
+- file:
+ path: "{{ INSTALL_BIN_PATH }}"
+ state: directory
+
+- name: copy dpdk-devbind.py to correct location
+ copy:
+ src: "{{ dpdk_devbind[dpdk_version] }}"
+ dest: "{{ INSTALL_BIN_PATH }}/dpdk-devbind.py"
+ remote_src: yes
+ force: yes
+ mode: 0755
+
+- name: make dpdk_nic_bind.py for backwards compatibility
+ copy:
+ src: "{{ dpdk_devbind[dpdk_version] }}"
+ dest: "{{ INSTALL_BIN_PATH }}/dpdk_nic_bind.py"
+ remote_src: yes
+ force: yes
+ mode: 0755
diff --git a/ansible/roles/install_dpdk/vars/main.yml b/ansible/roles/install_dpdk/vars/main.yml
new file mode 100644
index 000000000..a226045f5
--- /dev/null
+++ b/ansible/roles/install_dpdk/vars/main.yml
@@ -0,0 +1,9 @@
+---
+dpdk_make_arch: x86_64-native-linuxapp-gcc
+dpdk_module_dir: "/lib/modules/{{ ansible_kernel }}/extra"
+hugetable_mount: /mnt/huge
+dpdk_devbind:
+ "16.07": "{{ dpdk_path }}/tools/dpdk-devbind.py"
+ "17.02": "{{ dpdk_path }}/usertools/dpdk-devbind.py"
+ "17.04": "{{ dpdk_path }}/usertools/dpdk-devbind.py"
+>>>>>>> 1f587bb... DRAFT: yardstick setup ansible, including load_images