diff --git a/keentuned.spec b/keentuned.spec deleted file mode 100644 index 73761607276919abc781d48d4bdaa1dc29861816..0000000000000000000000000000000000000000 --- a/keentuned.spec +++ /dev/null @@ -1,190 +0,0 @@ -%define debug_package %{nil} -%define anolis_release 2 - -Name: keentuned -Version: 2.3.0 -Release: %{?anolis_release}%{?dist} -Summary: KeenTune tuning tools -Vendor: Alibaba -License: MulanPSLv2 -Source: %{name}-%{version}-%{anolis_release}.tar.gz - -Autoreq: 0 -BuildRequires: go >= 1.13 -BuildRequires: systemd - -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd - -%description -KeenTune tuning tools rpm package - -%prep -%setup -n %{name}-%{version} - -%build -%make_build - -%install -%make_install - -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" -rm -rf $RPM_BUILD_DIR/%{name}-%{version} - -%post -%systemd_post keentuned.service - -%preun -%systemd_preun keentuned.service - -%postun -%systemd_postun_with_restart keentuned.service -rm -rf /var/keentune/keentuned /etc/keentune/keentuned -cd /var/log/keentune && rm -f $(ls |grep -Ev "bench|brain|target") -[ $(ls -A /var/log/keentune|wc -l) -ne 0 ] || rm -rf /var/log/keentune -[ $(ls -A /var/keentune|wc -l) -ne 0 ] || rm -rf /var/keentune -[ $(ls -A /etc/keentune|wc -l) -ne 0 ] || rm -rf /etc/keentune - -%files -%defattr(0644,root,root, 0755) -%license LICENSE -%doc README.md docs/* -%attr(0755, root, root) %{_bindir}/keentune -%attr(0755, root, root) %{_bindir}/keentuned -%{_sysconfdir}/keentune/keentuned -%{_prefix}/lib/systemd/system/keentuned.service -%{_mandir}/man8/keentune.8* -%{_mandir}/man8/keentuned.8* -%{_mandir}/man5/keentuned.conf.5* -%{_mandir}/man7/keentune-benchmark.7* -%{_mandir}/man7/keentune-profile.7* -%{_mandir}/man7/keentune-detect.7* -%{_prefix}/share/bash-completion/completions/keentune.bash - -%changelog -* Wed Sep 20 2023 Runzhe Wang - 2.3.0-2 -- profile: remove duplicatly setting of rfs in redis/memcached -- profile: remove param vm.drop_caches from basic profile - -* Thu Sep 14 2023 Runzhe Wang - 2.3.0-1 -- update memcached.conf, mysql.conf, nginx.conf, pgsql.conf, redis.conf - -* Tue Aug 8 2023 Runzhe Wang - 2.2.0-8 -- resolve some security issues. - -* Fri Jul 7 2023 Runzhe Wang - 2.2.0-7 -- modify application profiles, remove opensource file - -* Wed Jul 5 2023 Runzhe Wang - 2.2.0-6 -- bigdata: remove 'file' domain - -* Wed Jul 5 2023 Runzhe Wang - 2.2.0-5 -- set dirty_background_ratio by sysctl - -* Wed Jul 5 2023 Runzhe Wang - 2.2.0-4 -- add bigdata.conf for KS - -* Mon Jul 3 2023 Runzhe Wang - 2.2.0-3 -- modify RPS to 'auto' in redis.conf and memcached.conf - -* Thu Jun 29 2023 Runzhe Wang - 2.2.0-2 -- modify XPS/RPS to 'auto' - -* Mon Jun 26 2023 Runzhe Wang - 2.2.0-1 -- remove rollback all function - -* Wed Nov 29 2023 Runzhe Wang - 2.1.0-8 -- add copyright -- add release in source package - -* Tue Apr 25 2023 Runzhe Wang - 2.1.0-5 -- test: modify unit test case - -* Fri Apr 21 2023 Runzhe Wang - 2.1.0-4 -- add unit test case - -* Wed Apr 12 2023 Runzhe Wang - 2.1.0-2 -- modify default tuning algorithm in conf - -* Wed Mar 22 2023 Runzhe Wang - 2.1.0-1 -- add: Support rule list control for parameters in parameter.json -- add: Support timeout control mechanism -- add: Support domain list control for target mathine -- fix: Other important bug fixes - -* Tue Jan 17 2023 Runzhe Wang - 2.0.1-2 -- add: Update profile set for UI -- fix: Reduce the delay of default setting -- fix: Sync update keentune version in docs -- fix: other known important bug fixes - -* Thu Dec 15 2022 Runzhe Wang - 2.0.0-0 -- Support experience tuning of Tuned - -* Thu Sep 22 2022 Runzhe Wang - 1.4.0-0 -- add: Support UI Intelligent tuning and Sensitive parameter identification -- add: Support show recommendation log for expert one click tuning -- add: Support UI configure KeenTune groups' network environment -- add: Support UI perform param rollback -- add: Support UI perform param dump -- add: Support KeenTune Recovery of all environments -- add: Remove field '--config' from Intelligent tuning and Sensitive parameter identification -- fix: Remove daemon self start -- fix: Unify response code for cli -- fix: Modify daemon start show log -- other bugs fix - -* Thu Jul 21 2022 Runzhe Wang - 1.3.0-1 -- fix: missing of man dir - -* Tue Jul 12 2022 Runzhe Wang - 1.3.0-0 -- Add: Support UI expert one click tuning - -* Mon Jun 20 2022 Runzhe Wang - 1.2.1-2 -- fix: Clear task residue on startup - -* Mon Jun 20 2022 Runzhe Wang - 1.2.1-1 -- update docs - -* Thu May 05 2022 happy_orange - 1.2.0-2 -- add makefile -- update spec file - -* Mon Apr 04 2022 Runzhe Wang - 1.2.0 -- Add capabilities of target-group and bench-group -- Fix some issues -- Add 'keentune version' command - -* Thu Mar 03 2022 Runzhe Wang - 1.1.0 -- remove parameter fs.nr_open -- Add support for GP (in iTuned) in sensitizing algorithms -- Add support for lasso in sensitizing algorithms -- refactor tornado module: replace await by threadpool -- lazy load domain in keentune-target -- fix other bugs -- Add baseline reading before init brain -- Supporting multiple param json for tuning -- Fix rollback failure -- Clean empty dir when uninstall -- Verify input arguments of command 'param tune' -- Supporting of multiple target tuning -- Fix bug which cause keentune hanging after command 'param stop' -- Add verification of conflicting commands such as 'param dump', 'param delete' when a tuning job is runing. -- Remove version limitation of tornado -- Refactor sysctl domain to improve stability of parameter setting -- Fix some user experience issues - -* Wed Dec 15 2021 Runzhe Wang - 1.0.0 -- add tpce tpch benchmark files -- fix bug: can not running in alinux2 and centos7 -- change modify codeup address to gitee -- manage keentuned with systemctl -- fix: show brain error in the keentuned log -- fix: profile set supports absolute and relative paths -- fix: show exact job abort log after the stop command -- add nginx_conf parameter config file -- use '%license' macro -- update license to MulanPSLv2 -- Init Keentuned. diff --git a/packup.py b/packup.py deleted file mode 100644 index 4067d2c2004f9ce868946694c9fb70d44b98eda6..0000000000000000000000000000000000000000 --- a/packup.py +++ /dev/null @@ -1,139 +0,0 @@ -# Copyright (c) 2021-2023 Alibaba Cloud Computing Ltd. -# SPDX-License-Identifier: MulanPSL-2.0 -import re -import os -import sys -import subprocess - -from datetime import datetime - -USAGE = "python3 packup.py [auto] \n" \ - "\ne.g. \n" \ - "\tpython3 packup.py auto \n" \ - "\tpython3 packup.py" - -POST_AUTO_START_SERVICE = '%post \n' \ - '%systemd_post keentuned.service \n' \ - 'if [ -f "%{_prefix}/lib/systemd/system/keentuned.service" ]; then \n' \ - ' systemctl enable keentuned.service || : \n' \ - ' systemctl start keentuned.service || : \n' \ - 'fi' - -POSTUN_AUTO_START_SERVICE = "%postun \n" \ - "%systemd_postun_with_restart keentuned.service" - -SPEC_NAME = "keentuned.spec" -PACKAGE_NAME = "keentuned" -PACKAGE_FILEs = ["cli", "daemon", "vendor", "man", "go.mod", "go.sum", "docs", \ - "keentuned.conf", "keentuned.service", "LICENSE", "Makefile", "README.md", "keentune.bash"] - -source_dir = os.path.split(os.path.realpath(__file__))[0] - -def sysCommand(command: str, cwd: str = "./"): - result = subprocess.run( - command, - shell=True, - close_fds=True, - cwd=cwd, - stderr=subprocess.PIPE, - stdout=subprocess.PIPE - ) - - suc = (result.returncode == 0) - out = result.stdout.decode('UTF-8', 'strict').strip() - error = result.stderr.decode('UTF-8', 'strict').strip() - - if not suc: - return suc, error - - else: - return suc, out - - -def checkspec(): - print("[+] check spec file:{}".format(SPEC_NAME)) - - with open(os.path.join(source_dir, SPEC_NAME),'r') as f: - spec = f.read() - verison = re.search("Version: ([\d.]+)\n",spec).group(1) - release = re.search("define anolis_release (\d)\n",spec).group(1) - print("[+] version = {}, release = {}".format(verison, release)) - - print("[+] check change log") - if not re.search(" - {}-{}".format(verison, release), spec): - print("[-] leak of change log of {}-{} in {}".format(verison, release, SPEC_NAME)) - exit(1) - - date_items = re.findall(r"\* (\w+) (\w+) (\d+) (\d+) .*",spec) - for date in date_items: - _date = datetime.strptime("{} {} {}".format(date[3], date[1], date[2]),"%Y %b %d") - if not _date.strftime("%a") == date[0]: - print("[-] date error:'{}', should be '{}' in {}".format(date, _date.strftime("%a"), SPEC_NAME)) - exit(1) - - return verison, release - - -def checksetup(version): - print("[+] check setup.py") - with open(os.path.join(source_dir,"setup.py"), 'r') as f: - script = f.read() - if not re.search(r'version\s*= "{}",'.format(version),script): - print("[-] wrong version in setup.py") - exit(1) - - -def packup(version, release): - if os.path.exists("{}-{}".format(PACKAGE_NAME, version)): - sysCommand("rm -rf {}-{}".format(PACKAGE_NAME, version)) - - print("[+] create package dir: {}-{}".format(PACKAGE_NAME, version)) - sysCommand("mkdir {}-{}".format(PACKAGE_NAME, version)) - - for file in PACKAGE_FILEs: - print("[+] packup file: {}".format(file)) - - sysCommand("cp -r {file} {pkg_name}-{version}".format( - file = os.path.join(source_dir,file), - pkg_name = PACKAGE_NAME, - version = version)) - - sysCommand("tar -cvzf {pkg_name}-{version}-{release}.tar.gz --exclude=**/__pycache__ {pkg_name}-{version}".format( - pkg_name = PACKAGE_NAME, - version = version, - release = release - )) - - if os.path.exists("{}-{}".format(PACKAGE_NAME, version)): - sysCommand("rm -rf {}-{}".format(PACKAGE_NAME, version)) - - -def copySpec(replace = False): - print("[+] copy spec file from {}".format(os.path.join(source_dir, SPEC_NAME))) - with open(os.path.join(source_dir, SPEC_NAME),'r') as f: - spec = f.read() - if replace: - spec = re.sub(r"%post\n%.*", POST_AUTO_START_SERVICE, spec) - spec = re.sub(r"%preun\n%.*", POSTUN_AUTO_START_SERVICE, spec) - - with open(os.path.join("./", SPEC_NAME),'w') as f: - f.write(spec) - - -if __name__ == "__main__": - if sys.argv.__len__() < 1: - print(USAGE) - exit(0) - - suc, res = sysCommand("go mod vendor", cwd=source_dir) - if not suc: - print("[-] fail to run go mod vendor: {}".format(res)) - exit(0) - - version, release = checkspec() - packup(version, release) - - if sys.argv.__len__() > 1 and sys.argv[1] == "auto": - copySpec(True) - else: - copySpec(False) \ No newline at end of file diff --git a/test/CLI_basic/test_log_level.py b/test/CLI_basic/test_log_level.py index 6bbbfde602820c6b2b813198411c3014211d0a39..b25582c1e0e207531d554d2eab43cb7d87f8dadf 100644 --- a/test/CLI_basic/test_log_level.py +++ b/test/CLI_basic/test_log_level.py @@ -25,4 +25,4 @@ class TestLogLevel(unittest.TestCase): conf = ConfigParser() conf.read("/etc/keentune/keentuned/conf/keentuned.conf") log_level = conf['keentuned']['LOGFILE_LEVEL'] - self.assertEqual(log_level, "DEBUG") + self.assertEqual(log_level, "INFO") diff --git a/test/CLI_basic/test_tuned_profile.py b/test/CLI_basic/test_tuned_profile.py index f855b4b004fe983db6d1b472f91786f5b1a53eae..66175063067c58206633d2e5ad7ecf6a8e32878d 100644 --- a/test/CLI_basic/test_tuned_profile.py +++ b/test/CLI_basic/test_tuned_profile.py @@ -72,7 +72,7 @@ class TestTunedProfile(unittest.TestCase): cmd = 'keentune profile set atomic-guest.conf' self.status, self.out, _ = sysCommand(cmd) self.assertEqual(self.status, 0) - self.assertIn("[sysctl] 5 Succeeded", self.out) + self.assertIn("[sysctl] 6 Succeeded", self.out) res = self.get_cmd_res("sysctl -n kernel.pid_max") self.assertEqual(res, "131072") @@ -80,7 +80,7 @@ class TestTunedProfile(unittest.TestCase): cmd = 'keentune profile set atomic-host.conf' self.status, self.out, _ = sysCommand(cmd) self.assertEqual(self.status, 0) - self.assertIn("[sysctl] 5 Succeeded", self.out) + self.assertIn("[sysctl] 6 Succeeded", self.out) res = self.get_cmd_res("sysctl -n fs.inotify.max_user_watches") self.assertEqual(res, "65536") diff --git a/test/Long_stability/test_long_stability.py b/test/Long_stability/test_long_stability.py index dfb01e075bfffa9cf336fd8b0ea41df9789d0ece..f384fe1feced6cbe2175adccc98863b8ac2df2f2 100644 --- a/test/Long_stability/test_long_stability.py +++ b/test/Long_stability/test_long_stability.py @@ -67,12 +67,12 @@ class TestLongStability(unittest.TestCase): self.assertEqual(self.status, 0) self.assertTrue(self.out.__contains__('KeenTune Init success')) - # all_cmd = "keentune rollbackall" - # self.status, self.out, _ = sysCommand(all_cmd) - # self.assertEqual(self.status, 0) - # self.assertTrue(self.out.__contains__('Rollback all successfully') or self.out.__contains__('All Targets No Need to Rollback')) + all_cmd = "keentune rollbackall" + self.status, self.out, _ = sysCommand(all_cmd) + self.assertEqual(self.status, 0) + self.assertTrue(self.out.__contains__('Rollback all successfully') or self.out.__contains__('All Targets No Need to Rollback')) - for tune_algorithm in ("hord", "random", "bgcs", "lamcts"): + for tune_algorithm in ("hord", "random", "bgcs", "lamcts", "pms"): cmd = "echo y | keentune param delete --job {}".format(self.job_name) sysCommand(cmd) @@ -112,3 +112,5 @@ class TestLongStability(unittest.TestCase): logger.info("current round testcase finished") time_diff = (time.time() - start_time) / 3600 + + diff --git a/test/MT_restful/main.py b/test/MT_restful/main.py index 86bddeba59fa851a6dd37d8932041468b671e3fb..a25a0a6f5381b616b26042ff4626e43d0678e896 100644 --- a/test/MT_restful/main.py +++ b/test/MT_restful/main.py @@ -6,10 +6,6 @@ import unittest sys.path.append(os.path.abspath(os.path.join(os.getcwd(), ".."))) -from MT_restful.test_keentuned_cmd import TestKeentunedCmd -from MT_restful.test_keentuned_read import TestKeentunedRead -from MT_restful.test_keentuned_write import TestKeentunedWrite -from MT_restful.test_keentuned_status import TestKeentunedStatus from MT_restful.test_keentuned_apply_result import TestKeentunedApplyResult from MT_restful.test_keentuned_benchmark_result import TestKeentunedBenchmarkResult from MT_restful.test_keentuned_sensitize_result import TestKeentunedSensitizeResult @@ -17,10 +13,6 @@ from MT_restful.test_keentuned_sensitize_result import TestKeentunedSensitizeRes def RunModelCase(): suite = unittest.TestSuite() - # suite.addTest(TestKeentunedCmd('test_keentuned_server_FUN_cmd')) - # suite.addTest(TestKeentunedWrite('test_keentuned_server_FUN_write')) - # suite.addTest(TestKeentunedStatus('test_keentuned_server_FUN_status')) - # suite.addTests(unittest.TestLoader().loadTestsFromTestCase(TestKeentunedRead)) suite.addTest(TestKeentunedApplyResult('test_keentuned_server_FUN_apply_result')) suite.addTest(TestKeentunedBenchmarkResult('test_keentuned_server_FUN_benchmark_result')) suite.addTest(TestKeentunedSensitizeResult('test_keentuned_server_FUN_sensitize_result')) diff --git a/test/MT_restful/test_keentuned_cmd.py b/test/MT_restful/test_keentuned_cmd.py deleted file mode 100644 index bd4a0cdfa891e0776e0ffa2e2d6f50f75de736e8..0000000000000000000000000000000000000000 --- a/test/MT_restful/test_keentuned_cmd.py +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (c) 2021-2023 Alibaba Cloud Computing Ltd. -# SPDX-License-Identifier: MulanPSL-2.0 - -import unittest -import requests -import json -from common import keentuned_ip, keentuned_port - - -class TestKeentunedCmd(unittest.TestCase): - def setUp(self) -> None: - self.proxies={"http": None, "https": None} - url = "http://{}:{}/status".format(keentuned_ip, keentuned_port) - re = requests.get(url, proxies=self.proxies) - if re.status_code != 200: - print("ERROR: Can't reach KeenTuned.") - exit() - - def tearDown(self) -> None: - pass - - def test_keentuned_server_FUN_cmd(self): - url = "http://{}:{}/{}".format(keentuned_ip, keentuned_port, "cmd") - data_base = {"cmd": "keentune --version"} - headers = {"Content-Type": "application/json"} - - result = requests.post(url, data=json.dumps(data_base), headers=headers, proxies=self.proxies) - self.assertEqual(result.status_code, 200) - self.assertIn('"suc":true', result.text) diff --git a/test/MT_restful/test_keentuned_read.py b/test/MT_restful/test_keentuned_read.py deleted file mode 100644 index 785deb1e1e4932fb22430b3ba31fdd138ef84b23..0000000000000000000000000000000000000000 --- a/test/MT_restful/test_keentuned_read.py +++ /dev/null @@ -1,68 +0,0 @@ -# Copyright (c) 2021-2023 Alibaba Cloud Computing Ltd. -# SPDX-License-Identifier: MulanPSL-2.0 - -import unittest -import requests -import json -from common import keentuned_ip, keentuned_port - - -class TestKeentunedRead(unittest.TestCase): - def setUp(self) -> None: - self.proxies={"http": None, "https": None} - url = "http://{}:{}/status".format(keentuned_ip, keentuned_port) - re = requests.get(url, proxies=self.proxies) - if re.status_code != 200: - print("ERROR: Can't reach KeenTuned.") - exit() - - def tearDown(self) -> None: - pass - - def test_keentuned_server_FUN_read_01(self): - url = "http://{}:{}/{}".format(keentuned_ip, keentuned_port, "read") - data_base = { - "name": "test", - "type": "tuning" - } - headers = {"Content-Type": "application/json"} - - result = requests.post(url, data=json.dumps(data_base), headers=headers, proxies=self.proxies) - self.assertEqual(result.status_code, 200) - self.assertIn('''"msg": "'test' not exists"''', result.text) - - def test_keentuned_server_FUN_read_02(self): - url = "http://{}:{}/{}".format(keentuned_ip, keentuned_port, "read") - data_base = { - "name": "test", - "type": "training" - } - headers = {"Content-Type": "application/json"} - - result = requests.post(url, data=json.dumps(data_base), headers=headers, proxies=self.proxies) - self.assertEqual(result.status_code, 200) - self.assertIn('''"msg": "search 'test' err: record not found"''', result.text) - - def test_keentuned_server_FUN_read_03(self): - url = "http://{}:{}/{}".format(keentuned_ip, keentuned_port, "read") - data_base = { - "name": "test", - "type": "param-bench" - } - headers = {"Content-Type": "application/json"} - - result = requests.post(url, data=json.dumps(data_base), headers=headers, proxies=self.proxies) - self.assertEqual(result.status_code, 200) - self.assertIn('''"msg": "job 'test' does not exist"''', result.text) - - def test_keentuned_server_FUN_read_04(self): - url = "http://{}:{}/{}".format(keentuned_ip, keentuned_port, "read") - data_base = { - "name": "test_group1.conf", - "type": "target-group" - } - headers = {"Content-Type": "application/json"} - - result = requests.post(url, data=json.dumps(data_base), headers=headers, proxies=self.proxies) - self.assertEqual(result.status_code, 200) - self.assertIn('''"msg": "No records found"''', result.text) diff --git a/test/MT_restful/test_keentuned_status.py b/test/MT_restful/test_keentuned_status.py deleted file mode 100644 index 4b5e5ead26352044ffd7e9661cd5454f87f56716..0000000000000000000000000000000000000000 --- a/test/MT_restful/test_keentuned_status.py +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (c) 2021-2023 Alibaba Cloud Computing Ltd. -# SPDX-License-Identifier: MulanPSL-2.0 - -import unittest -import requests -import json -from common import keentuned_ip, keentuned_port - - -class TestKeentunedStatus(unittest.TestCase): - def test_keentuned_server_FUN_status(self): - self.proxies={"http": None, "https": None} - url = "http://{}:{}/status".format(keentuned_ip, keentuned_port) - result = requests.get(url, proxies=self.proxies) - self.assertEqual(result.status_code, 200) - self.assertEqual(result.text, '{"status": "alive"}') diff --git a/test/MT_restful/test_keentuned_write.py b/test/MT_restful/test_keentuned_write.py deleted file mode 100644 index bfe46fd291acb7ddeade23dcb6eb9e98d6be83d0..0000000000000000000000000000000000000000 --- a/test/MT_restful/test_keentuned_write.py +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (c) 2021-2023 Alibaba Cloud Computing Ltd. -# SPDX-License-Identifier: MulanPSL-2.0 - -import unittest -import requests -import json -from common import keentuned_ip, keentuned_port - - -class TestKeentunedWrite(unittest.TestCase): - def setUp(self) -> None: - self.proxies={"http": None, "https": None} - url = "http://{}:{}/status".format(keentuned_ip, keentuned_port) - re = requests.get(url, proxies=self.proxies) - if re.status_code != 200: - print("ERROR: Can't reach KeenTuned.") - exit() - - def tearDown(self) -> None: - pass - - def test_keentuned_server_FUN_write(self): - url = "http://{}:{}/{}".format(keentuned_ip, keentuned_port, "write") - data_base = { - "name": "test.conf", - "info": "hello world!" - } - headers = {"Content-Type": "application/json"} - - result = requests.post(url, data=json.dumps(data_base), headers=headers, proxies=self.proxies) - self.assertEqual(result.status_code, 200) - self.assertIn('"suc": true', result.text) diff --git a/test/conf/bench_wrk_nginx_long_multi_target.json b/test/conf/bench_wrk_nginx_long_multi_target.json index 5a99e154145ad0cd0d5e6463d60d27debb5ec826..ebef6bade5a32d7fba822ad987dfaf20f4daa134 100644 --- a/test/conf/bench_wrk_nginx_long_multi_target.json +++ b/test/conf/bench_wrk_nginx_long_multi_target.json @@ -27,4 +27,4 @@ } } ] -} \ No newline at end of file + } \ No newline at end of file diff --git a/test/conf/restart_brain.sh b/test/conf/restart_brain.sh index 9a6e0ddc15877d218cd27489bff44e6f23af599e..e6c6eef11705c5025162d1f3b475666a44074330 100644 --- a/test/conf/restart_brain.sh +++ b/test/conf/restart_brain.sh @@ -26,3 +26,4 @@ restart_brain() #clear_keentune_env restart_brain echo "restart brain server successfully!" + diff --git a/test/installation/main.py b/test/installation/main.py index c6e3e283cb436cb6391966ac32b907ceb3906e3d..c225461ccceb30730703ad8282ee385d94a7a32e 100644 --- a/test/installation/main.py +++ b/test/installation/main.py @@ -16,7 +16,6 @@ def RunLongStableCase(): suite = unittest.TestSuite() suite.addTest(TestInstallSource("test_install_source_FUN")) suite.addTest(TestInstallYum("test_install_yum_FUN")) - suite.addTest(TestInstallYum("test_instatll_yum_RBT_update")) suite.addTest(TestInstallYum("test_instatll_yum_RBT_start")) suite.addTest(TestInstallYum("test_instatll_yum_RBT_stop")) return suite diff --git a/test/installation/test_install_yum.py b/test/installation/test_install_yum.py index 58ecd00c6ef996c7128ca22475f6107be1a1e23f..21b1cfec2769285bead50778d0c7d3f573fdd7c6 100644 --- a/test/installation/test_install_yum.py +++ b/test/installation/test_install_yum.py @@ -34,30 +34,17 @@ class TestInstallYum(unittest.TestCase): def setUp(self) -> None: os_type = getOsType() self.assertEqual(os_type, "redhat") - self.keentune = ["keentune-target", "keentune-brain", "keentune-bench", "keentuned"] + self.keentune = ["keentuned", "keentune-target", "keentune-brain", "keentune-bench"] def tearDown(self) -> None: logger.info("the test_install_yum testcase finished") def install_server(self): - server_version = { - "keentuned": "keentuned-2.0.0-0.an8.x86_64", - "keentune-target": "keentune-target-2.0.0-0.an8.noarch", - "keentune-brain": "keentune-brain-2.0.0-0.an8.noarch", - "keentune-bench": "keentune-bench-1.4.0-0.an8.noarch" - } for server in self.keentune: - cmd = "yum install -y {};systemctl restart {}".format(server_version[server], server) + cmd = "yum install -y {0};systemctl restart {0}".format(server) self.assertEqual(sysCommand(cmd)[0], 0) time.sleep(3) - def run_param_tune(self): - self.status = checkServerStatus(self.keentune) - self.assertEqual(self.status, 0) - self.status = runParamTune("param1") - self.assertEqual(self.status, 0) - deleteDependentData("param1") - def test_install_yum_FUN(self): self.status = sysCommand("pip3 install --upgrade pip")[0] self.assertEqual(self.status, 0) @@ -74,12 +61,11 @@ class TestInstallYum(unittest.TestCase): self.install_server() - def test_instatll_yum_RBT_update(self): - for server in self.keentune: - cmd = "yum update -y {0};systemctl restart {0}".format(server) - self.assertEqual(sysCommand(cmd)[0], 0) - time.sleep(3) - self.run_param_tune() + self.status = checkServerStatus(self.keentune) + self.assertEqual(self.status, 0) + self.status = runParamTune("param1") + self.assertEqual(self.status, 0) + deleteDependentData("param1") def test_instatll_yum_RBT_start(self): for server in self.keentune: