|
10 | 10 | - name: Init | Discover Pi type
|
11 | 11 | set_fact:
|
12 | 12 | pi_type: "{{ inventory_hostname | regex_replace('^.+_(pi[^-]+)-\\d+$', '\\1') }}"
|
| 13 | + tags: vars |
| 14 | + |
| 15 | + - name: Init | Discover worker type |
| 16 | + set_fact: |
| 17 | + worker_type: "{{ inventory_hostname | regex_replace('^(test|release)-.+$', '\\1') }}" |
| 18 | + tags: vars |
| 19 | + |
| 20 | + - name: Init | Generate hostname |
| 21 | + set_fact: |
| 22 | + safe_hostname: "{{ inventory_hostname | regex_replace('_', '--') }}" |
| 23 | + tags: vars |
13 | 24 |
|
14 | 25 | - name: General | Setup APT proxy
|
15 | 26 | template:
|
|
28 | 39 | owner: "root"
|
29 | 40 | group: "root"
|
30 | 41 | mode: 0644
|
| 42 | + when: pi_local is undefined |
31 | 43 | tags: general
|
32 | 44 |
|
33 | 45 | - name: General | APT update
|
|
56 | 68 | when: ssh_remove_dns.changed
|
57 | 69 | tags: init
|
58 | 70 |
|
| 71 | + - name: General | Setup keyboard config |
| 72 | + template: |
| 73 | + src: "./resources/keyboard-defaults.j2" |
| 74 | + dest: "/etc/default/keyboard" |
| 75 | + owner: "root" |
| 76 | + group: "root" |
| 77 | + mode: 0644 |
| 78 | + register: keyboard_config |
| 79 | + tags: general |
| 80 | + |
| 81 | + - name: General | Setup keyboard config |
| 82 | + shell: dpkg-reconfigure -f noninteractive keyboard-configuration && invoke-rc.d keyboard-setup start |
| 83 | + when: keyboard_config.changed |
| 84 | + tags: general |
| 85 | + |
| 86 | + - name: General | Setup locale |
| 87 | + shell: |
| 88 | + cmd: | |
| 89 | + cat << EOF | debconf-set-selections |
| 90 | + locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8 |
| 91 | + EOF |
| 92 | + rm /etc/locale.gen |
| 93 | + dpkg-reconfigure -f noninteractive locales |
| 94 | + update-locale LANG="en_US.UTF-8" |
| 95 | + cat << EOF | debconf-set-selections |
| 96 | + locales locales/default_environment_locale select en_US.UTF-8 |
| 97 | + EOF |
| 98 | + tags: general |
| 99 | + |
| 100 | + - name: General | Expand root disk |
| 101 | + shell: |
| 102 | + cmd: | |
| 103 | + ROOT_PART=$(readlink /dev/root) |
| 104 | + PART_NUM=${ROOT_PART#mmcblk0p} |
| 105 | + PART_START=$(parted /dev/mmcblk0 -ms unit s p | grep "^${PART_NUM}" | cut -f 2 -d:) |
| 106 | + fdisk /dev/mmcblk0 << EOF || true |
| 107 | + p |
| 108 | + d |
| 109 | + $PART_NUM |
| 110 | + n |
| 111 | + p |
| 112 | + $PART_NUM |
| 113 | + $PART_START |
| 114 | +
|
| 115 | + p |
| 116 | + w |
| 117 | + EOF |
| 118 | + tags: general |
| 119 | + |
| 120 | + - name: General | Set hostname |
| 121 | + shell: |
| 122 | + cmd: | |
| 123 | + echo {{ safe_hostname }} > /etc/hostname |
| 124 | + sed -i "s/127.0.1.1.*{{ safe_hostname }}/127.0.1.1\t{{ safe_hostname }}/g" /etc/hosts |
| 125 | + tags: general |
| 126 | + |
59 | 127 | - name: General | Configure 1024M dphys-swapfile
|
60 | 128 | lineinfile:
|
61 | 129 | dest: /etc/dphys-swapfile
|
|
191 | 259 | mode: 0755
|
192 | 260 | tags: jenkins
|
193 | 261 |
|
194 |
| - - name: ccache | Install ccache |
195 |
| - import_tasks: ../ansible-tasks/ccache.yaml version=3.3.4 |
196 |
| - tags: ccache |
197 |
| - |
198 |
| - - name: git | Install git |
199 |
| - import_tasks: ../ansible-tasks/git.yaml version=2.15.0 |
200 |
| - tags: git |
201 |
| - |
202 |
| - - name: monit | Install monit |
203 |
| - import_tasks: ../ansible-tasks/monit.yaml monit_conf_file=../ansible-tasks/resources/monit-jenkins.conf |
204 |
| - tags: monit |
205 |
| - |
206 | 262 | - name: Tunnel | Copy start_tunnel.sh script
|
207 |
| - when: pi_local is defined |
208 | 263 | template:
|
209 | 264 | src: "./resources/start_tunnel.j2"
|
210 | 265 | dest: "/usr/local/sbin/start_tunnel.sh"
|
211 | 266 | owner: "{{ server_user }}"
|
212 | 267 | group: "{{ server_user }}"
|
213 | 268 | mode: 0755
|
| 269 | + when: pi_local is defined |
214 | 270 | tags: tunnel
|
215 | 271 |
|
216 | 272 | - name: Tunnel | crontab entry
|
217 |
| - when: pi_local is defined |
218 | 273 | cron:
|
219 | 274 | name: 'start ssh tunnel on reboot'
|
220 | 275 | special_time: reboot
|
221 | 276 | job: "/usr/local/sbin/start_tunnel.sh"
|
| 277 | + when: pi_local is defined |
222 | 278 | tags: tunnel
|
| 279 | + |
| 280 | + - name: ccache | Install ccache |
| 281 | + import_tasks: ../ansible-tasks/ccache.yaml |
| 282 | + vars: |
| 283 | + version: 3.3.4 |
| 284 | + tags: ccache |
| 285 | + |
| 286 | + - name: git | Install git |
| 287 | + import_tasks: ../ansible-tasks/git.yaml |
| 288 | + vars: |
| 289 | + version: 2.15.0 |
| 290 | + tags: git |
| 291 | + |
| 292 | + - name: monit | Install monit |
| 293 | + import_tasks: ../ansible-tasks/monit.yaml |
| 294 | + vars: |
| 295 | + monit_conf_file: ../ansible-tasks/resources/monit-jenkins.conf.j2 |
| 296 | + tags: monit |
0 commit comments