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
. /etc/os-release
DIRECTISO=$(blkid -t TYPE=iso9660 |grep -Ei ' LABEL="Ubuntu-Server '$VERSION_ID)
if [ -z "$DIRECTISO" ]; then
    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"
fi
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
echo '/scripts/casper-bottom/99confluent "$@"' >> /scripts/casper-bottom/ORDER


