diff --git a/build_debian.sh b/build_debian.sh index 5c8a85c39d4..f29ee0dada2 100755 --- a/build_debian.sh +++ b/build_debian.sh @@ -175,7 +175,7 @@ sudo LANG=C chroot $FILESYSTEM_ROOT rm /tmp/docker.gpg sudo LANG=C chroot $FILESYSTEM_ROOT add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian stretch stable" sudo LANG=C chroot $FILESYSTEM_ROOT apt-get update -sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install docker-ce=${DOCKER_VERSION} +sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install docker-ce=${DOCKER_VERSION} docker-ce-cli=${DOCKER_VERSION} sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y remove software-properties-common gnupg2 ## Add docker config drop-in to select aufs, otherwise it may select other storage driver diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index 23ec81d65ac..e1e7f418e55 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -152,7 +152,10 @@ sudo cp $IMAGE_CONFIGS/poap/poap.service $FILESYSTEM_ROOT/etc/systemd/system/ sudo LANG=C chroot $FILESYSTEM_ROOT systemctl enable poap.service # Copy diag_app configuration files and templates -sudo cp $IMAGE_CONFIGS/diag_app/Ali_Diag_V2.0.4.deb $FILESYSTEM_ROOT/home/ +sudo cp $IMAGE_CONFIGS/diag_app/Ali_Diag_V2.0.6.deb $FILESYSTEM_ROOT/home/ + +# Copy logCollect.sh +sudo cp $IMAGE_CONFIGS/diag_app/logCollect.sh $FILESYSTEM_ROOT/usr/bin/ # Copy port_led configuration files and templates sudo cp $IMAGE_CONFIGS/port_led/port-led $FILESYSTEM_ROOT/usr/bin/ diff --git a/files/image_config/diag_app/Ali_Diag_V2.0.6.deb b/files/image_config/diag_app/Ali_Diag_V2.0.6.deb new file mode 100644 index 00000000000..4da5a7bd9e4 Binary files /dev/null and b/files/image_config/diag_app/Ali_Diag_V2.0.6.deb differ diff --git a/files/image_config/diag_app/logCollect.sh b/files/image_config/diag_app/logCollect.sh new file mode 100755 index 00000000000..b1985a7d0fc --- /dev/null +++ b/files/image_config/diag_app/logCollect.sh @@ -0,0 +1,160 @@ +#!/bin/bash + +rmalogpath="/tmp/logAll" +bmclogdir="/tmp/bmcLogAll" +soniclogdir="/tmp/sonicLogAll" + +bmcloglist=("/var/log/syslog" + "/var/log/syslog.1" + '/var/log/syslog.[2-9].gz' + "/var/log/console_syslog.log" + "/var/log/console_syslog.log.1" + "/var/log/console_syslog.log.[2-9].gz" + "/var/log/cpumon.log" + "/var/log/fand.log" + "/var/log/dcdcmon.log" + "/var/log/powermon.log" + "/mnt/data/autodump.tar.gz" + "/var/log/autodump/autodump.tar.gz") + +sonicloglist=("/var/log/syslog" + "/var/log/syslog.1" + '/var/log/syslog.[2-19].gz' + "/var/log/swss/sairedis.rec" + "/var/log/swss/sairedis.rec.1" + "/var/log/swss/sairedis.rec.[2-19].gz" + "/var/log/swss/swss.rec" + "/var/log/swss/swss.rec.1" + "/var/log/swss/swss.rec.[2-19].gz" + "/var/log/bmc/bmc_console.log" + "/var/log/bmc_feed_watchdog.log" + "/var/log/kern.*") + +bmcloglistN=() +sonicloglistN=() + + +arrayExtend(){ + #echo "bmc srcArr is: ${bmcloglist[@]}" + for (( i = 0 ; i < ${#bmcloglist[@]} ; i++ )) + do + #echo "${bmcloglist[$i]}" + str=`echo "${bmcloglist[$i]}" | grep -oE "[0-9]+\-[0-9]+"` + if [ $str ]; then + a=`echo $str |cut -d "-" -f1` + b=`echo $str |cut -d "-" -f2` + for((j=$a;j<=$b;j++)){ + bmcloglistN[${#bmcloglistN[*]}]=`echo "${bmcloglist[$i]}" | sed -r "s/\[[0-9]+\-[0-9]+\]/$j/"` + } + else + bmcloglistN[${#bmcloglistN[*]}]=${bmcloglist[$i]} + fi + done + #echo ${bmcloglistN[*]} + + #echo "sonic srcArr is: ${sonicloglist[@]}" + for (( i = 0 ; i < ${#sonicloglist[@]} ; i++ )) + do + #echo "${sonicloglist[$i]}" + str=`echo "${sonicloglist[$i]}" | grep -oE "[0-9]+\-[0-9]+"` + if [ $str ]; then + a=`echo $str |cut -d "-" -f1` + b=`echo $str |cut -d "-" -f2` + for((j=$a;j<=$b;j++)){ + sonicloglistN[${#sonicloglistN[*]}]=`echo "${sonicloglist[$i]}" | sed -r "s/\[[0-9]+\-[0-9]+\]/$j/"` + } + else + sonicloglistN[${#sonicloglistN[*]}]=${sonicloglist[$i]} + fi + done + #echo ${sonicloglistN[*]} +} + +scpFileFromBmc(){ + expect -c " + #spawn scp -r root@240.1.1.1:$1 $2 + spawn sudo scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@240.1.1.1:$1 $2 + expect { + \"*assword\" { set timeout 300; send \"0penBmc\r\"; exp_continue; } + \"yes/no\" { send \"yes\r\"; } + }" +} + +bmcLogCollect(){ + echo "BMC log collect ..." + + if [ -d $bmclogdir ]; then + rm -rf $bmclogdir + fi + mkdir -p $bmclogdir + + for file in ${bmcloglistN[@]} + do + #echo "$file" + scpFileFromBmc $file $bmclogdir + done +} + +sonicLogCollect(){ + echo "SONiC log collect ..." + + if [ -d $soniclogdir ]; then + rm -rf $soniclogdir + fi + mkdir -p $soniclogdir + + for file in ${sonicloglistN[@]} + do + if [ -f $file ]; then + #echo "$file" + cp $file $soniclogdir + fi + done +} + +checkfile(){ + echo "BMC log file check exist test ..." + for file in ${bmcloglist[@]} + do + echo $file + if ssh root@240.1.1.1 test -e $file; then + echo "$file exist" + fi + done + +} + + +arrayExtend +echo "bmcloglist:" +for line in ${bmcloglistN[*]}; do + echo $line +done + +echo "" +echo "sonicloglist:" +for line in ${sonicloglistN[*]}; do + echo $line +done + + +bmcLogCollect +sonicLogCollect + +rmalogdir=`echo $rmalogpath | awk -F "/" '{print $NF}'` + +if [ -d $rmalogpath ]; then + rm -rf $rmalogpath +fi + +if [ -f $rmalogpath.tar.gz ]; then + rm -rf $rmalogpath.tar.gz +fi + +mkdir -p $rmalogpath +mv $bmclogdir $rmalogpath +mv $soniclogdir $rmalogpath + +cd /tmp +tar -zcf $rmalogdir.tar.gz $rmalogdir +rm -rf $rmalogpath diff --git a/files/image_config/platform/rc.local b/files/image_config/platform/rc.local index c96fcc07cb2..8107d448f02 100755 --- a/files/image_config/platform/rc.local +++ b/files/image_config/platform/rc.local @@ -90,8 +90,7 @@ update_mgmt_interface_macaddr() { diag_install() { echo "Diag install start ..." - sleep 200 - dpkg -i /home/Ali_Diag_V2.0.4.deb + dpkg -i /home/Ali_Diag_V2.0.6.deb } boot_action() {