Add gitlab runner build scripts to execute netboot_images build script when...
General MR
Summary
Adds a gitlab pipeline yaml file and supporting scripts to execute the netboot builder on any change
Relevant logs/screenshots
Impersonating a gitlab pipeline:
$ git branch
* test_branch
gandrewkesterson@BPH-MRYQ4JN47T netboot_builder (test_branch)
$ git show HEAD
# ....
diff --git a/netboot_builder/os_descriptors/rhel-9.6-aarch64-bios.json b/netboot_builder/os_descriptors/rhel-9.6-aarch64-bios.json
index 4f0ac07..0b63ec2 100644
--- a/netboot_builder/os_descriptors/rhel-9.6-aarch64-bios.json
+++ b/netboot_builder/os_descriptors/rhel-9.6-aarch64-bios.json
@@ -1,6 +1,7 @@
{
"operatingSystemName": "redhat",
"operatingSystemVersion": "9.6",
+
"operatingSystemArchitecture": "aarch",
"isoImageReference": "rhel-9.6-aarch64-dvd.iso",
"operatingSystemDeliveryMechanism": "BIOS"
We should execute against 1 of the 2 json files in our os_descriptions directory
$ CI_COMMIT_BEFORE_SHA=0000000000000000000000000000000000000000 CI_MERGE_REQUEST_SOURCE_BRANCH_NAME=test_branch CI_MERGE_REQUEST_TARGET_BRANCH_NAME=feature/LEVIATHAN-13_pipeline ./pipeline_changes.sh > changedfiles.txt
andrewkesterson@BPH-MRYQ4JN47T netboot_builder (test_branch)
$ cat changedfiles.txt
Changed files in merge request:
netboot_builder/os_descriptors/rhel-9.6-aarch64-bios.json
Running the build
ISO_SOURCE_BUCKET=leviathan.east/iso/upstream CI_COMMIT_BEFORE_SHA=0000000000000000000000000000000000000000 CI_MERGE_REQUEST_SOURCE_BRANCH_NAME=test_branch CI_MERGE_REQUEST_TARGET_BRANCH_NAME=feature/LEVIATHAN-13_pipeline CI_PIPELINE_IID=1 ./pipeline_build.sh changedfiles.txt
/dev/disk6 /Users/andrewkesterson/source/repo1.dso.mil/big-bang/customers/airgap/netboot_builder/netbootmounter1uB6/RHEL-9-6-0-BaseO
./tftpboot
./tftpboot/cat.c32
./tftpboot/chain.c32
./tftpboot/cmd.c32
./tftpboot/cmenu.c32
./tftpboot/config.c32
./tftpboot/cptime.c32
./tftpboot/cpu.c32
./tftpboot/cpuid.c32
./tftpboot/cpuidtest.c32
./tftpboot/debug.c32
./tftpboot/dhcp.c32
./tftpboot/dir.c32
./tftpboot/disk.c32
./tftpboot/dmi.c32
./tftpboot/dmitest.c32
./tftpboot/elf.c32
./tftpboot/ethersel.c32
./tftpboot/gfxboot.c32
./tftpboot/gpxecmd.c32
./tftpboot/hdt.c32
./tftpboot/hexdump.c32
./tftpboot/host.c32
./tftpboot/ifcpu.c32
./tftpboot/ifcpu64.c32
./tftpboot/ifmemdsk.c32
./tftpboot/ifplop.c32
./tftpboot/kbdmap.c32
./tftpboot/kontron_wdt.c32
./tftpboot/ldlinux.c32
./tftpboot/lfs.c32
./tftpboot/libcom32.c32
./tftpboot/libgpl.c32
./tftpboot/liblua.c32
./tftpboot/libmenu.c32
./tftpboot/libutil.c32
./tftpboot/linux.c32
./tftpboot/lpxelinux.0
./tftpboot/ls.c32
./tftpboot/lua.c32
./tftpboot/mboot.c32
./tftpboot/memdisk
./tftpboot/meminfo.c32
./tftpboot/menu.c32
./tftpboot/pci.c32
./tftpboot/pcitest.c32
./tftpboot/pmload.c32
./tftpboot/poweroff.c32
./tftpboot/prdhcp.c32
./tftpboot/pwd.c32
./tftpboot/pxechn.c32
./tftpboot/pxelinux.0
./tftpboot/reboot.c32
./tftpboot/rosh.c32
./tftpboot/sanboot.c32
./tftpboot/sdi.c32
./tftpboot/sysdump.c32
./tftpboot/syslinux.c32
./tftpboot/vesa.c32
./tftpboot/vesainfo.c32
./tftpboot/vesamenu.c32
./tftpboot/vpdtest.c32
./tftpboot/whichsys.c32
./tftpboot/zzjson.c32
2196 blocks
a .
a ./syslinux-tftpboot-6.04-0.20.el9.noarch.rpm
a ./images
a ./pxelinux
a ./redhat
a ./tftpboot
a ./tftpboot/ifcpu.c32
a ./tftpboot/mboot.c32
a ./tftpboot/disk.c32
a ./tftpboot/libcom32.c32
a ./tftpboot/dhcp.c32
a ./tftpboot/ldlinux.c32
a ./tftpboot/rosh.c32
a ./tftpboot/prdhcp.c32
a ./tftpboot/libmenu.c32
a ./tftpboot/gfxboot.c32
a ./tftpboot/meminfo.c32
a ./tftpboot/whichsys.c32
a ./tftpboot/ifmemdsk.c32
a ./tftpboot/libgpl.c32
a ./tftpboot/pwd.c32
a ./tftpboot/sanboot.c32
a ./tftpboot/vpdtest.c32
a ./tftpboot/vesainfo.c32
a ./tftpboot/syslinux.c32
a ./tftpboot/cat.c32
a ./tftpboot/menu.c32
a ./tftpboot/dmitest.c32
a ./tftpboot/elf.c32
a ./tftpboot/cmd.c32
a ./tftpboot/vesa.c32
a ./tftpboot/lpxelinux.0
a ./tftpboot/ifplop.c32
a ./tftpboot/gpxecmd.c32
a ./tftpboot/hdt.c32
a ./tftpboot/libutil.c32
a ./tftpboot/cpuidtest.c32
a ./tftpboot/kontron_wdt.c32
a ./tftpboot/pci.c32
a ./tftpboot/pxelinux.0
a ./tftpboot/dir.c32
a ./tftpboot/chain.c32
a ./tftpboot/kbdmap.c32
a ./tftpboot/liblua.c32
a ./tftpboot/ethersel.c32
a ./tftpboot/pmload.c32
a ./tftpboot/sdi.c32
a ./tftpboot/linux.c32
a ./tftpboot/lfs.c32
a ./tftpboot/config.c32
a ./tftpboot/ifcpu64.c32
a ./tftpboot/debug.c32
a ./tftpboot/lua.c32
a ./tftpboot/cpu.c32
a ./tftpboot/vesamenu.c32
a ./tftpboot/pxechn.c32
a ./tftpboot/sysdump.c32
a ./tftpboot/cmenu.c32
a ./tftpboot/poweroff.c32
a ./tftpboot/cpuid.c32
a ./tftpboot/memdisk
a ./tftpboot/dmi.c32
a ./tftpboot/pcitest.c32
a ./tftpboot/reboot.c32
a ./tftpboot/zzjson.c32
a ./tftpboot/hexdump.c32
a ./tftpboot/ls.c32
a ./tftpboot/host.c32
a ./tftpboot/cptime.c32
a ./pxelinux/pxelinux.0
a ./pxelinux/pxelinux.cfg
a ./pxelinux/pxelinux.cfg/default
a ./images/RHEL-9.6-aarch
a ./images/RHEL-9.6-aarch/initrd.img
a ./images/RHEL-9.6-aarch/vmlinuz
"disk6" ejected.
Publishing the image
$ ISO_SOURCE_BUCKET=leviathan.east/iso/upstream CI_COMMIT_BEFORE_SHA=0000000000000000000000000000000000000000 CI_MERGE_REQUEST_SOURCE_BRANCH_NAME=test_branch CI_MERGE_REQUEST_TARGET_BRANCH_NAME=feature/LEVIATHAN-13_pipeline CI_PIPELINE_IID=1 ./pipeline_publish.sh leviathan.east/netboot/
Completed 9.0 MiB/146.5 MiB (61.1 KiB/s) with 1 file(s) remaining
# ... on my DSL this takes forever but the script does what it is supposed to
Linked Issue
Closes https://repo1.dso.mil/big-bang/customers/airgap/-/issues/160
Upgrade Notices
N/A
Edited by Andrew Kesterson