Infra: Ansible 2.10
[csit.git] / resources / tools / testbed-setup / ansible / roles / common / tasks / main.yaml
index e16a6a7..7a0e9e1 100644 (file)
----\r
-# file: roles/common/tasks/main.yaml\r
-\r
-- name: Ubuntu specific\r
-  import_tasks: ubuntu_x86_64.yaml\r
-  when: ansible_distribution|lower == 'ubuntu' and ansible_machine == 'x86_64'\r
-\r
-- name: Set hostname\r
-  hostname:\r
-      name: '{{ hostname }}'\r
-  tags: set-hostname\r
-\r
-- name: Ensure hostname is in /etc/hosts\r
-  lineinfile:\r
-    path: '/etc/hosts'\r
-    regexp: '^{{ ansible_default_ipv4.address }}.+$'\r
-    line: '{{ ansible_default_ipv4.address }} {{ hostname }}.linuxfoundation.org'\r
-  tags: set-hostname\r
-\r
-- name: Set sudoers\r
-  lineinfile:\r
-    path: '/etc/sudoers'\r
-    state: 'present'\r
-    regexp: '^%admin ALL='\r
-    line: '%admin ALL=(ALL) ALL'\r
-    validate: '/usr/sbin/visudo -cf %s'\r
-  tags: set-sudoers\r
-\r
-- name: Set sudoers\r
-  lineinfile:\r
-    path: '/etc/sudoers'\r
-    state: 'present'\r
-    regexp: '^%sudo'\r
-    line: '%sudo ALL=(ALL:ALL) NOPASSWD: ALL'\r
-    validate: '/usr/sbin/visudo -cf %s'\r
-  tags: set-sudoers\r
-\r
-- name: Copy grub file\r
-  template:\r
-   src: 'files/grub'\r
-   dest: '/etc/default/grub'\r
-   owner: 'root'\r
-   group: 'root'\r
-   mode: '644'\r
-  notify: ['Update GRUB']\r
-  tags: copy-grub\r
+---
+# file: roles/common/tasks/main.yaml
+
+- name: 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:
+    - set-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: Install CSIT PIP requirements
+  pip:
+    name:
+      - "ecdsa==0.13.3"
+      - "paramiko==2.6.0"
+      - "pycrypto==2.6.1"
+      - "pypcap==1.2.3"
+      - "PyYAML==5.1.1"
+      - "requests==2.22.0"
+      - "robotframework==3.1.2"
+      - "scapy==2.4.3"
+      - "scp==0.13.2"
+      - "ansible==2.10.7"
+      - "dill==0.2.8.2"
+      - "numpy==1.17.3"
+      - "hdrhistogram==0.6.1"
+      - "plotly==4.1.1"
+      - "PTable==0.9.2"
+      - "Sphinx==2.2.1"
+      - "sphinx-rtd-theme==0.4.0"
+      - "sphinxcontrib-programoutput==0.15"
+      - "sphinxcontrib-robotdoc==0.11.0"
+      - "alabaster==0.7.12"
+      - "Babel==2.7.0"
+      - "bcrypt==3.1.7"
+      - "certifi==2019.9.11"
+      - "cffi==1.13.2"
+      - "chardet==3.0.4"
+      - "cryptography==2.8"
+      - "docutils==0.15.2"
+      - "future==0.18.2"
+      - "idna==2.8"
+      - "imagesize==1.1.0"
+      - "Jinja2==2.10.3"
+      - "MarkupSafe==1.1.1"
+      - "packaging==19.2"
+      - "pbr==5.4.3"
+      - "pycparser==2.19"
+      - "Pygments==2.4.2"
+      - "PyNaCl==1.3.0"
+      - "pyparsing==2.4.4"
+      - "python-dateutil==2.8.1"
+      - "pytz==2019.3"
+      - "retrying==1.3.3"
+      - "six==1.13.0"
+      - "snowballstemmer==2.0.0"
+      - "sphinxcontrib-applehelp==1.0.1"
+      - "sphinxcontrib-devhelp==1.0.1"
+      - "sphinxcontrib-htmlhelp==1.0.2"
+      - "sphinxcontrib-jsmath==1.0.1"
+      - "sphinxcontrib-qthelp==1.0.2"
+      - "sphinxcontrib-serializinghtml==1.1.3"
+      - "urllib3==1.25.6"
+  tags:
+    - install-pip
+
+- name: Install CSIT PIP requirements - Pandas and SciPy workaround
+  pip:
+    name:
+      - "pandas==0.25.3"
+      - "scipy==1.1.0"
+  tags:
+    - install-pip
+
+- name: Install Meson (repository version is too old)
+  pip:
+    name:
+      - "meson==0.47.1"
+  tags:
+    - install-meson
+
+- name: Set sudoers admin
+  lineinfile:
+    path: "/etc/sudoers"
+    state: "present"
+    regexp: "^%admin ALL="
+    line: "%admin ALL=(ALL) ALL"
+    validate: "/usr/sbin/visudo -cf %s"
+  tags:
+    - set-sudoers
+
+- name: Set sudoers sudo
+  lineinfile:
+    path: "/etc/sudoers"
+    state: "present"
+    regexp: "^%sudo"
+    line: "%sudo ALL=(ALL:ALL) NOPASSWD: ALL"
+    validate: "/usr/sbin/visudo -cf %s"
+  tags:
+    - set-sudoers
+
+- meta: flush_handlers