From f7964ff5ffd9f25e325366114eca5d292696b376 Mon Sep 17 00:00:00 2001 From: huweihua Date: Mon, 10 Dec 2018 21:11:03 -0500 Subject: [PATCH 1/2] enhance test cases about http port test and offer a bundle for it --- .../bundle/non_default_http_port_test.bundle | 26 ++++++++ xCAT-test/autotest/testcase/httpport/cases0 | 66 ++++++++++++++++++- .../testcase/httpport/change_http_port.sh | 10 ++- 3 files changed, 97 insertions(+), 5 deletions(-) create mode 100644 xCAT-test/autotest/bundle/non_default_http_port_test.bundle diff --git a/xCAT-test/autotest/bundle/non_default_http_port_test.bundle b/xCAT-test/autotest/bundle/non_default_http_port_test.bundle new file mode 100644 index 000000000..7f36e8bb4 --- /dev/null +++ b/xCAT-test/autotest/bundle/non_default_http_port_test.bundle @@ -0,0 +1,26 @@ +setup_vm +genesis_work_with_non_default_http_80_port +change_http_listen_port_from_80_to_8898_in_mn +reg_linux_diskless_installation_flat +reg_linux_diskfull_installation_flat +updatenode_diskful_syncfiles +updatenode_diskful_syncfiles_rename +updatenode_diskful_syncfiles_dir +updatenode_syncfile_EXECUTE +updatenode_syncfile_EXECUTEALWAYS +updatenode_P_script1 +updatenode_f_incompatible_flags +updatenode_k_incompatible_flags +updatenode_diskful_syncfiles_P_script1 +updatenode_script3 +updatenode_P_script1_script2 +SN_setup_case +change_http_listen_port_from_80_to_8898_in_sn +reg_linux_diskfull_installation_hierarchy +updatenode_syncfile_APPEND +updatenode_syncfile_MERGE +updatenode_diskful_syncfiles_multi_files +updatenode_P_script2 +reg_linux_diskless_installation_hierarchy +reg_linux_statelite_installation_hierarchy_by_ramdisk +clean_up_env diff --git a/xCAT-test/autotest/testcase/httpport/cases0 b/xCAT-test/autotest/testcase/httpport/cases0 index a756fbf35..1c633b2aa 100644 --- a/xCAT-test/autotest/testcase/httpport/cases0 +++ b/xCAT-test/autotest/testcase/httpport/cases0 @@ -1,5 +1,5 @@ -start:http_port_change -description:Add test cases for bug fix 2629, change http port and then generate genesis (mknb). +start:genesis_work_with_non_default_http_80_port +description: change http port from default 80 to 8898 and then make sure generate genesis (mknb) work. label:mn_only,discovery cmd:netstat -nlp|grep -E "apache2|httpd" check:output =~ 80 @@ -97,3 +97,65 @@ check:rc==0 cmd:dir="/tftpboot/pxelinux.cfg/p"; rm -rf $dir; if [ -d ${dir}".bak" ];then mv ${dir}".bak" $dir; fi cmd:dir="/tftpboot/xcat/xnba/nets"; rm -rf $dir; if [ -d ${dir}".bak" ];then mv ${dir}".bak" $dir; fi end + +start:change_http_listen_port_from_80_to_8898_in_mn +description:This test case is used to simulate a http service which does not use default 80 port in mn. This is not a regular test case, just used to set up environment. +label:others,simulator +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 +end + +start:change_http_listen_port_from_8898_to_80_in_mn +description:This test case is used to restore environment which has been modified by test case change_http_listen_port_from_80_to_8898_in_mn. This is not a regular test case, just used to set up environment. +label:others,simulator +cmd:netstat -nlp|grep -E "apache2|httpd" +check:output =~ 8898 +cmd:lsdef -t site -i httpport -c |awk -F"=" '{print $2}' +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 + +start:change_http_listen_port_from_80_to_8898_in_sn +description:This test case is used to simulate a http service which does not use default 80 port in sn. This is not a regular test case, just used to set up environment. +label:others,simulator +cmd:xdsh $$SN "netstat -nlp|grep -E 'apache2|httpd'" +check:output =~ 80 +cmd:xdsh $$SN "lsdef -t site -i httpport -c |awk -F'=' '{print $2}'" +cmd:scp /opt/xcat/share/xcat/tools/autotest/testcase/httpport/change_http_port.sh $$SN:/tmp +cmd:xdsh $$SN "ls -l /tmp/ |grep change_http_port.sh" +cmd:xdsh $$SN "chmod +x /tmp/change_http_port.sh && /tmp/change_http_port.sh 80 8898" +cmd:xdsh $$SN "netstat -nlp|grep -E 'apache2|httpd' |grep 8898" +check:output =~ 8898 +check:rc==0 +end + +start:change_http_listen_port_from_8898_to_80_in_sn +description:This test case is used to restore environment which has been modified by test case change_http_listen_port_from_80_to_8898_in_sn. This is not a regular test case, just used to set up environment. +label:others,simulator +cmd:xdsh $$SN "netstat -nlp|grep -E 'apache2|httpd'" +check:output =~ 8898 +cmd:xdsh $$SN "lsdef -t site -i httpport -c |awk -F'=' '{print $2}'" +cmd:scp /opt/xcat/share/xcat/tools/autotest/testcase/httpport/change_http_port.sh $$SN:/tmp +cmd:xdsh $$SN "ls -l /tmp/ |grep change_http_port.sh" +cmd:xdsh $$SN "chmod +x /tmp/change_http_port.sh && /tmp/change_http_port.sh 8898 80" +cmd:xdsh $$SN "netstat -nlp|grep -E 'apache2|httpd' |grep 80" +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 index 527bd290d..4ddf8b0ff 100755 --- a/xCAT-test/autotest/testcase/httpport/change_http_port.sh +++ b/xCAT-test/autotest/testcase/httpport/change_http_port.sh @@ -11,8 +11,12 @@ echo "The original httpd port is $port in $config" echo "start to change httpd listen port to $2" 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 +echo "Restart http service" +service apache2 status > /dev/null 2>&1 +if [ "$?" -eq "0" ]; then + 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 + fi service apache2 stop sleep 1 service apache2 start @@ -21,4 +25,4 @@ else sleep 1 service httpd start fi -exit +exit $? From 9949ff88aa35ee3c07e58aebc2935040b7d24589 Mon Sep 17 00:00:00 2001 From: huweihua Date: Tue, 11 Dec 2018 00:39:16 -0500 Subject: [PATCH 2/2] add 2 cases in bundle to change port back --- xCAT-test/autotest/bundle/non_default_http_port_test.bundle | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xCAT-test/autotest/bundle/non_default_http_port_test.bundle b/xCAT-test/autotest/bundle/non_default_http_port_test.bundle index 7f36e8bb4..1e325b722 100644 --- a/xCAT-test/autotest/bundle/non_default_http_port_test.bundle +++ b/xCAT-test/autotest/bundle/non_default_http_port_test.bundle @@ -23,4 +23,6 @@ updatenode_diskful_syncfiles_multi_files updatenode_P_script2 reg_linux_diskless_installation_hierarchy reg_linux_statelite_installation_hierarchy_by_ramdisk +change_http_listen_port_from_8898_to_80_in_sn +change_http_listen_port_from_8898_to_80_in_mn clean_up_env