mirror of
https://github.com/xcat2/xcat-core.git
synced 2025-05-22 03:32:04 +00:00
47 lines
1.5 KiB
Plaintext
47 lines
1.5 KiB
Plaintext
start:detect_dhcpd_work
|
|
description:To test if xcatprobe detect_dhcpd works. This case must run in xcat mn
|
|
label:others,dhcp
|
|
cmd:if [ -d "/tmp/detect_dhcpd_work" ]; then mv /tmp/detect_dhcpd_work /tmp/detect_dhcpd_work.bak; fi; mkdir -p /tmp/detect_dhcpd_work
|
|
cmd:makedhcp -n
|
|
check:rc == 0
|
|
cmd:makedhcp $$CN
|
|
check:rc == 0
|
|
cmd:#!/bin/bash
|
|
if [ -e "/etc/redhat-release" ]; then
|
|
rpm -qa |grep tcpdump
|
|
if [ "$?" != "0" ] ;then
|
|
yum install -y tcpdump
|
|
fi
|
|
elif [ -e "/etc/SuSE-release" ] || [ -e "/etc/SUSE-brand" ]; then
|
|
rpm -qa |grep tcpdump
|
|
if [ "$?" != "0" ] ;then
|
|
zypper -n install tcpdump
|
|
fi
|
|
elif [ -e "/etc/lsb-release" ]; then
|
|
dpkg -l|grep tcpdump
|
|
if [ "$?" != "0" ] ;then
|
|
apt-get install -y tcpdump
|
|
fi
|
|
fi
|
|
cmd:echo "$$CN" |tee /tmp/detect_dhcpd_work/cn
|
|
cmd: #!/bin/bash
|
|
cn=`cat /tmp/detect_dhcpd_work/cn`
|
|
mac=""
|
|
nic=""
|
|
declare -a array=(`lsdef $cn -i mac -c|awk -F"=" '{print $2}'|sed 's/|/ /g'`)
|
|
for i in "${array[@]}"
|
|
do
|
|
if ! echo $i|grep -q NOIP
|
|
then
|
|
mac=$i
|
|
break
|
|
fi
|
|
done
|
|
mn=`lsdef -t site -i master -c|awk -F"=" '{print $2}'`
|
|
nic=`ip -4 -o a|grep $mn|awk -F" " '{print $2}'`
|
|
xcatprobe -w detect_dhcpd -i $nic -m $mac
|
|
check:output !~ There are 0 servers replied to dhcp discover
|
|
check:output =~ Server:__GETTABLEVALUE(key,master,value,site)__ assign IP .+__GETNODEATTR($$CN,ip)__
|
|
cmd:rm -rf /tmp/detect_dhcpd_work; if [ -d "/tmp/detect_dhcpd_work.bak" ]; then mv /tmp/detect_dhcpd_work.bak /tmp/detect_dhcpd_work;fi
|
|
end
|