Chore: Enable HugePages for Ubuntu 20.04
[ci-management.git] / packer / provision / local-builder.yaml
1 ---
2 - import_playbook: ../common-packer/provision/baseline.yaml
3
4 - hosts: all
5   become_user: root
6   become_method: sudo
7
8   pre_tasks:
9     - include_role: name=lfit.system-update
10
11   tasks:
12     - name: 'Enable hugepages'
13       sysctl:
14         name: vm.nr_hugepages
15         value: '128'
16         reload: no
17       when: ansible_distribution == 'Ubuntu'
18       become: true
19
20     - name: 'Install PackageCloud'
21       command: 'gem install package_cloud'
22       when: ansible_distribution == 'Ubuntu'
23       become: true
24
25     - apt_repository:
26         repo: ppa:deadsnakes/ppa
27         state: present
28       become: true
29       when: ansible_distribution == 'Ubuntu'
30
31     - name: Update and upgrade apt packages
32       apt:
33         upgrade: 'yes'
34         update_cache: yes
35       become: true
36       when: ansible_distribution == 'Ubuntu'
37
38     - name: Install python-tox and deps
39       pip:
40         name:
41           - tox
42           - tox-pyenv
43           - virtualenv
44         state: present
45       become: true
46
47     - name: 'Install TLDK Packages'
48       apt:
49         name:
50           - libaprutil1-dev
51           - libc-dev-bin
52           - libc6-dev
53           - libcap-dev
54           - libcrypt-dev
55           - libexpat1-dev
56           - libldap2-dev
57           - libsctp-dev
58           - libsctp1
59           - libserf-1-1
60           - libsvn1
61           - linux-libc-dev
62           - python3-pyelftools
63           - libnuma-dev
64           - meson
65       when: ansible_distribution == 'Ubuntu'
66       become: true
67
68   roles:
69     - lfit.mono-install
70
71   post_tasks:
72     - name: System Reseal
73       script: ../common-packer/provision/system-reseal.sh
74       become: true