diff --git a/confluent_osdeploy/el8-diskless/profiles/default/scripts/imageboot.sh b/confluent_osdeploy/el8-diskless/profiles/default/scripts/imageboot.sh index fe53bf38..0a3d336f 100644 --- a/confluent_osdeploy/el8-diskless/profiles/default/scripts/imageboot.sh +++ b/confluent_osdeploy/el8-diskless/profiles/default/scripts/imageboot.sh @@ -4,10 +4,12 @@ if [[ "$confluent_whost" == *:* ]] && [[ "$confluent_whost" != "["* ]]; then confluent_whost="[$confluent_mgr]" fi mkdir -p /mnt/remoteimg /mnt/remote /mnt/overlay +TETHERED=0 if [ "untethered" = "$(getarg confluent_imagemethod)" ]; then mount -t tmpfs untethered /mnt/remoteimg curl https://$confluent_whost/confluent-public/os/$confluent_profile/rootimg.sfs -o /mnt/remoteimg/rootimg.sfs else + TETHERED=1 confluent_urls="$confluent_urls https://$confluent_whost/confluent-public/os/$confluent_profile/rootimg.sfs" /opt/confluent/bin/urlmount $confluent_urls /mnt/remoteimg fi @@ -130,4 +132,15 @@ ln -s /sysroot/lib/modules/$(uname -r) /lib/modules/ mv /lib/firmware /lib/firmware-ramfs ln -s /sysroot/lib/firmware /lib/firmware kill $(grep -l ^/usr/lib/systemd/systemd-udevd /proc/*/cmdline|cut -d/ -f 3) +if [ $TETHERED -eq 1 ]; then + ( + sleep 86400 & + ONBOOTPID=$! + mkdir -p /sysroot/run/confluent + echo $ONBOOTPID > /sysroot/run/confluent/onboot_sleep.pid + wait $ONBOOTPID + losetup $loopdev --direct-io=on + dd if=/mnt/remoteimg/rootimg.sfs iflag=nocache count=0 >& /dev/null + ) & +fi exec /opt/confluent/bin/start_root diff --git a/confluent_osdeploy/el8-diskless/profiles/default/scripts/onboot.sh b/confluent_osdeploy/el8-diskless/profiles/default/scripts/onboot.sh index 0bc3777b..506225b1 100644 --- a/confluent_osdeploy/el8-diskless/profiles/default/scripts/onboot.sh +++ b/confluent_osdeploy/el8-diskless/profiles/default/scripts/onboot.sh @@ -68,5 +68,10 @@ run_remote_parts onboot.d # Induce execution of remote configuration, e.g. ansible plays in ansible/onboot.d/ run_remote_config onboot.d +if [ -f /run/confluent/onboot_sleep.pid ]; then + sleeppid=$(cat /run/confluent/onboot_sleep.pid) + kill "$sleeppid" + rm -f /run/confluent/onboot_sleep.pid +fi #curl -X POST -d 'status: booted' -H "CONFLUENT_NODENAME: $nodename" -H "CONFLUENT_APIKEY: $confluent_apikey" https://$confluent_mgr/confluent-api/self/updatestatus kill $logshowpid