6 - name: copy sudoers file
7 copy: src=files/sudoers dest=/etc/sudoers.d/testuser owner=root group=root mode=660
8 - name: copy hosts file
9 template: src=files/hosts dest=/etc/hosts owner=root group=root mode=644
10 - name: copy hostname file
11 template: src=files/hostname dest=/etc/hostname owner=root group=root mode=644
12 - name: copy grub file
13 template: src=files/grub dest=/etc/default/grub owner=root group=root mode=644
16 - name: copy apt sources file
17 template: src=files/apt-sources.list dest=/etc/apt/sources.list
18 - name: install python-apt
19 raw: apt-get update && apt-get install python-apt -y -q
20 - name: update repositories
23 apt: name=git state=present
24 - name: install crudini
25 apt: name=crudini state=present
26 - name: install expect
27 apt: name=expect state=present
29 apt: name=socat state=present
31 apt: name=qemu-system-x86 state=present
32 - name: Install packages to allow apt to use a repository over HTTPS
33 apt: name=apt-transport-https state=present
38 - name: interfaces file
39 template: src=files/interfaces_virl dest=/etc/network/interfaces owner=root group=root mode=644
41 user: name=virl shell=/bin/bash comment="VIRL user" password="$6$mJPlK5FKLar6$xxXPP0LRhC7T1yhHtym18Z3nKZweTtfTxzi1WpvVHJ0U/Em1UWcHqfMhRApFp0rsY9jHRuL6FfeFbKPN..uDK."
42 - name: Add VIRL user to sudoers
43 copy: src=files/sudoers_virl dest=/etc/sudoers.d/virl owner=root group=root mode=660
44 - name: Add post up for additional address
45 copy: src=files/ifup dest=/etc/network/if-up.d/virl owner=root group=root mode=755
46 - name: Set VIRL user authorized key
47 authorized_key: user=virl key="{{ lookup('file', '/home/testuser/.ssh/id_rsa.pub') }}"
48 - name: install bridge-utils
49 apt: name=bridge-utils state=present
50 - name: Old interface naming
51 command: ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
52 - name: update init for old interface naming
53 command: update-initramfs -u
54 - name: QEMU log garbage collector
55 cron: minute="0" hour="0"
56 name="QEMU log garbage collector"
57 job="find /var/log/libvirt/qemu -type f -mtime +14 -name 'instance*.log' -delete"
58 - name: VPP deb package garbage collector
59 cron: minute="0" hour="0"
60 name="VPP deb package garbage collector"
61 job="find /tmp -type f -atime +14 -name '*.deb' -delete"
62 - name: VPP rpm package garbage collector
63 cron: minute="0" hour="0"
64 name="VPP rpm package garbage collector"
65 job="find /tmp -type f -atime +14 -name '*.rpm' -delete"
66 - name: NFS scratch dir garbage collector
67 cron: minute="0" hour="0"
68 name="NFS scratch dir garbage collector"
69 job="find /nfs/scratch/ -type d -mtime +1 -name 'session-*' -exec rm -r '{}' \\;"
74 - name: interfaces file
75 template: src=files/interfaces_physical dest=/etc/network/interfaces owner=root group=root mode=644
76 - name: copy sysctl file
77 template: src=files/90-csit dest=/etc/sysctl.d/90-csit.conf owner=root group=root mode=644
78 - name: isolcpus and pstate parameter
79 lineinfile: dest=/etc/default/grub regexp=^GRUB_CMDLINE_LINUX= line=GRUB_CMDLINE_LINUX="\"isolcpus={{ isolcpus }} nohz_full={{ isolcpus }} rcu_nocbs={{ isolcpus }} intel_pstate=disable\""
82 - name: Install python-dev
83 apt: name=python-dev state=present
84 - name: Install python-virtualenv
85 apt: name=python-virtualenv state=present
86 - name: Install python pip
87 apt: name=python-pip state=present
88 - name: Install libpcap-dev
89 apt: name=libpcap-dev state=present
90 - name: Install cpufrequtils
91 apt: name=cpufrequtils state=present
92 - name: Set cpufrequtils defaults
93 copy: src=files/cpufrequtils dest=/etc/default/cpufrequtils owner=root group=root mode=0644
94 - name: Disable IRQ load balancing
95 copy: src=files/irqbalance dest=/etc/default/irqbalance owner=root group=root mode=0644
96 - name: Disable ondemand
97 service: name=ondemand enabled=no
98 - name: Install cgroup-support
99 apt: name=cgroup-bin state=present
100 - name: Install zlib1g-dev
101 apt: name=zlib1g-dev state=present
102 - name: Copy Python requirements file
103 copy: src=files/requirements.txt dest=/tmp/requirements.txt
104 - name: Install PIP requirements
105 pip: requirements=/tmp/requirements.txt
106 - name: Install libnuma-dev
107 apt: name=libnuma-dev state=present
111 insertbefore: '^exit 0'
112 line: 'for l in `ls /proc/irq`; do echo 1 | sudo tee /proc/irq/$l/smp_affinity; done'
116 insertbefore: '^exit 0'
117 line: 'for i in `pgrep rcu[^c]` ; do sudo taskset -pc 0 $i ; done'
118 - name: CPU writeback mask
121 insertbefore: '^exit 0'
122 line: 'echo 1 | sudo tee /sys/bus/workqueue/devices/writeback/cpumask'
124 remote_user: testuser
127 - name: Install unzip
128 apt: name=unzip state=present
130 remote_user: testuser
134 apt: name=dkms state=present
135 - name: Install pkg-config
136 apt: name=pkg-config state=present
137 - name: Install libglib2.0-dev
138 apt: name=libglib2.0-dev state=present
139 - name: Install autoconf
140 apt: name=autoconf state=present
141 - name: Install libtool
142 apt: name=libtool state=present
143 - name: Install screen
144 apt: name=screen state=present
146 apt: name=lxc state=present
147 - name: Disable 80-vpp.conf
150 dest: /etc/sysctl.d/80-vpp.conf
153 apt: name=openjdk-8-jdk state=present
154 - name: Add Docker's official GPG key
156 url: "https://download.docker.com/linux/ubuntu/gpg"
158 - name: Add Docker's stable repository
160 repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable
162 - name: Install Docker CE
163 apt: name=docker-ce state=present
164 - name: Add Kubernetes's official GPG key
166 url: "https://packages.cloud.google.com/apt/doc/apt-key.gpg"
168 - name: Add Kubernetes's stable repository
170 repo: deb http://apt.kubernetes.io/ kubernetes-xenial main
172 - name: Install Kubernetes kubelet
173 apt: name=kubelet state=present
174 - name: Install Kubernetes kubeadm
175 apt: name=kubeadm state=present