mirror of
https://github.com/xcat2/confluent.git
synced 2024-11-26 03:19:48 +00:00
f32619aa3e
Sometimes firstboot scripts want to reboot. In such a case, start firstboot once, and if reboot prevents completion, then next boot will updatestatus, but not run firstboot scripts and deregister itself.
32 lines
1.3 KiB
Bash
32 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
# This script is executed on the first boot after install has
|
|
# completed. It is best to edit the middle of the file as
|
|
# noted below so custom commands are executed before
|
|
# the script notifies confluent that install is fully complete.
|
|
|
|
nodename=$(grep ^NODENAME /etc/confluent/confluent.info|awk '{print $2}')
|
|
apikey=$(cat /etc/confluent/confluent.apikey)
|
|
mgr=$(grep deploy_server /etc/confluent/confluent.deploycfg|awk '{print $2}')
|
|
profile=$(grep ^profile: /etc/confluent/confluent.deploycfg|awk '{print $2}')
|
|
export nodename mgr profile
|
|
. /etc/confluent/functions
|
|
|
|
if [ ! -f /etc/confluent/firstboot.ran ]; then
|
|
touch /etc/confluent/firstboot.ran
|
|
|
|
cat /etc/confluent/tls/*.pem >> /etc/pki/tls/certs/ca-bundle.crt
|
|
|
|
run_remote firstboot.custom
|
|
# Firstboot scripts may be placed into firstboot.d, e.g. firstboot.d/01-firstaction.sh, firstboot.d/02-secondaction.sh
|
|
run_remote_parts firstboot
|
|
|
|
# Induce execution of remote configuration, e.g. ansible plays in ansible/firstboot.d/
|
|
run_remote_config firstboot
|
|
fi
|
|
|
|
curl -X POST -d 'status: complete' -H "CONFLUENT_NODENAME: $nodename" -H "CONFLUENT_APIKEY: $apikey" https://$mgr/confluent-api/self/updatestatus
|
|
systemctl disable firstboot
|
|
rm /etc/systemd/system/firstboot.service
|
|
rm /etc/confluent/firstboot.ran
|