diff --git a/xCAT-test/autotest/testcase/genesis/cases0 b/xCAT-test/autotest/testcase/genesis/cases0 index f9fb966ea..545b552b1 100644 --- a/xCAT-test/autotest/testcase/genesis/cases0 +++ b/xCAT-test/autotest/testcase/genesis/cases0 @@ -30,3 +30,14 @@ cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n check:rc==0 cmd:cat /tmp/genesistestlog/* end +start:nodeset_shell_incorrectmasterip +description:very if computenode need to do nodeset shell in different net with master will success +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/genesis/test.sh --check xnba +check:rc==0 +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/genesis/test.sh --check grub2 +check:rc==0 +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/genesis/test.sh --check petitboot +check:rc==0 +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/genesis/test.sh -c +check:rc==0 +end diff --git a/xCAT-test/autotest/testcase/genesis/test.sh b/xCAT-test/autotest/testcase/genesis/test.sh new file mode 100755 index 000000000..d0332ca7e --- /dev/null +++ b/xCAT-test/autotest/testcase/genesis/test.sh @@ -0,0 +1,79 @@ +#!/bin/bash +function check_destiny(){ +chdef testnode arch=ppc64le cons=ipmi groups=all ip=60.1.1.1 netboot=$NETBOOT; +masterip=`lsdef -t site -i master -c 2>&1 | awk -F'=' '{print $2}'`; +masternet=`ifconfig | awk "BEGIN{RS=\"\"}/\<$masterip\>/{print \$1}"|head -n 1 | awk -F ' ' '{print $1}'|awk -F ":" '{print \$1}' 2>&1`; +net2=`netstat -i -a|grep -v Kernel|grep -v Iface |grep -v lo|grep -v $masternet|head -n 1|awk '{print $1}'`;echo net2 is $net2; +net2ip=""; + if [[ -z $net2 ]];then + echo "could not verify the test" + return 1; + else + net2ipstring=`ifconfig $net2 |grep inet|grep -v inet6`; + if [[ $? -eq 0 ]];then + net2ip=`ifconfig $net2 |grep inet|grep -v inet6|awk -F ' ' '{print $2}'|awk -F ":" '{print $2}'`; + if [[ -z $net2ip ]];then + net2ip=`ifconfig $net2 |grep inet|grep -v inet6|awk -F ' ' '{print $2}'`; + fi + else + net2ip=0.0.0.0; + fi + ifconfig $net2 60.3.3.3 ; + makehosts testnode; + nodeset testnode shell; + ifconfig $net2 "$net2ip"; + cat "$SHELLFOLDER"testnode |grep "xcatd=60.3.3.3:3001 destiny=shell"; + if [[ $? -eq 0 ]] ;then + return 0; + else + echo wrong; + return 1; + fi + fi +} +function clear_env(){ +makehosts -d testnode +rmdef testnode + if [[ $? -eq 0 ]];then + return 0; + else + return 1; + fi +} +NETBOOT="" +SHELLFOLDER="" +while [ "$#" -gt "0" ] +do + case $1 in + "--check" ) + NETBOOT=$2; + if [[ $NETBOOT =~ petitboot ]];then + SHELLFOLDER="/tftpboot/petitboot/"; + elif [[ $NETBOOT =~ xnba ]];then + SHELLFOLDER="/tftpboot/xcat/xnba/nodes/" + else + SHELLFOLDER="/tftpboot/boot/grub2/"; + fi + check_destiny ; + if [[ $? -eq 1 ]];then + exit 1 + else + exit 0 + fi + ;; + "-c"|"--clear" ) + clear_env; + if [[ $? -eq 1 ]];then + exit 1 + else + exit 0 + fi + ;; + *) + echo + echo "Please Insert $0: -cd|-c" + echo + exit 1; + ;; + esac +done