X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=system%2Fselftest;h=47f5d88ee86bb82d5b3725a102bbdbe6bfad47dc;hb=5ada02fdd7c1a403a1fdab91ab75fb21b8dc6e84;hp=bb4837447d9519d69163644214ac4f75c8563a13;hpb=2eb10e01dc8ca9f2a76b1e72e6ede92be0c9ac6c;p=tests.git diff --git a/system/selftest b/system/selftest index bb48374..47f5d88 100755 --- a/system/selftest +++ b/system/selftest @@ -11,7 +11,18 @@ SELF_IP=$2 # setup MyPLC # install from repo -yum -y install myplc-native +rpm -q myplc-native > /dev/null +installed=$? +[ $installed -eq 1 ] && yum -y install myplc-native + +# setup qemu to run the node from the bootcd +rpm -q qemu > /dev/null +installed=$? +[ $installed -eq 1 ] && yum -y install qemu + + +exit 0 + # make sure its stopped service plc stop @@ -22,106 +33,130 @@ chkconfig plc off #################################################### # configure myplc for testing purposes config=$(mktemp) -PW=$(od -N 16 -x /dev/urandom | head -1 | sed "s, ,,g") -echo "e PLC_ROOT_PASSWORD" >> $config -echo "$PW" >> $config +function genpassword() +{ + len=$1 + [ -z "$len" ] && len=8 + python <> $config -echo "selftest" >> $config +# create new 16 char random password +PW=$(genpassword 16) -echo "e PLC_ROOT_USER" >> $config -echo "root@localhost.localdomain" >> $config +cat > $config <> $config -echo 0 >> $config +e PLC_NAME +selftest -echo "e PLC_MAIL_SUPPORT_ADDRESS" >> $config -echo "build@lists.planet-lab.org" >> $config +e PLC_ROOT_USER +root@localhost.localdomain -echo "e PLC_DB_HOST" >> $config -echo $SELF_HOST >> $config +e PLC_MAIL_ENABLED +0 -echo "e PLC_API_HOST" >> $config -echo $SELF_HOST >> $config +e PLC_MAIL_SUPPORT_ADDRESS +build@lists.planet-lab.org -echo "e PLC_WWW_HOST" >> $config -echo $SELF_HOST >> $config +e PLC_DB_HOST +$SELF_HOST -echo "e PLC_BOOT_HOST" >> $config -echo $SELF_HOST >> $config +e PLC_API_HOST +$SELF_HOST -echo "e PLC_DB_IP" >> $config -echo $SELF_IP >> $config +e PLC_WWW_HOST +$SELF_HOST -echo "e PLC_API_IP" >> $config -echo $SELF_IP >> $config +e PLC_BOOT_HOST +$SELF_HOST -echo "e PLC_WWW_IP" >> $config -echo $SELF_IP >> $config +e PLC_DB_IP +$SELF_IP -echo "e PLC_BOOT_IP" >> $config -echo $SELF_IP >> $config +e PLC_API_IP +$SELF_IP -echo "e PLC_NET_DNS1" >> $config -echo $SELF_IP >> $config +e PLC_WWW_IP +$SELF_IP -echo "e PLC_NET_DNS2" >> $config -echo $SELF_IP >> $config +e PLC_BOOT_IP +$SELF_IP -echo "w" >> $config -echo "q" >> $config +w +q +EOF plc-config-tty < $config echo "$PW" > /etc/planetlab/pw chmod 400 /etc/planetlab/pw +# remove temporary config file rm -f $config -#not yet service plc start #################################################### -# run api tests - -### TBD - -# go no further than this for now -exit 0 +QA_TESTSUITE="qaapi" +SVNPATH="http://svn.planet-lab.org/svn/" +# check out test suite +# temporarily disabling -- mef +#svn export ${SVNPATH}/tests/trunk/${QA_TESTSUITE} /tmp/${QA_TESTSUITE} +#cd /tmp/${QA_TESTSUITE}/ +#chmod +x runtests.py +#chmod +x qa/tests/* +#./runtests.py #################################################### -# configure a node @ the local myplc - -# xxx execute plcsh with the appropriate set of commands to -# - create a site -# - create a node -# - - - -# grab a bootcd image with the configuration file built in -BOOTCDIMG="" - -# setup qemu to run the node from the bootcd +# configure a site and a node @ the local myplc for qemu testing + +# configure a selftest site +TESTVERS="3.4" +TESTHOST="qemu-1.$(hostname)" +TESTSITE="st" +TESTNAME="Self Test" +TESTABR="selftest" +TESTURL="http://selftest.doesnotexist" +TESTDISK="/selftest.img" +TESTCONF="/selftest.txt" +config=$(mktemp) +cat > $config < for serial line console +# -boot d -> to boot from cdrom +# -cdrom -> specifies iso file to serve as cdrom +# -m 512 -> 512MB memory -cd - +[ -f "$TESTDISK" -a -f "$TESTISO" ] && qemu-system-x86_64 -boot d -nographic -m 512 -cdrom $TESTISO $TESTDISK # run node tests -rm -rf $testdir exit 0