aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools/testbed-setup/ansible/roles/tg_sut
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2019-03-14 08:02:56 +0000
committerPeter Mikus <pmikus@cisco.com>2019-03-14 08:52:08 +0000
commitbf3ce71ec5074eb30a866ea8b6e01aad03d58e64 (patch)
treebd2fbf852a42ac41dd6b9e5df378f2f72474a0e3 /resources/tools/testbed-setup/ansible/roles/tg_sut
parentb285fff289f434f0aa988d282a218a9f84e21357 (diff)
Add PAPI dependencies
+ Various small structure optmizations Change-Id: I1aac9353f72436de53797fc734bef498905c8189 Signed-off-by: Peter Mikus <pmikus@cisco.com>
Diffstat (limited to 'resources/tools/testbed-setup/ansible/roles/tg_sut')
-rw-r--r--resources/tools/testbed-setup/ansible/roles/tg_sut/files/requirements.txt56
-rw-r--r--resources/tools/testbed-setup/ansible/roles/tg_sut/tasks/main.yaml49
-rw-r--r--resources/tools/testbed-setup/ansible/roles/tg_sut/tasks/ubuntu_bionic.yaml (renamed from resources/tools/testbed-setup/ansible/roles/tg_sut/tasks/ubuntu.yaml)3
3 files changed, 33 insertions, 75 deletions
diff --git a/resources/tools/testbed-setup/ansible/roles/tg_sut/files/requirements.txt b/resources/tools/testbed-setup/ansible/roles/tg_sut/files/requirements.txt
deleted file mode 100644
index 0ce17e2b47..0000000000
--- a/resources/tools/testbed-setup/ansible/roles/tg_sut/files/requirements.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-# DISCLAIMER: BEFORE EDITING THIS FILE!
-#
-# This file has two closely related consequences.
-# The common part is that this file defines
-# the content of virtual Python environment
-# used when Robot tests are running.
-# The difference is in which machine the environment is created on.
-# For the Jenkins executor machines,
-# editing this file has no surprising consequences.
-#
-# But the environment is also being created
-# on virtual machines created by VIRL, which do have specific restrictions.
-# Complete package and setting snapshot (for both VIRL and Physical Testbed),
-# with network being limited in case of VIRL to local only.
-# This implies pip currently being set to site-packages only
-# for both VIRL and Physical Testbed.
-# So if the "virl image" applied on the machine
-# does not reflect the edits, some installations might fail.
-# Even if the failure may not directly impact execution,
-# this leads into inconsistency between installed environment
-# and the code base which may lead into fatal error or uncaught exceptions.
-#
-# The "virl image" is built from files such as
-# resources/tools/disk-image-builder/ubuntu/lists/ubuntu-16.04.1_2017-10-21_2.0/pip-requirements.txt
-# but the build is not automated,
-# the new "virl image" has to be built and applied manually
-# before your edit can pass.
-# This also means, incompatible virl images
-# would make existing tests fail until your edit is merged.
-#
-# TODO: Automate the virtualenv download and distribution
-# on all types of testbeds prior the test execution.
-# TODO: Figure out a way to verify edits to this file automatically.
-
-# TODO: Split into directly needed packages and their dependencies.
-docopt==0.6.2 # for pykwalify
-ecdsa==0.13
-enum34==1.1.2
-ipaddress==1.0.16
-paramiko==1.16.0
-pexpect==4.6.0
-pycrypto==2.6.1
-pykwalify==1.5.0
-pypcap==1.1.5
-python-dateutil==2.4.2 # for pykwalify
-PyYAML==3.11
-requests==2.9.1
-robotframework==2.9.2
-scapy==2.3.1
-scp==0.10.2
-six==1.12.0 # for python-dateutil
-
-# The following is only there for PLRsearch.
-dill==0.2.8.2
-numpy==1.14.5
-scipy==1.1.0
diff --git a/resources/tools/testbed-setup/ansible/roles/tg_sut/tasks/main.yaml b/resources/tools/testbed-setup/ansible/roles/tg_sut/tasks/main.yaml
index e5da2fc72d..1ad96b26fc 100644
--- a/resources/tools/testbed-setup/ansible/roles/tg_sut/tasks/main.yaml
+++ b/resources/tools/testbed-setup/ansible/roles/tg_sut/tasks/main.yaml
@@ -1,22 +1,16 @@
---
# file: roles/tg_sut/tasks/main.yaml
-- name: Ubuntu specific
- import_tasks: ubuntu.yaml
- when: ansible_distribution|lower == 'ubuntu'
+- name: Install distribution - release - machine prerequisites
+ include_tasks: '{{ ansible_distribution|lower }}_{{ ansible_distribution_release }}.yaml'
-- name: x86 specific
- import_tasks: x86_64.yaml
- when: ansible_machine == 'x86_64'
+- name: Machine specifics
+ include_tasks: '{{ ansible_machine }}.yaml'
- name: skylake specific
import_tasks: skylake.yaml
when: ("skylake" in groups) and inventory_hostname in groups['skylake']
-- name: aarch specific
- import_tasks: aarch64.yaml
- when: ansible_machine == 'aarch64'
-
- name: Copy netplan network config file
template:
src: 'files/netplan_config'
@@ -53,21 +47,40 @@
mode: '0644'
tags: copy-cpufrequtils
-- name: Copy Python requirements file
- copy:
- src: 'files/requirements.txt'
- dest: '/tmp/requirements.txt'
- tags: copy-pip
-
- name: Set ondemand service to disable
service:
name: 'ondemand'
enabled: 'no'
tags: set-ondemand
-- name: Install PIP requirements
+- name: Install CSIT PIP requirements
+ pip:
+ name: '{{ item }}'
+ with_items:
+ - 'docopt==0.6.2'
+ - 'ecdsa==0.13'
+ - 'enum34==1.1.2'
+ - 'ipaddress==1.0.16'
+ - 'paramiko==1.16.0'
+ - 'pexpect==4.6.0'
+ - 'pycrypto==2.6.1'
+ - 'pykwalify==1.5.0'
+ - 'pypcap==1.1.5'
+ - 'python-dateutil==2.4.2'
+ - 'PyYAML==3.11'
+ - 'requests==2.9.1'
+ - 'robotframework==2.9.2'
+ - 'scapy==2.3.1'
+ - 'scp==0.10.2'
+ - 'six==1.12.0'
+ - 'dill==0.2.8.2'
+ - 'numpy==1.14.5'
+ - 'scipy==1.1.0'
+ tags: install-pip
+
+- name: Install VPP PIP requirements
pip:
- requirements: '/tmp/requirements.txt'
+ name: 'aenum'
tags: install-pip
- name: Load vfio-pci by default
diff --git a/resources/tools/testbed-setup/ansible/roles/tg_sut/tasks/ubuntu.yaml b/resources/tools/testbed-setup/ansible/roles/tg_sut/tasks/ubuntu_bionic.yaml
index 2f75ae545d..194609722e 100644
--- a/resources/tools/testbed-setup/ansible/roles/tg_sut/tasks/ubuntu.yaml
+++ b/resources/tools/testbed-setup/ansible/roles/tg_sut/tasks/ubuntu_bionic.yaml
@@ -1,5 +1,5 @@
---
-# file: roles/tg_sut/tasks/ubuntu.yaml
+# file: roles/tg_sut/tasks/ubuntu_bionic.yaml
- name: Install CSIT dependencies
apt:
@@ -38,6 +38,7 @@
apt:
name: 'docker-{{ docker_edition }}={{ docker_apt_package_name }}'
state: 'present'
+ force: yes
tags: install-docker
- name: Creates Docker service directory