Add PAPI dependencies
[csit.git] / resources / tools / testbed-setup / ansible / roles / tg_sut / tasks / ubuntu_bionic.yaml
diff --git a/resources/tools/testbed-setup/ansible/roles/tg_sut/tasks/ubuntu_bionic.yaml b/resources/tools/testbed-setup/ansible/roles/tg_sut/tasks/ubuntu_bionic.yaml
new file mode 100644 (file)
index 0000000..1946097
--- /dev/null
@@ -0,0 +1,117 @@
+---
+# file: roles/tg_sut/tasks/ubuntu_bionic.yaml
+
+- name: Install CSIT dependencies
+  apt:
+    name: '{{ item }}'
+    state: 'present'
+    install_recommends: False
+  with_items:
+    - 'python-dev'
+    - 'python-virtualenv'
+    - 'python-pip'
+    - 'libpcap-dev'
+    - 'cpufrequtils'
+    - 'cgroup-bin'
+    - 'zlib1g-dev'
+    - 'apt-transport-https'
+    - 'ca-certificates'
+    - 'software-properties-common'
+    - 'cron'
+    - 'libnuma-dev'
+  tags: install-csit-dependencies
+
+- name: Add an Apt signing key, for docker-ce repository
+  apt_key:
+    url: https://download.docker.com/linux/ubuntu/gpg
+    state: 'present'
+  tags: install-docker
+
+- name: Install Docker APT repository
+  apt_repository:
+    repo: '{{ docker_repository }}'
+    state: 'present'
+    update_cache: True
+  tags: install-docker
+
+- name: Install Docker
+  apt:
+    name: 'docker-{{ docker_edition }}={{ docker_apt_package_name }}'
+    state: 'present'
+    force: yes
+  tags: install-docker
+
+- name: Creates Docker service directory
+  file:
+    path: '/etc/systemd/system/docker.service.d'
+    state: 'directory'
+
+- name: Setup Docker http proxy
+  template:
+    src: 'templates/docker.service.proxy.http'
+    dest: '/etc/systemd/system/docker.service.d/http-proxy.conf'
+    owner: 'root'
+    group: 'root'
+    mode: '0644'
+  register: docker_register_systemd_service
+  when: proxy_env is defined and proxy_env.http_proxy is defined
+  tags: copy-docker
+
+- name: Setup Docker https proxy
+  template:
+    src: 'templates/docker.service.proxy.https'
+    dest: '/etc/systemd/system/docker.service.d/https-proxy.conf'
+    owner: 'root'
+    group: 'root'
+    mode: '0644'
+  register: docker_register_systemd_service
+  when: proxy_env is defined and proxy_env.https_proxy is defined
+  tags: copy-docker
+
+- name: Reload systemd daemon
+  command: 'systemctl daemon-reload'
+  notify: ['Restart Docker']
+  when: (docker_register_systemd_service and
+         docker_register_systemd_service is changed)
+  tags: restart-docker
+
+- name: Set specific users to docker group
+  user:
+    name: '{{ item }}'
+    groups: 'docker'
+    append: True
+  with_items: '{{ docker_users }}'
+  when: docker_users
+  tags: set-docker
+
+- name: Add an Apt signing key, for Kubernetes repository
+  apt_key:
+    url: https://packages.cloud.google.com/apt/doc/apt-key.gpg
+    state: 'present'
+  tags: install-kubernetes
+
+- name: Install kubernetes APT repository
+  apt_repository:
+    repo: '{{ kubernetes_repository }}'
+    state: 'present'
+    update_cache: True
+  tags: install-kubernetes
+
+- name: Install Kubernetes
+  apt:
+    name: '{{ item }}={{ kubernetes_apt_package_name }}'
+    state: 'present'
+    force: yes
+  with_items:
+    - 'kubeadm'
+    - 'kubectl'
+    - 'kubelet'
+  tags: install-kubernetes
+
+- name: Apply kubelet parameter
+  lineinfile:
+    path: '/etc/default/kubelet'
+    state: 'present'
+    regexp: '^KUBELET_EXTRA_ARGS=*'
+    line: 'KUBELET_EXTRA_ARGS=--feature-gates HugePages=false'
+  tags: install-kubernetes