Modify Ubuntu 16.04 to enable hugepages
[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: 'Install FD.io Required 16.04 Packages'
13       apt:
14         name:
15           - gdb
16           - gdbserver
17           - bridge-utils
18           - texlive-fonts-recommended
19           - tex-common
20           - texlive-base
21           - texlive-binaries
22           - texlive-pictures
23           - texlive-latex-recommended
24           - preview-latex-style
25           - texlive-latex-extra
26           - cloud-initramfs-growroot
27           - cloud-initramfs-rescuevol
28           - libmysqlclient-dev
29           - doxygen
30           - python-pyparsing
31           - asciidoc
32           - dblatex
33           - source-highlight
34           - lcov
35           - gcc-multilib
36           - bison
37           - ccache
38           - dkms
39           - libganglia1-dev
40           - libapr1-dev
41           - libconfuse-dev
42           - exuberant-ctags
43           - cscope
44           - indent
45           - emacs
46           - libxslt-dev
47           - bc
48           - linux-image-extra-virtual
49           - google-mock
50           - debian-xcontrol
51           - pristine-tar
52           - python-sphinx
53           - python-scapy
54           - inkscape
55           - python-sphinx-rtd-theme
56           - python3-sphinx
57           - libnuma-dev
58           - libibverbs-dev
59           - ruby-dev
60           - zip
61         state: present
62       # yamllint disable-line rule:line-length
63       when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '16.04'
64       become: true
65
66     - name: 'Enable hugepages'
67       sysctl:
68         name: vm.nr_hugepages
69         value: '128'
70         reload: no
71       # yamllint disable-line rule:line-length
72       when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '16.04'
73       become: true
74
75     - name: 'Install FD.io Required 18.04 Packages'
76       apt:
77         name:
78           - gdb
79           - gdbserver
80           - bridge-utils
81           - texlive-fonts-recommended
82           - tex-common
83           - texlive-base
84           - texlive-binaries
85           - texlive-pictures
86           - texlive-latex-recommended
87           - preview-latex-style
88           - texlive-latex-extra
89           - cloud-initramfs-growroot
90           - cloud-initramfs-rescuevol
91           - libmysqlclient-dev
92           - doxygen
93           - python-pyparsing
94           - asciidoc
95           - dblatex
96           - source-highlight
97           - lcov
98           - bison
99           - ccache
100           - dkms
101           - libganglia1-dev
102           - libapr1-dev
103           - libconfuse-dev
104           - exuberant-ctags
105           - cscope
106           - indent
107           - emacs
108           - libxslt-dev
109           - bc
110           - linux-image-extra-virtual
111           - google-mock
112           - debian-xcontrol
113           - pristine-tar
114           - python-sphinx
115           - libstdc++5
116           - python-scapy
117           - inkscape
118           - python-sphinx-rtd-theme
119           - python3-sphinx
120           - libnuma-dev
121           - libibverbs-dev
122           - ruby-dev
123           - zip
124           - libevent-dev
125           - libboost-system-dev
126           - libcurl4-openssl-dev
127           - libboost-regex-dev
128           - libboost-filesystem-dev
129           - git-core
130           - libqtav-dev
131           - libavcodec-dev
132           - libavformat-dev
133           - libswscale-dev
134           - libavresample-dev
135         state: present
136       # yamllint disable-line rule:line-length
137       when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '18.04'
138       become: true
139
140     - name: 'Install FD.io Required CentOS 7 Packages'
141       yum:
142         name:
143           - apr-devel
144           - asciidoc
145           - autoconf
146           - ccache
147           - dblatex
148           - dkms
149           - epel-rpm-macros
150           - ganglia-devel
151           - glibc-static
152           - kernel-devel
153           - libcap-devel
154           - libconfuse-devel
155           - libconfuse-devel
156           - python-sphinx
157           - redhat-lsb
158           - ruby-devel
159           - scapy
160           - source-highlight
161           - valgrind
162         state: present
163       when: ansible_os_family == 'RedHat'
164       become: true
165
166   roles:
167     - lfit.mono-install
168
169   post_tasks:
170     - name: System Reseal
171       script: ../common-packer/provision/system-reseal.sh
172       become: true