blob: 1cbc018e8367757a7d308d9cd02daed281c79bac [file] [log] [blame]
---
- hosts: all
remote_user: chrome-bot
become_user: root
become: yes
become_method: sudo
vars:
interface_templ: "interfaces.j2"
expanded_interface: "/etc/network/interfaces"
vars_prompt:
- name: "interface"
prompt: "What is ethernet interface? If you don't know, run ip addr first"
private: no
tasks:
- name: Update and Upgrade
apt: upgrade=safe update_cache=yes
- name: Install openssh-server
apt: name=openssh-server
# These are needed to run swarming
- name: Install libssl-dev
apt: name=libssl-dev
- name: Install openssl
apt: name=openssl
- name: Install time
apt: name=time
- name: Install build-essential
apt: name=build-essential
- name: Install swig
apt: name=swig
- name: Install python-m2crypto
apt: name=python-m2crypto
- name: Install ntpdate
apt: name=ntpdate
- name: Install python-pip
apt: name=python-pip
- name: Install ethtool
apt: name=ethtool
# These are needed to run our swarming tests
- name: Install Beignet OpenCL driver
apt: name=beignet-opencl-icd,ocl-icd-libopencl1
# These are needed for general use
- name: Install collectd, without the JDK
apt: name=collectd install_recommends=no
- name: Get collectd config situated
copy: src=../../common/collectd.conf dest=/etc/collectd/collectd.conf owner=root group=root mode=0644
- name: Fixing udev rules for Android and NVIDIA devices
copy: src=../../common/udev-rules dest=/etc/udev/rules.d/51-android.rules owner=root group=root mode=0644
- name: Fix nsswitch.conf
copy: src=../nsswitch.conf dest=/etc/nsswitch.conf
- name: Start collectd
service: name=collectd state=restarted enabled=true
- name: create /b
file:
state: directory
path: /b
mode: 0777
owner: root
group: root
- name: Touch .boto
file:
path: /home/chrome-bot/.boto
owner: chrome-bot
group: chrome-bot
state: touch
mode: 0644
- name: make sudo reboot passwordless
lineinfile: dest=/etc/sudoers line="chrome-bot ALL=NOPASSWD:/sbin/shutdown -r now"
- name: disable wifi
command: nmcli radio wifi off
- name: Creates lightdm directory if it doesn't exist
file: path=/etc/lightdm/lightdm.conf.d/ state=directory
- name: enable auto-login
blockinfile:
dest: /etc/lightdm/lightdm.conf.d/50-myconfig.conf
create: yes
block: |
[SeatDefaults]
autologin-user=chrome-bot
- name: "Checking MAC pause support"
command: "/sbin/ethtool -A {{interface}}"
register: mac_pause
ignore_errors: True
# This takes the pre-existing /etc/network/interfaces template
# (which is a jinja2 template, as per ansible spec) and fills in
# the interface name.
- name: disable ethernet flow control
# mac_pause.rc means the return code from the previous command (mac_pause)
# The magic number 78 is returned when configuring MAC PAUSE is supported
# but no params were passed in (which we did intentionally above.)
# If MAC_PAUSE is not supported, something else will be returned
# (e.g. 77 "Operation not supported" )
when: mac_pause.rc == 78
template:
src: "{{interface_templ}}"
dest: "{{expanded_interface}}"
owner: root
group: root
mode: 0644
force: yes
backup: yes