22name : Build IPA images
33on :
44 workflow_dispatch :
5+ inputs :
6+ rocky9 :
7+ description : Build Rocky Linux 9
8+ type : boolean
9+ default : true
10+ ubuntu-jammy :
11+ description : Build Ubuntu 22.04 Jammy
12+ type : boolean
13+ default : true
514 secrets :
615 KAYOBE_VAULT_PASSWORD :
716 required : true
@@ -188,8 +197,8 @@ jobs:
188197 env :
189198 KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
190199
191- - name : Build an Ironic Python Agent ( IPA) image
192- id : build_ipa
200+ - name : Build a Ubuntu 22.04 Jammy IPA image
201+ id : build_ubuntu_jammy_ipa
193202 continue-on-error : true
194203 run : |
195204 source venvs/kayobe/bin/activate &&
@@ -200,6 +209,7 @@ jobs:
200209 -e ipa_build_dib_env_extra='{"DISTRO_NAME": "ubuntu"}'
201210 env :
202211 KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
212+ if : inputs.ubuntu-jammy
203213
204214 - name : Show last error logs
205215 continue-on-error : true
@@ -209,9 +219,9 @@ jobs:
209219 kayobe seed host command run --command "tail -200 /opt/kayobe/images/ipa/ipa.stdout" --show-output
210220 env :
211221 KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
212- if : steps.build_ipa .outcome == 'failure'
222+ if : steps.build_ubuntu_jammy_ipa .outcome == 'failure'
213223
214- - name : Upload IPA kernel image to Ark
224+ - name : Upload Ubuntu 22.04 Jammy IPA kernel image to Ark
215225 run : |
216226 source venvs/kayobe/bin/activate &&
217227 source src/kayobe-config/kayobe-env --environment ci-builder &&
@@ -225,9 +235,9 @@ jobs:
225235 -e file_regex='*.kernel'
226236 env :
227237 KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
228- if : steps.build_ipa .outcome == 'success'
238+ if : inputs.ubuntu-jammy && steps.build_ubuntu_jammy_ipa .outcome == 'success'
229239
230- - name : Upload IPA ramdisk image to Ark
240+ - name : Upload Ubuntu 22.04 Jammy IPA ramdisk image to Ark
231241 run : |
232242 source venvs/kayobe/bin/activate &&
233243 source src/kayobe-config/kayobe-env --environment ci-builder &&
@@ -241,7 +251,63 @@ jobs:
241251 -e file_regex='*.initramfs'
242252 env :
243253 KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
244- if : steps.build_ipa.outcome == 'success'
254+ if : inputs.ubuntu-jammy && steps.build_ubuntu_jammy_ipa.outcome == 'success'
255+
256+ - name : Build a Rocky 9 IPA image
257+ id : build_rocky_9_ipa
258+ continue-on-error : true
259+ run : |
260+ source venvs/kayobe/bin/activate &&
261+ source src/kayobe-config/kayobe-env --environment ci-builder &&
262+ kayobe overcloud deployment image build --force-rebuild \
263+ -e os_distribution="rocky" \
264+ -e os_release="9" \
265+ -e ipa_build_dib_env_extra='{"DISTRO_NAME": "rocky"}'
266+ env :
267+ KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
268+ if : inputs.rocky9
269+
270+ - name : Show last error logs
271+ continue-on-error : true
272+ run : |
273+ source venvs/kayobe/bin/activate &&
274+ source src/kayobe-config/kayobe-env --environment ci-builder &&
275+ kayobe seed host command run --command "tail -200 /opt/kayobe/images/ipa/ipa.stdout" --show-output
276+ env :
277+ KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
278+ if : steps.build_rocky_9_ipa.outcome == 'failure'
279+
280+ - name : Upload Rocky 9 IPA kernel image to Ark
281+ run : |
282+ source venvs/kayobe/bin/activate &&
283+ source src/kayobe-config/kayobe-env --environment ci-builder &&
284+ kayobe playbook run \
285+ src/kayobe-config/etc/kayobe/ansible/pulp-artifact-upload.yml \
286+ -e artifact_path=/opt/kayobe/images/ipa \
287+ -e artifact_name=ipa \
288+ -e artifact_tag=${{ steps.ipa_image_tag.outputs.ipa_image_tag }} \
289+ -e os_distribution="rocky" \
290+ -e os_release="9" \
291+ -e file_regex='*.kernel'
292+ env :
293+ KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
294+ if : inputs.rocky9 && steps.build_rocky_9_ipa.outcome == 'success'
295+
296+ - name : Upload Rocky 9 IPA ramdisk image to Ark
297+ run : |
298+ source venvs/kayobe/bin/activate &&
299+ source src/kayobe-config/kayobe-env --environment ci-builder &&
300+ kayobe playbook run \
301+ src/kayobe-config/etc/kayobe/ansible/pulp-artifact-upload.yml \
302+ -e artifact_path=/opt/kayobe/images/ipa \
303+ -e artifact_name=ipa \
304+ -e artifact_tag=${{ steps.ipa_image_tag.outputs.ipa_image_tag }} \
305+ -e os_distribution="rocky" \
306+ -e os_release="9" \
307+ -e file_regex='*.initramfs'
308+ env :
309+ KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
310+ if : inputs.rocky9 && steps.build_rocky_9_ipa.outcome == 'success'
245311
246312 - name : Copy logs back
247313 continue-on-error : true
0 commit comments