Framework: SciPy upgrade
[csit.git] / resources / tools / testbed-setup / ansible / roles / common / tasks / main.yaml
index 915fc0b..5c3ba82 100644 (file)
 ---
 # file: roles/common/tasks/main.yaml
 
-- name: Ensure the system exists in Cobbler
-  cobbler_system:
-    host: '{{ cobbler_hostname }}'
-    port: 60080
-    interfaces:
-      br1:
-        ipaddress: '{{ ansible_default_ipv4.address }}'
-        macaddress: '{{ ansible_default_ipv4.macaddress }}'
-    name: '{{ hostname }}'
-    password: '{{ cobbler_password }}'
-    properties:
-      hostname: '{{ hostname }}'
-      gateway: '{{ ansible_default_ipv4.gateway }}'
-      profile: '{{ cobbler_profile }}'
-      name_servers: '{{ name_servers }}'
-      name_servers_search: '{{ name_servers_search }}'
-      kickstart: '/var/lib/cobbler/kickstarts/{{ cobbler_profile }}.seed'
-      kernel_options: '"interface={{ ansible_default_ipv4.interface }}"'
-      netboot_enabled: yes
-    username: '{{ cobbler_username }}'
-    use_ssl: no
-    validate_certs: no
-  when: provision_enabled
-  delegate_to: localhost
-  tags: cobbler-include
+- 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: Commit Cobbler changes
-  cobbler_sync:
-    host: '{{ cobbler_hostname }}'
-    port: 60080
-    password: '{{ cobbler_password }}'
-    username: '{{ cobbler_username }}'
-    use_ssl: no
-    validate_certs: no
-  run_once: yes
-  when: provision_enabled
-  delegate_to: localhost
-  register: __included_in_cobbler
-  notify:
-    - 'Boot from network'
-    - 'Reboot server'
-  tags: cobbler-include
+- name: Inst - Update package cache (apt)
+  apt:
+    update_cache: yes
+    cache_valid_time: 3600
+  when:
+    - ansible_distribution|lower == 'ubuntu'
+  tags:
+    - common-inst-prerequisites
 
-- meta: flush_handlers
+- name: Inst - Prerequisites
+  package:
+    name: "{{ packages | flatten(levels=1) }}"
+    state: latest
+  tags:
+    - common-inst-prerequisites
 
-- name: Copy netplan network config file
-  template:
-    src: 'files/netplan_config'
-    dest: '/etc/netplan/01-netcfg.yaml'
-    owner: 'root'
-    group: 'root'
-    mode: '0644'
-  tags: copy-interface-file
+- 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: Add permanent proxy settings
-  lineinfile:
-    path: '/etc/environment'
-    state: 'present'
-    line: '{{ item.key }}={{ item.value }}'
-  with_dict: '{{ proxy_env }}'
-  when: proxy_env is defined
+- name: Install CSIT PIP requirements - Pandas and SciPy workaround
+  pip:
+    name:
+      - "pandas==0.25.3"
+      - "scipy==1.5.4"
+  tags:
+    - install-pip
 
-- name: Install distribution - release - machine prerequisites
-  include_tasks: '{{ ansible_distribution|lower }}_{{ ansible_distribution_release }}.yaml'
-  tags: [ install-csit-dependencies, copy-apt-sources ]
+- 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
+    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
-
-- name: Copy grub file
-  template:
-   src: 'files/grub_{{ ansible_machine }}'
-   dest: '/etc/default/grub'
-   owner: 'root'
-   group: 'root'
-   mode: '644'
-  notify:
-    - 'Update GRUB'
-    - 'Reboot server'
-  tags: copy-grub
+    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