#!/bin/sh # copernicus is hard coded, easier to script a fake sysfs uuid=$(vsish -e get /hardware/bios/dmiInfo|grep -A15 UUID|sed -e 's/.*://'|sed -e ':a;N;$!ba;s/\n//g' | sed -e 's/ *0x//g') uuid=${uuid:0:8}-${uuid:8:4}-${uuid:12:4}-${uuid:16:4}-${uuid:20:12} mkdir -p /sys/devices/virtual/dmi/id/ echo $uuid > /sys/devices/virtual/dmi/id/product_uuid mkdir -p /etc/confluent localcli network firewall unload touch /etc/confluent/confluent.info begin=$(date +%s) while ! grep NODENAME /etc/confluent/confluent.info; do echo "Searching for deployment service on local network..." /opt/confluent/bin/copernicus > /etc/confluent/confluent.info esxcfg-nics -l if [ $(date +%s) -gt $((begin + 90)) ]; then if [ ! -f /var/run/vmware/show-esx-shell-login ]; then chvt 1 sleep 1 chvt 2 /etc/init.d/ESXShell start fi echo "Unable to locate a deployment system on the local network, verify network connectivity" echo "A debug session has been made available on Alt-F1" sleep 30 fi done node=$(grep NODENAME: /etc/confluent/confluent.info|head -n 1|awk '{print $2}') mgr=$(grep MANAGER: /etc/confluent/confluent.info|head -n 1|awk '{print $2}') cp /opt/confluent/bin/clortho /clortho /clortho $node $mgr > /etc/confluent/confluent.apikey APIKEY=$(cat /etc/confluent/confluent.apikey) while [ -z "$APIKEY" ]; do if [ ! -f /var/run/vmware/show-esx-shell-login ]; then chvt 1 sleep 1 chvt 2 /etc/init.d/ESXShell start fi echo "Deployment server failed to grant node deployment token, retrying token retrieval" echo "A debug session has been made available on Alt-F1" /clortho $node $mgr > /etc/confluent/confluent.apikey APIKEY=$(cat /etc/confluent/confluent.apikey) done cat /tls/*.pem > /etc/confluent/ca.pem /opt/confluent/bin/apiclient /confluent-api/self/deploycfg > /etc/confluent/confluent.deploycfg.new profile=$(grep ^profile: /etc/confluent/confluent.deploycfg.new | sed -e 's/^profile: //') /opt/confluent/bin/apiclient /confluent-public/os/$profile/kickstart > /etc/confluent/ks.cfg /opt/confluent/bin/apiclient /confluent-public/os/$profile/scripts/modinstall > /tmp/modinstall mv /etc/confluent/confluent.deploycfg.new /etc/confluent/confluent.deploycfg export node mgr profile . /tmp/modinstall exec /bin/install