cd /sys/class/net for nic in *; do ip link set $nic up done mkdir -p /custom-installation cp -a /opt/confluent /custom-installation touch /custom-installation/confluent/confluent.info TRIES=5 while [ ! -e /dev/disk/by-label ] && [ $TRIES -gt 0 ]; do sleep 2 TRIES=$((TRIES - 1)) done if [ -e /dev/disk/by-label/CNFLNT_IDNT ]; then tmnt=/tmp/idntmnt mkdir -p /tmp/identdata/ mkdir -p $tmnt tcfg=/tmp/idnttmp mount /dev/disk/by-label/CNFLNT_IDNT $tmnt cp -a $tmnt/* /tmp/identdata/ cd $tmnt deploysrvs=$(sed -n '/^deploy_servers:/,/^[^-]/p' cnflnt.yml |grep ^-|sed -e 's/^- //'|grep -v :) sed -n '/^net_cfgs:/,/^[^- ]/{/^[^- ]/!p}' cnflnt.yml |sed -n '/^-/,/^-/{/^-/!p}'| sed -e 's/^[- ]*//'> $tcfg autoconfigmethod=$(grep ^ipv4_method: $tcfg) autoconfigmethod=${autoconfigmethod#ipv4_method: } . /scripts/functions if [ "$autoconfigmethod" = "static" ]; then MYIP=$(grep ^ipv4_address: $tcfg | awk '{print $2}'|sed -e s'!/.*!!') v4addr=$(grep ^ipv4_address: $tcfg|cut -d: -f 2|sed -e 's/ //') MYGW=$(grep ^ipv4_gateway: $tcfg | awk '{print $2}') if [ "$MYGW" = "null" ]; then MYGW="" fi MYNM=$(grep ^ipv4_netmask: $tcfg | awk '{print $2}') for NICGUESS in $(ip link|grep LOWER_UP|grep -v LOOPBACK|cut -d ' ' -f 2 | sed -e 's/:$//'); do ip addr add dev $NICGUESS $v4addr if [ ! -z "$MYGW" ]; then ip route add default via $MYGW fi for dsrv in $deploysrvs; do if openssl s_client -connect $dsrv:443 > /dev/null 2>&1; then deploysrvs=$dsrv NIC=$NICGUESS break fi done if [ -z "$NIC" ]; then ip -4 a flush dev $NICGUESS else break fi done ipconfig -d $MYIP::$MYGW:$MYNM::$NIC echo $NIC > /tmp/autodetectnic else configure_networking fi MGR=$deploysrvs NODENAME=$(grep ^nodename: /tmp/idntmnt/cnflnt.yml | awk '{print $2}') echo "NODENAME: $NODENAME" >> /custom-installation/confluent/confluent.info echo "MANAGER: $MGR" >> /custom-installation/confluent/confluent.info echo "EXTMGRINFO: $MGR||1" >> /custom-installation/confluent/confluent.info hmackeyfile=/tmp/cnflnthmackeytmp echo -n $(grep ^apitoken: cnflnt.yml|awk '{print $2}') > $hmackeyfile cd - umount $tmnt else while ! grep NODENAME /custom-installation/confluent/confluent.info; do /opt/confluent/bin/copernicus -t > /custom-installation/confluent/confluent.info done MGR="[$(grep MANAGER: /custom-installation/confluent/confluent.info | head -n 1 | awk '{print $2}')]" fi osprofile=$(sed -e 's/.*osprofile=//' -e 's/ .*//' /proc/cmdline) cat /proc/cmdline > /custom-installation/confluent/cmdline.orig if [ -f /custom-installation/autocons.info ]; then cons=$(cat /custom-installation/autocons.info) fi if [ ! -z "$cons" ]; then echo "Preparing to deploy $osprofile from $MGR" > ${cons%,*} fi echo "Preparing to deploy $osprofile from $MGR" echo $osprofile > /custom-installation/confluent/osprofile echo URL=http://${MGR}/confluent-public/os/$osprofile/distribution/install.iso >> /conf/param.conf fcmdline="$(cat /custom-installation/confluent/cmdline.orig) url=http://${MGR}/confluent-public/os/$osprofile/distribution/install.iso" if [ ! -z "$cons" ]; then fcmdline="$fcmdline console=${cons#/dev/}" fi echo $fcmdline > /custom-installation/confluent/fakecmdline mount -o bind /custom-installation/confluent/fakecmdline /proc/cmdline