aboutsummaryrefslogtreecommitdiffstats
path: root/ansible/roles/install_image_dependencies
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/roles/install_image_dependencies')
-rw-r--r--ansible/roles/install_image_dependencies/defaults/main.yml46
-rw-r--r--ansible/roles/install_image_dependencies/tasks/Debian.yml15
-rw-r--r--ansible/roles/install_image_dependencies/tasks/RedHat.yml16
-rw-r--r--ansible/roles/install_image_dependencies/tasks/main.yml23
4 files changed, 100 insertions, 0 deletions
diff --git a/ansible/roles/install_image_dependencies/defaults/main.yml b/ansible/roles/install_image_dependencies/defaults/main.yml
new file mode 100644
index 000000000..b1695e278
--- /dev/null
+++ b/ansible/roles/install_image_dependencies/defaults/main.yml
@@ -0,0 +1,46 @@
+---
+pkg_mgr_retries: 3
+epel_rpm_el7: https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
+
+install_dependencies:
+ Debian:
+ - bc
+ - fio
+ - git
+ - gcc
+ - iperf3
+ - ethtool
+ - iproute2
+ - linux-tools-common
+ - linux-tools-generic
+ - lmbench
+ - make
+ - netperf
+ - patch
+ - perl
+ - rt-tests
+ - stress
+ - sysstat
+ - unzip
+ # for Trex
+ - libpython2.7-dev
+ RedHat:
+ - bc
+ - fio
+ - git
+ - gcc
+ - iperf3
+ - ethtool
+ - iproute
+ - perf
+ - kernel-tools
+ - lmbench
+ - make
+ - netperf
+ - patch
+ - perl
+ - rt-tests
+ - stress
+ - sysstat
+ - unzip
+ - python-devel
diff --git a/ansible/roles/install_image_dependencies/tasks/Debian.yml b/ansible/roles/install_image_dependencies/tasks/Debian.yml
new file mode 100644
index 000000000..a54e115be
--- /dev/null
+++ b/ansible/roles/install_image_dependencies/tasks/Debian.yml
@@ -0,0 +1,15 @@
+# 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.
+---
+
diff --git a/ansible/roles/install_image_dependencies/tasks/RedHat.yml b/ansible/roles/install_image_dependencies/tasks/RedHat.yml
new file mode 100644
index 000000000..9f5cdce96
--- /dev/null
+++ b/ansible/roles/install_image_dependencies/tasks/RedHat.yml
@@ -0,0 +1,16 @@
+# 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 EPEL if needed
+ action: "{{ ansible_pkg_mgr }} name={{ epel_rpm_el7 }} state=present"
diff --git a/ansible/roles/install_image_dependencies/tasks/main.yml b/ansible/roles/install_image_dependencies/tasks/main.yml
new file mode 100644
index 000000000..33d99af06
--- /dev/null
+++ b/ansible/roles/install_image_dependencies/tasks/main.yml
@@ -0,0 +1,23 @@
+# 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: OS pre-workarounds
+ include: "{{ target_os_family }}.yml"
+
+ - name: Install core packages
+ action: "{{ ansible_pkg_mgr }} name={{ item }} state=latest"
+ register: pkg_mgr_results
+ retries: "{{ pkg_mgr_retries }}"
+ until: pkg_mgr_results|success
+ with_items: "{{ install_dependencies[target_os_family] }}"