UNCLASSIFIED - NO CUI

Skip to content

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

Merge request reports

Loading