diff --git a/confluent_osdeploy/ubuntu20.04/initramfs/scripts/init-premount/confluent b/confluent_osdeploy/ubuntu20.04/initramfs/scripts/init-premount/confluent index a974f04d..964869d7 100755 --- a/confluent_osdeploy/ubuntu20.04/initramfs/scripts/init-premount/confluent +++ b/confluent_osdeploy/ubuntu20.04/initramfs/scripts/init-premount/confluent @@ -6,77 +6,74 @@ 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}') - NIC="" - while [ -z "$NIC" ]; do - 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 +while ! grep NODENAME /custom-installation/confluent/confluent.info; do + 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}') + NIC="" + while [ -z "$NIC" ]; do + 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 - if [ -z "$NIC" ]; then - ip -4 a flush dev $NICGUESS - else + done + ipconfig -d $MYIP::$MYGW:$MYNM::$NIC + echo $NIC > /tmp/autodetectnic + else + configure_networking + for dsrv in $deploysrvs; do + if openssl s_client -connect $dsrv:443 > /dev/null 2>&1; then + deploysrvs=$dsrv break fi done - done - ipconfig -d $MYIP::$MYGW:$MYNM::$NIC - echo $NIC > /tmp/autodetectnic + 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 - configure_networking - for dsrv in $deploysrvs; do - if openssl s_client -connect $dsrv:443 > /dev/null 2>&1; then - deploysrvs=$dsrv - break - fi - done - 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 + fi +done +if [ -z "$MGR" ]; then MGR="[$(grep MANAGER: /custom-installation/confluent/confluent.info | head -n 1 | awk '{print $2}')]" fi osprofile=$(sed -e 's/.*osprofile=//' -e 's/ .*//' /proc/cmdline) diff --git a/confluent_osdeploy/ubuntu22.04/initramfs/scripts/init-premount/confluent b/confluent_osdeploy/ubuntu22.04/initramfs/scripts/init-premount/confluent index 725560de..995fb086 100755 --- a/confluent_osdeploy/ubuntu22.04/initramfs/scripts/init-premount/confluent +++ b/confluent_osdeploy/ubuntu22.04/initramfs/scripts/init-premount/confluent @@ -6,77 +6,75 @@ 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}') - NIC="" - while [ -z "$NIC" ]; do - 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 +MGR="" +while ! grep NODENAME /custom-installation/confluent/confluent.info; do + 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}') + NIC="" + while [ -z "$NIC" ]; do + 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 - if [ -z "$NIC" ]; then - ip -4 a flush dev $NICGUESS - else + done + ipconfig -d $MYIP::$MYGW:$MYNM::$NIC + echo $NIC > /tmp/autodetectnic + else + configure_networking + for dsrv in $deploysrvs; do + if openssl s_client -connect $dsrv:443 > /dev/null 2>&1; then + deploysrvs=$dsrv break fi done - done - ipconfig -d $MYIP::$MYGW:$MYNM::$NIC - echo $NIC > /tmp/autodetectnic + 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 - configure_networking - for dsrv in $deploysrvs; do - if openssl s_client -connect $dsrv:443 > /dev/null 2>&1; then - deploysrvs=$dsrv - break - fi - done - 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 + fi +done +if [ -z "$MGR" ]; then MGR="[$(grep MANAGER: /custom-installation/confluent/confluent.info | head -n 1 | awk '{print $2}')]" fi osprofile=$(sed -e 's/.*osprofile=//' -e 's/ .*//' /proc/cmdline)