mirror of
https://github.com/xcat2/confluent.git
synced 2024-11-22 09:32:21 +00:00
2058d1fba8
ESXi changes security policies, adapt to navigate both old and new sorts of rules
54 lines
2.5 KiB
Bash
54 lines
2.5 KiB
Bash
#!/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)
|
|
localcli system secpolicy domain set -n appDom -l disabled
|
|
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 || /opt/confluent/bin/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 || /opt/confluent/bin/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
|