2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2025-05-30 09:36:41 +00:00

Merge pull request #3265 from xuweibj/simulator_mul

Add testcases for simulator multiple
This commit is contained in:
zet809 2017-06-16 16:36:28 +08:00 committed by GitHub
commit d5aa5512c5
4 changed files with 112 additions and 42 deletions

View File

@ -1,21 +0,0 @@
#!/bin/bash
flag=$1
mnhn=$2
cnhn=$3
if [ $flag = "-s" ]; then
cnip=`lsdef $cnhn -i bmc -c | awk -F '=' '{print $2}'`
echo $cnip > "/tmp/simulator"
mnip=`ping $mnhn -c 1 | grep "64 bytes from" |awk -F'(' '{print $2}'|awk -F')' '{print $1}'`
chdef $cnhn bmc=$mnip
elif [ $flag = "-c" ]; then
cnip=`cat /tmp/simulator`
chdef $cnhn bmc=$cnip
process=`ps aux | grep "simulator" | grep "python" | awk -F ' ' '{print $2}'`
if [ $process ]; then
kill $process
fi
rm -rf "openbmc_simulator"
fi
exit $?

View File

@ -1,5 +1,23 @@
start:clear_openbmc_simulator
description:clear evironment
cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/change_ip.sh -c $$MN $$CN
cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -c $$MN $$CN
check:rc==0
end
start:clear_openbmc_simulator_multiple_100
description:clear evironment that simulate 100 OpenBMCs
cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -c $$MN $$CN $$bmcusername $$bmcpasswd 100
check:rc==0
end
start:clear_openbmc_simulator_multiple_1000
description:clear evironment that simulate 1000 OpenBMCs
cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -c $$MN $$CN $$bmcusername $$bmcpasswd 1000
check:rc==0
end
start:clear_openbmc_simulator_multiple_5000
description:clear evironment that simulate 5000 OpenBMCs
cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -c $$MN $$CN $$bmcusername $$bmcpasswd 5000
check:rc==0
end

View File

@ -0,0 +1,74 @@
#!/bin/bash
flag=$1 # -s:setup simulator -c:clear simulator env
mnhn=$2 # MN hostname
cnhn=$3 # CN hostname
username=$4 # bmcusername
password=$5 # bmcpassword
nodes=$6 # number of IPs want to config
if [ $nodes -gt 10000 ]; then
echo "Unsupported number of nodes: $nodes"
exit 1
fi
mnip=`ping $mnhn -c 1 | grep "64 bytes from" |awk -F'(' '{print $2}'|awk -F')' '{print $1}'`
if [ $nodes ]; then
nic=`ip -4 -o a | grep $mnip | awk -F ' ' '{print $2}'`
((a=$nodes/100))
((b=$nodes%100))
if [ $b -eq 0 ]; then
b=100
fi
range=`for((i=1;i<=$a;i++)); do for((m=1;m<=$b;m++)); do echo -n "10.100.$i.$m ";done; done`
fi
if [ $flag = "-s" ]; then
os=`cat /etc/*release*`
if [[ "$os" =~ "Red Hat" ]] || [[ "$os" =~ "suse" ]]; then
yum install git -y
if [ $? != 0 ]; then
echo "Install git Failed"
exit 1
fi
elif [[ "$os" =~ "ubuntu" ]]; then
apt-get install git -y
if [ $? != 0 ]; then
echo "Install git Failed"
exit 1
fi
fi
cd /root/ && git clone git@github.com:xuweibj/openbmc_simulator.git
if [ $nodes ]; then
lsdef $cnhn -z > /tmp/$cnhn.stanza
rmdef $cnhn
/root/openbmc_simulator/simulator -n $nic -r $range
node_end=$[nodes-1]
chdef -t group $cnhn mgt=openbmc bmc="|\D+(\d+)$|10.100.(1+((\$1)/100)).((\$1)%100+1)|" bmcusername=$username bmcpassword=$password
chdef simulator_test_[0-$node_end] groups=$cnhn # use CN hostname as group, so when run command against CN will rpower against all nodes added here
else
cnip=`lsdef $cnhn -i bmc -c | awk -F '=' '{print $2}'`
echo $cnip > "/tmp/simulator"
mnip=`ping $mnhn -c 1 | grep "64 bytes from" |awk -F'(' '{print $2}'|awk -F')' '{print $1}'`
chdef $cnhn bmc=$mnip
/root/openbmc_simulator/simulator
fi
elif [ $flag = "-c" ]; then
if [ $nodes ]; then
/root/openbmc_simulator/simulator -c -n $nic -r $range
rmdef $cnhn
cat /tmp/$cnhn.stanza | mkdef -z
else
/root/openbmc_simulator/simulator -c
cnip=`cat /tmp/simulator`
chdef $cnhn bmc=$cnip
fi
rm -rf /root/openbmc_simulator
fi
exit $?

View File

@ -1,24 +1,23 @@
start:setup_openbmc_simulator
description:install dependent packaages, setup and start openbmc simulator
cmd:#!/bin/bash
os=`cat /etc/*release*`
if [[ "$os" =~ "Red Hat" ]] || [[ "$os" =~ "suse" ]]; then
yum install git -y
if [ $? != 0 ]; then
exit 1
fi
elif [[ "$os" =~ "ubuntu" ]]; then
apt-get install git -y
if [ $? != 0 ]; then
exit 1
fi
fi
exit 0
check:rc==0
cmd:cd /root/ && git clone git@github.com:xuweibj/openbmc_simulator.git
check:rc==0
cmd:/root/openbmc_simulator/simulator &
check:rc==0
cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/change_ip.sh -s $$MN $$CN
cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -s $$MN $$CN
check:rc==0
end
start:setup_openbmc_simulator_multiple_100
description:install dependent packaages, setup and start 100 openbmc simulator
cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -s $$MN $$CN $$bmcusername $$bmcpasswd 100
check:rc==0
end
start:setup_openbmc_simulator_multiple_1000
description:install dependent packaages, setup and start 1000 openbmc simulator
cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -s $$MN $$CN $$bmcusername $$bmcpasswd 1000
check:rc==0
end
start:setup_openbmc_simulator_multiple_5000
description:install dependent packaages, setup and start 5000 openbmc simulator
cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -s $$MN $$CN $$bmcusername $$bmcpasswd 5000
check:rc==0
end