aboutsummaryrefslogtreecommitdiffstats
path: root/fdio.infra.ansible/roles/common
diff options
context:
space:
mode:
Diffstat (limited to 'fdio.infra.ansible/roles/common')
-rw-r--r--fdio.infra.ansible/roles/common/defaults/main.yaml72
-rw-r--r--fdio.infra.ansible/roles/common/handlers/main.yaml8
-rw-r--r--fdio.infra.ansible/roles/common/tasks/main.yaml55
3 files changed, 135 insertions, 0 deletions
diff --git a/fdio.infra.ansible/roles/common/defaults/main.yaml b/fdio.infra.ansible/roles/common/defaults/main.yaml
new file mode 100644
index 0000000000..43e40ebdf6
--- /dev/null
+++ b/fdio.infra.ansible/roles/common/defaults/main.yaml
@@ -0,0 +1,72 @@
+---
+# file: roles/common/defaults/main.yaml
+
+packages: "{{ packages_base + packages_by_distro[ansible_distribution|lower][ansible_distribution_release] + packages_by_arch[ansible_machine] }}"
+
+packages_base:
+ - "autoconf"
+ - "cgroup-tools"
+ - "dkms"
+ - "iperf3"
+ - "linux-tools-common"
+ - "ninja-build"
+ - "qemu-system"
+ - "socat"
+ - "unzip"
+ - "virtualenv"
+
+packages_by_distro:
+ ubuntu:
+ bionic:
+ - "build-essential"
+ - "libpcap-dev"
+ - "net-tools"
+ - "python-all"
+ - "python-apt"
+ - "python-cffi"
+ - "python-cffi-backend"
+ - "python-dev"
+ - "python-pip"
+ - "python-setuptools"
+ - "python3-all"
+ - "python3-apt"
+ - "python3-cffi"
+ - "python3-cffi-backend"
+ - "python3-dev"
+ - "python3-pip"
+ - "python3-pyelftools"
+ - "python3-setuptools"
+ focal:
+ - "build-essential"
+ - "libpcap-dev"
+ - "net-tools"
+ - "python3-all"
+ - "python3-apt"
+ - "python3-cffi"
+ - "python3-cffi-backend"
+ - "python3-dev"
+ - "python3-pip"
+ - "python3-pyelftools"
+ - "python3-setuptools"
+
+packages_by_arch:
+ aarch64:
+ - "gfortran"
+ - "libblas-dev"
+ - "libffi-dev"
+ - "liblapack-dev"
+ - "libssl-dev"
+ x86_64:
+ - []
+
+# Proxy settings: Uncomment and fill the proper values. These variables will be
+# set globally by writing into /etc/environment file on target machine.
+#proxy_env:
+# http_proxy: http://proxy.com:80
+# HTTP_PROXY: http://proxy.com:80
+# https_proxy: http://proxy.com:80
+# HTTPS_PROXY: http://proxy.com:80
+# ftp_proxy: http://proxy.com:80
+# FTP_PROXY: http://proxy.com:80
+# no_proxy: localhost,127.0.0.1,{{ ansible_default_ipv4.address }}
+# NO_PROXY: localhost,127.0.0.1,{{ ansible_default_ipv4.address }} \ No newline at end of file
diff --git a/fdio.infra.ansible/roles/common/handlers/main.yaml b/fdio.infra.ansible/roles/common/handlers/main.yaml
new file mode 100644
index 0000000000..bb317e8067
--- /dev/null
+++ b/fdio.infra.ansible/roles/common/handlers/main.yaml
@@ -0,0 +1,8 @@
+---
+# file: roles/common/handlers/main.yaml
+
+- name: Reboot Server
+ reboot:
+ reboot_timeout: 3600
+ tags:
+ - reboot-server
diff --git a/fdio.infra.ansible/roles/common/tasks/main.yaml b/fdio.infra.ansible/roles/common/tasks/main.yaml
new file mode 100644
index 0000000000..60b49842d2
--- /dev/null
+++ b/fdio.infra.ansible/roles/common/tasks/main.yaml
@@ -0,0 +1,55 @@
+---
+# file: roles/common/tasks/main.yaml
+
+- name: Conf - Add permanent proxy settings
+ lineinfile:
+ path: "/etc/environment"
+ state: "present"
+ line: "{{ item.key }}={{ item.value }}"
+ with_dict: "{{ proxy_env }}"
+ when: proxy_env is defined
+ tags:
+ - common-conf-proxy
+
+- name: Inst - Update package cache (apt)
+ apt:
+ update_cache: yes
+ cache_valid_time: 3600
+ when:
+ - ansible_distribution|lower == 'ubuntu'
+ tags:
+ - common-inst-prerequisites
+
+- name: Inst - Prerequisites
+ package:
+ name: "{{ packages | flatten(levels=1) }}"
+ state: latest
+ tags:
+ - common-inst-prerequisites
+
+- name: Inst - Meson (DPDK)
+ pip:
+ name:
+ - "meson==0.47.1"
+ tags:
+ - common-inst-meson
+
+- name: Conf - sudoers admin
+ lineinfile:
+ path: "/etc/sudoers"
+ state: "present"
+ regexp: "^%admin ALL="
+ line: "%admin ALL=(ALL) ALL"
+ validate: "/usr/sbin/visudo -cf %s"
+ tags:
+ - common-conf-sudoers
+
+- name: Conf - sudoers nopasswd
+ lineinfile:
+ path: "/etc/sudoers"
+ state: "present"
+ regexp: "^%sudo"
+ line: "%sudo ALL=(ALL:ALL) NOPASSWD: ALL"
+ validate: "/usr/sbin/visudo -cf %s"
+ tags:
+ - common-conf-sudoers