From 68ffc340dddc01e138799531b1d5fb4c84e81263 Mon Sep 17 00:00:00 2001 From: litingt Date: Sun, 18 Nov 2018 21:12:36 -0500 Subject: [PATCH] add http port change case, do task 339 --- xCAT-test/autotest/testcase/httpport/cases0 | 29 +++++++++++++++++++ .../testcase/httpport/change_http_port.sh | 24 +++++++++++++++ .../testcase/httpport/check_wget_files.sh | 25 ++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 xCAT-test/autotest/testcase/httpport/cases0 create mode 100755 xCAT-test/autotest/testcase/httpport/change_http_port.sh create mode 100755 xCAT-test/autotest/testcase/httpport/check_wget_files.sh diff --git a/xCAT-test/autotest/testcase/httpport/cases0 b/xCAT-test/autotest/testcase/httpport/cases0 new file mode 100644 index 000000000..8030ed03c --- /dev/null +++ b/xCAT-test/autotest/testcase/httpport/cases0 @@ -0,0 +1,29 @@ +start:http_port_change +description:Add test cases for bug fix 2629, change http port and then generate genesis (mknb). +label:others +cmd:netstat -nlp|grep -E "apache2|httpd" +check:output =~ 80 +cmd:lsdef -t site -i httpport -c |awk -F"=" '{print $2}' +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/httpport/change_http_port.sh 80 8898 +cmd:netstat -nlp|grep -E "apache2|httpd" +check:output =~ 8898 +check:rc==0 +cmd:chdef -t site httpport=8898 +check:rc==0 +cmd:lsdef -t site -i httpport -c +check:output =~ 8898 +check:rc==0 +cmd:if [[ "__GETNODEATTR($$CN,arch)__" = "ppc64le" ]]; then arch=ppc64; else arch=__GETNODEATTR($$CN,arch)__;fi; mknb $arch +check:rc==0 +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/httpport/check_wget_files.sh /tftpboot/pxelinux.cfg/p/ +check:rc==0 +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/httpport/change_http_port.sh 8898 80 +cmd:netstat -nlp|grep -E "apache2|httpd" +check:output =~ 80 +check:rc==0 +cmd:chdef -t site httpport=80 +check:rc==0 +cmd:lsdef -t site -i httpport -c +check:output =~ 80 +check:rc==0 +end diff --git a/xCAT-test/autotest/testcase/httpport/change_http_port.sh b/xCAT-test/autotest/testcase/httpport/change_http_port.sh new file mode 100755 index 000000000..f3b665d6e --- /dev/null +++ b/xCAT-test/autotest/testcase/httpport/change_http_port.sh @@ -0,0 +1,24 @@ +#!/bin/bash +if [ -f "/etc/httpd/conf/httpd.conf" ]; then + config="/etc/httpd/conf/httpd.conf" +elif [ -f "/etc/apache2/ports.conf" ]; then + config="/etc/apache2/ports.conf" +elif [ -f "/etc/apache2/listen.conf" ]; then + config="/etc/apache2/listen.conf" +fi +port=`awk -F' ' '/^[Ll]isten / {print $2}' $config` +echo "The original httpd port is $port in $config" + +echo "start to change httpd listen port to 8898" +sed -i "s/^Listen $1/Listen $2/g" $config +if [ -f "/etc/apache2/sites-enabled/000-default.conf" ]; then + sed -i "s/VirtualHost \*:$1/VirtualHost \*:$2/g" /etc/apache2/sites-enabled/000-default.conf + service apache2 stop + sleep 1 + service apache2 start +else + service httpd stop + sleep 1 + service httpd start +fi +exit diff --git a/xCAT-test/autotest/testcase/httpport/check_wget_files.sh b/xCAT-test/autotest/testcase/httpport/check_wget_files.sh new file mode 100755 index 000000000..d80489a42 --- /dev/null +++ b/xCAT-test/autotest/testcase/httpport/check_wget_files.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +# get all filename in specified path +path=$1 +files=$(ls $path) +for filename in $files +do + echo "The file is $filename" + grep 8898 $path$filename + if [ $? != 0 ];then + echo "port 8898 does not exist" + exit 1; + fi + links=$(grep 8898 $path$filename|awk -F " " '{print $2}') + for link in $links + do + wget $link + if [ $? != 0 ];then + echo "wget failed" + exit 1; + else + echo "wget $link succeed" + fi + done +done