diff options
Diffstat (limited to 'resources/tools/vagrant/ansible')
4 files changed, 73 insertions, 53 deletions
diff --git a/resources/tools/vagrant/ansible/group_vars/vppdevice.yml b/resources/tools/vagrant/ansible/group_vars/vppdevice.yml index ffa60e2295..b920c3be18 100644 --- a/resources/tools/vagrant/ansible/group_vars/vppdevice.yml +++ b/resources/tools/vagrant/ansible/group_vars/vppdevice.yml @@ -1,4 +1,6 @@ --- +# Ansible interpreter (for PIP) +ansible_python_interpreter: 'python3' # Settings for VPP Device host group csit: home: '/home/vagrant/csit' diff --git a/resources/tools/vagrant/ansible/roles/common/tasks/main.yml b/resources/tools/vagrant/ansible/roles/common/tasks/main.yml index 68d7751b6a..1d4d273971 100644 --- a/resources/tools/vagrant/ansible/roles/common/tasks/main.yml +++ b/resources/tools/vagrant/ansible/roles/common/tasks/main.yml @@ -1,16 +1,6 @@ --- # file: common/tasks/main.yml -- name: Install required common system packages - apt: - name: - - 'apt-transport-https' - - 'ca-certificates' - - 'curl' - - 'software-properties-common' - state: 'latest' - cache_valid_time: 3600 - - name: Set /bin/sh to bash instead of dash alternatives: name: sh diff --git a/resources/tools/vagrant/ansible/roles/csit/defaults/main.yml b/resources/tools/vagrant/ansible/roles/csit/defaults/main.yml new file mode 100644 index 0000000000..e390adb6b4 --- /dev/null +++ b/resources/tools/vagrant/ansible/roles/csit/defaults/main.yml @@ -0,0 +1,37 @@ +--- +# file: csit/defaults/main.yml + +csit_packages: "{{ csit_packages_base + csit_packages_by_distro[ansible_distribution|lower] }}" + +csit_packages_base: + - 'curl' + - 'python3-cffi' + - 'python3-pip' + - 'python3-setuptools' + - 'virtualenv' + - 'wget' + +csit_packages_by_distro: + centos: + - 'autoconf' + - 'automake' + - 'binutils' + - 'bison' + - 'flex' + - 'gcc' + - 'gcc-c++' + - 'gdb' + - 'glibc-devel' + - 'libpcap-devel' + - 'libtool' + - 'make' + - 'pkgconf' + - 'pkgconf-m4' + - 'pkgconf-pkg-config' + - 'redhat-rpm-config' + - 'rpm-build' + - 'rpm-sign' + - 'strace' + ubuntu: + - 'build-essential' + - 'libpcap-dev' diff --git a/resources/tools/vagrant/ansible/roles/csit/tasks/main.yml b/resources/tools/vagrant/ansible/roles/csit/tasks/main.yml index d684d8ea12..64a4872777 100644 --- a/resources/tools/vagrant/ansible/roles/csit/tasks/main.yml +++ b/resources/tools/vagrant/ansible/roles/csit/tasks/main.yml @@ -1,57 +1,48 @@ --- # file: csit/tasks/main.yml -- name: Upload config to rename network interfaces - copy: - src: 'files/99-vppdevice.yaml' - dest: '/etc/netplan/99-vppdevice.yaml' - owner: 'root' - group: 'root' - mode: 0644 +# TODO: Temporarily disabling due to Centos8 not having netplan. +# Finding better solution via udev requires some work and testing. +#- name: Upload config to rename network interfaces +# copy: +# src: 'files/99-vppdevice.yaml' +# dest: '/etc/netplan/99-vppdevice.yaml' +# owner: 'root' +# group: 'root' +# mode: 0644 +#- name: Apply network config changes +# command: '/usr/sbin/netplan apply' + +- name: Centos8 install epel repositories + dnf: + name: + - 'epel-release' + when: + - ansible_distribution|lower == 'centos' -- name: Apply network config changes - command: '/usr/sbin/netplan apply' +- name: Centos8 enable epel repositories + command: 'dnf config-manager --set-enabled PowerTools' + when: + - ansible_distribution|lower == 'centos' - name: Install required system tools and packages - apt: - name: - - 'curl' - - 'libpcap-dev' - - 'python3-all' - - 'python3-apt' - - 'python3-cffi' - - 'python3-cffi-backend' - - 'python3-dev' - - 'python3-pip' - - 'python3-setuptools' - - 'virtualenv' - - 'wget' - state: 'present' - cache_valid_time: 3600 + package: + name: "{{ csit_packages | join(',') }}" + state: 'latest' + update_cache: 'yes' - name: Adjust number of hugepages sysctl: name: 'vm.nr_hugepages' - value: 512 + value: '512' state: 'present' sysctl_file: '/etc/sysctl.d/90-csit.conf' reload: 'yes' -- name: Add an Apt signing key, for docker-ce repository - apt_key: - url: 'https://download.docker.com/linux/ubuntu/gpg' - state: 'present' - -- name: Add docker-ce apt repository if not present - apt_repository: - repo: 'deb https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable' - state: 'present' - -- name: Install docker-ce if it's not already installed - apt: - name: 'docker-ce' - state: 'present' - cache_valid_time: 3600 +- name: Install docker-ce + command: | + curl -fsSL https://get.docker.com -o get-docker.sh && + sudo sh get-docker.sh - name: "Add user for running tests: {{ csit.test_user.name }}" user: @@ -64,13 +55,13 @@ lineinfile: path: '/etc/sudoers.d/{{ csit.test_user.name }}' line: '{{ csit.test_user.name }} ALL=(ALL) NOPASSWD:ALL' - create: yes + create: 'yes' - name: Add vagrant user to docker group user: name: 'vagrant' groups: - - docker + - 'docker' - name: Reload groups for current session command: '/usr/bin/newgrp docker' @@ -86,6 +77,7 @@ lineinfile: path: '/etc/modules' line: '{{ item }}' + create: 'yes' state: 'present' insertafter: EOF with_items: @@ -100,7 +92,6 @@ version: '{{ csit.repository.version }}' - name: Install and update pip and virtualenv - become_user: vagrant pip: name: - 'virtualenv' |