|
25 | 25 | when: jobs_env is undefined |
26 | 26 |
|
27 | 27 | - name: create group |
28 | | - when: not os|startswith("zos") |
| 28 | + when: not os|startswith("zos") and not os|startswith("ibmi") |
29 | 29 | group: name="{{ server_user }}" |
30 | 30 |
|
31 | 31 | - name: User | create file system on larger disk |
|
43 | 43 | when: "'rhel72-s390x' in inventory_hostname" |
44 | 44 |
|
45 | 45 | - name: create user |
46 | | - when: "not os|startswith('zos') and not 'rhel72-s390x' in inventory_hostname" |
| 46 | + when: "not os|startswith('zos') and not os|startswith('ibmi') and not 'rhel72-s390x' in inventory_hostname" |
47 | 47 | user: |
48 | 48 | name: "{{ server_user }}" |
49 | 49 | group: "{{ server_user }}" |
50 | 50 | shell: "{{ bash_path[os|stripversion]|default('/bin/bash') }}" |
51 | 51 |
|
| 52 | +- name: create user for ibmi |
| 53 | + when: os|startswith("ibmi") |
| 54 | + command: "/QOpenSys/usr/bin/system 'CRTUSRPRF USRPRF({{ server_user }}) PASSWORD(*none)'" |
| 55 | + ignore_errors: true |
| 56 | + |
52 | 57 | - name: create user for rhel72-s390x |
53 | 58 | user: |
54 | 59 | name: "{{ server_user }}" |
|
86 | 91 | when: "'rhel72-s390x' in inventory_hostname" |
87 | 92 |
|
88 | 93 | - name: add ::1 to /etc/hosts for ipv6 compat |
89 | | - when: not os|startswith("zos") |
| 94 | + when: not os|startswith("zos") and not os|startswith("ibmi") |
90 | 95 | lineinfile: |
91 | 96 | dest: /etc/hosts |
92 | 97 | state: present |
|
96 | 101 | file: path="{{ home }}/{{ server_user }}/tmp" state=directory |
97 | 102 |
|
98 | 103 | - name: set NODE_TEST_DIR permission and owner |
| 104 | + when: not os|startswith("ibmi") |
99 | 105 | file: |
100 | 106 | path: "{{ home }}/{{ server_user }}/tmp" |
101 | 107 | owner: "{{ server_user }}" |
102 | 108 | group: "{{ server_user }}" |
103 | 109 | mode: 0755 |
104 | 110 |
|
| 111 | +# group has very different meaning on IBMi, only set to the build user |
| 112 | +- name: set NODE_TEST_DIR permission and owner IBMi |
| 113 | + when: os|startswith("ibmi") |
| 114 | + file: |
| 115 | + path: "{{ home }}/{{ server_user }}/tmp" |
| 116 | + owner: "{{ server_user }}" |
| 117 | + mode: 0755 |
| 118 | + |
105 | 119 | - name: run raspberry pi jenkins-worker setup |
106 | 120 | when: "inventory_hostname|regex_search('-arm(v6l|v7l|64)_pi')" |
107 | 121 | include: "{{ role_path }}/tasks/partials/raspberry-pi.yml" |
|
148 | 162 | command: systemctl restart iptables |
149 | 163 | when: "'rhel72-s390x' in inventory_hostname" |
150 | 164 |
|
| 165 | +- name: firewalld | allow ipv4 multicast traffic |
| 166 | + command: firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -m pkttype --pkt-type multicast -j ACCEPT |
| 167 | + when: "'fedora27-x64' in inventory_hostname" |
| 168 | + |
| 169 | +- name: firewalld | allow ipv6 multicast traffic |
| 170 | + command: firewall-cmd --permanent --direct --add-rule ipv6 filter INPUT 0 -m pkttype --pkt-type multicast -j ACCEPT |
| 171 | + when: "'fedora27-x64' in inventory_hostname" |
| 172 | + |
| 173 | +- name: firewalld | restart so rules take effect |
| 174 | + command: systemctl restart firewalld |
| 175 | + when: "'fedora27-x64' in inventory_hostname" |
| 176 | + |
| 177 | +- name: Check if SU is installed on IBMi |
| 178 | + when: os|startswith("ibmi") |
| 179 | + stat: |
| 180 | + path: /QOpenSys/pkgs/bin/su |
| 181 | + register: su_exists |
| 182 | + |
| 183 | +# FIXME rewrite jenkins start to use ssh, so su is not needed. |
| 184 | +- name: git clone su on ibmi |
| 185 | + git: |
| 186 | + repo: https://github.com/ThePrez/IBMiOSS-utils.git |
| 187 | + dest: /tmp/IBMiOSS-utils |
| 188 | + when: su_exists.stat.exists == False and os|startswith("ibmi") |
| 189 | + |
| 190 | +- name: copy su into /QOpenSys/pkgs/bin IBMi |
| 191 | + copy: |
| 192 | + src: /tmp/IBMiOSS-utils/su |
| 193 | + dest: /QOpenSys/pkgs/bin/su |
| 194 | + remote_src: true |
| 195 | + when: su_exists.stat.exists == False and os|startswith("ibmi") |
| 196 | + |
| 197 | +- name: copy su-setup into /QOpenSys/pkgs/bin IBMi |
| 198 | + copy: |
| 199 | + src: /tmp/IBMiOSS-utils/su-setup |
| 200 | + dest: /QOpenSys/pkgs/bin/su-setup |
| 201 | + remote_src: true |
| 202 | + when: su_exists.stat.exists == False and os|startswith("ibmi") |
| 203 | + |
151 | 204 | - name: download slave.jar |
152 | 205 | when: not os|startswith("zos") |
153 | 206 | get_url: |
|
277 | 330 | name: java-base |
278 | 331 |
|
279 | 332 | - name: enable jenkins at startup - general |
280 | | - when: not os|startswith("zos") and not os|startswith("macos") and not os|startswith("aix") |
| 333 | + when: |
| 334 | + - not os|startswith("aix") |
| 335 | + - not os|startswith("ibmi") |
| 336 | + - not os|startswith("macos") |
| 337 | + - not os|startswith("zos") |
281 | 338 | service: name=jenkins state=restarted enabled=yes |
282 | 339 |
|
283 | 340 | - name: Unload org.nodejs.osx.jenkins.plist from launchctl |
|
0 commit comments