提交 2111c2e5 编写于 作者: T theprocess

modify tools name

上级 119709a1
......@@ -25,8 +25,8 @@ $(VERSION_PY):
@echo "name = '$(NAME)'" >> $(VERSION_PY)
install:
mkdir -p $(DESTDIR)/usr/share/eulercert
mkdir -p $(DESTDIR)/var/eulercert
mkdir -p $(DESTDIR)/usr/share/oech
mkdir -p $(DESTDIR)/var/oech
for i in $(SUBDIRS); do $(MAKE) -C $$i DESTDIR=$(DESTDIR) install; done
clean:
......
......@@ -61,18 +61,18 @@ OS 厂商为了扩大自己产品的兼容性范围,常常寻求与硬件厂
│ ├── sysinfo.py 收集系统信息
│ └── test.py 测试套模板
├── scripts 工具脚本
│ ├── oech 框架命令行工具
│ ├── eulercert-server.service 框架服务端 service 文件,用于启动 web 服务器
│ ├── eulercert.service 框架客户端 service 文件,用于接管 reboot 用例
│ └── kernelrelease.json 规范可用于认证的系统和内核版本
│ ├── oech 框架命令行工具
│ ├── oech-server.service 框架服务端 service 文件,用于启动 web 服务器
│ ├── oech.service 框架客户端 service 文件,用于接管 reboot 用例
│ └── kernelrelease.json 规范可用于认证的系统和内核版本
├── server 服务端
│ ├── eulercert-server-pre.sh 服务预执行脚本
│ ├── results/ 测试结果存放目录
│ ├── server.py 服务端主程序
│ ├── static/ 图片存放目录
│ ├── templates/ 网页模板存放目录
│ ├── uwsgi.conf nginx 服务配置
│ └── uwsgi.ini uwsgi 服务配置
│ ├── oech-server-pre.sh 服务预执行脚本
│ ├── results/ 测试结果存放目录
│ ├── server.py 服务端主程序
│ ├── static/ 图片存放目录
│ ├── templates/ 网页模板存放目录
│ ├── uwsgi.conf nginx 服务配置
│ └── uwsgi.ini uwsgi 服务配置
└── tests 测试套
```
......@@ -156,7 +156,7 @@ OS 厂商为了扩大自己产品的兼容性范围,常常寻求与硬件厂
3. 启动服务。本服务默认使用 8080 端口,同时搭配 nginx(默认端口 80)提供 web 服务,请保证这些端口未被占用。
```
systemctl start eulercert-server.service
systemctl start oech-server.service
systemctl start nginx.service
```
......@@ -170,13 +170,13 @@ OS 厂商为了扩大自己产品的兼容性范围,常常寻求与硬件厂
## 验证安装正确性
客户端输入 `eulercert` 命令,可正常运行,则表示安装成功。如果安装有任何问题,可反馈至该邮箱:oecompatibility@openeuler.org 。
客户端'oech` 命令,可正常运行,则表示安装成功。如果安装有任何问题,可反馈至该邮箱:oecompatibility@openeuler.org 。
# 使用指导
## 前提条件
* `/usr/share/eulercert/kernelrelease.json`文件中列出了当前支持的所有系统版本,使用`uname -a` 命令确认当前系统内核版本是否属于框架支持的版本。
* `/usr/share/oech/kernelrelease.json`文件中列出了当前支持的所有系统版本,使用`uname -a` 命令确认当前系统内核版本是否属于框架支持的版本。
* 框架默认会扫描所有网卡,对网卡进行测试前,请自行筛选被测网卡,并给它配上能`ping`通服务端的 ip ;如果是测试客户端 `InfiniBand`网卡,服务端也必须有一个 `InfiniBand`网卡并提前配好 ip 。
......@@ -243,7 +243,7 @@ OS 厂商为了扩大自己产品的兼容性范围,常常寻求与硬件厂
------------- Summary -------------
ethernet-enp3s0 PASS
system FAIL
Log saved to /usr/share/eulercert/logs/eulercert-20200228210118-TnvUJxFb50.tar succ.
Log saved to /usr/share/oech/logs/oech-20200228210118-TnvUJxFb50.tar succ.
Do you want to submit last result? (y|n) y
Uploading...
Successfully uploaded result to server X.X.X.X.
......
......@@ -23,7 +23,7 @@
.PHONY: install clean
HWCERT_CLASS_LIB := /usr/share/eulercert/lib
HWCERT_CLASS_LIB := /usr/share/oech/lib
all: ;
......
......@@ -39,7 +39,7 @@ class EulerCertification():
self.client = None
def run(self):
print("The openEuler Hardware Certification Test Suite")
print("The openEuler Hardware Compatibility Test Suite")
self.load()
certdevice = CertDevice()
......@@ -81,7 +81,7 @@ class EulerCertification():
return False
def clean(self):
if self.ui.prompt_confirm("Are you sure to clean all certification data?"):
if self.ui.prompt_confirm("Are you sure to clean all compatibility test data?"):
try:
Command("rm -rf %s" % CertEnv.certificationfile).run()
Command("rm -rf %s" % CertEnv.factoryfile).run()
......@@ -107,7 +107,7 @@ class EulerCertification():
cert_id = self.certification.get_certify()
hardware_info = self.certification.get_hardware()
self.client = Client(hardware_info, cert_id)
print(" Certification ID: ".ljust(30) + cert_id)
print(" Compatibility Test ID: ".ljust(30) + cert_id)
print(" Hardware Info: ".ljust(30) + hardware_info)
print(" Product URL: ".ljust(30) + self.certification.get_url())
print(" OS Info: ".ljust(30) + self.certification.get_os())
......@@ -126,7 +126,7 @@ class EulerCertification():
cwd = os.getcwd()
os.chdir(os.path.dirname(doc_dir))
dir_name = "eulercert-" + datetime.datetime.now().strftime("%Y%m%d%H%M%S") + "-" + job.job_id
dir_name = "oech-" + datetime.datetime.now().strftime("%Y%m%d%H%M%S") + "-" + job.job_id
pack_name = dir_name +".tar"
cmd = Command("tar -cf %s %s" % (pack_name, dir_name))
try:
......@@ -145,7 +145,7 @@ class EulerCertification():
def submit(self):
packages = list()
pattern = re.compile("^eulercert-[0-9]{14}-[0-9a-zA-Z]{10}.tar$")
pattern = re.compile("^oech-[0-9]{14}-[0-9a-zA-Z]{10}.tar$")
for (root, dirs, files) in os.walk(CertEnv.datadirectory):
break
packages.extend(filter(pattern.search, files))
......@@ -358,7 +358,7 @@ class EulerCertification():
else:
test["run"] = True
os.system("clear")
print("These tests are recommended to complete the certification:")
print("These tests are recommended to complete the compatibility test:")
self.show_tests()
action = self.ui.prompt("Ready to begin testing?", ["run", "edit", "quit"])
action = action.lower()
......
......@@ -79,17 +79,17 @@ class CertDocument(Document):
print(e)
sysinfo = SysInfo(CertEnv.releasefile)
self.document["eulerversion"] = sysinfo.product + " " + sysinfo.get_version()
self.document["kernelversion"] = sysinfo.kernel
self.document["certify"] = CommandUI().prompt("Please provide your Certification ID:")
self.document["OS"] = sysinfo.product + " " + sysinfo.get_version()
self.document["kernel"] = sysinfo.kernel
self.document["tester"] = CommandUI().prompt("Please provide your Compatibility Test ID:")
self.document["Product URL"] = CommandUI().prompt("Please provide your Product URL:")
self.document["server"] = CommandUI().prompt("Please provide the Certification Server (Hostname or Ipaddr):")
self.document["server"] = CommandUI().prompt("Please provide the Compatibility Test Server (Hostname or Ipaddr):")
def get_hardware(self):
return self.document["Manufacturer"] + " " + self.document["Product Name"] + " " + self.document["Version"]
def get_os(self):
return self.document["eulerversion"]
return self.document["OS"]
def get_server(self):
return self.document["server"]
......@@ -98,10 +98,10 @@ class CertDocument(Document):
return self.document["Product URL"]
def get_certify(self):
return self.document["certify"]
return self.document["tester"]
def get_kernel(self):
return self.document["kernelversion"]
return self.document["kernel"]
class DeviceDocument(Document):
def __init__(self, filename, devices=list()):
......
......@@ -14,16 +14,16 @@
class CertEnv:
environmentfile = "/etc/eulercert.json"
environmentfile = "/etc/oech.json"
releasefile = "/etc/os-release"
datadirectory = "/var/eulercert"
datadirectory = "/var/oech"
certificationfile = datadirectory + "/certification.json"
devicefile = datadirectory + "/device.json"
factoryfile = datadirectory + "/factory.json"
rebootfile = datadirectory + "/reboot.json"
testdirectoy = "/usr/share/eulercert/lib/tests"
logdirectoy = "/usr/share/eulercert/logs"
resultdirectoy = "/usr/share/eulercert/lib/server/results"
kernelinfo = "/usr/share/eulercert/kernelrelease.json"
testdirectoy = "/usr/share/oech/lib/tests"
logdirectoy = "/usr/share/oech/logs"
resultdirectoy = "/usr/share/oech/lib/server/results"
kernelinfo = "/usr/share/oech/kernelrelease.json"
......@@ -21,7 +21,7 @@ from .env import CertEnv
class Log(object):
def __init__(self, logname='eulercert.log', logdir='__temp__'):
def __init__(self, logname='oech.log', logdir='__temp__'):
if not logdir:
curtime = datetime.datetime.now().isoformat()
logdir = os.path.join(CertEnv.logdirectoy, curtime)
......
......@@ -36,7 +36,7 @@ class Reboot:
test["reboot"] = False
Command("rm -rf %s" % CertEnv.rebootfile).run(ignore_errors=True)
Command("systemctl disable eulercert").run(ignore_errors=True)
Command("systemctl disable oech").run(ignore_errors=True)
def setup(self):
if not (self.job and self.testname):
......@@ -62,9 +62,9 @@ class Reboot:
try:
Command("systemctl daemon-reload").run_quiet()
Command("systemctl enable eulercert").run_quiet()
Command("systemctl enable oech").run_quiet()
except:
print("Error: enable eulercert.service fail.")
print("Error: enable oech.service fail.")
return False
return True
......
......@@ -51,24 +51,24 @@ DESTDIR=$RPM_BUILD_ROOT make install
%files
%defattr(-,root,root)
/usr/bin/eulercert
/usr/share/eulercert/kernelrelease.json
/usr/share/eulercert/lib/hwcert
/usr/share/eulercert/lib/tests
/usr/lib/systemd/system/eulercert.service
%dir /var/eulercert
%dir /usr/share/eulercert/lib
%dir /usr/share/eulercert
/usr/bin/oech
/usr/share/oech/kernelrelease.json
/usr/share/oech/lib/hwcert
/usr/share/oech/lib/tests
/usr/lib/systemd/system/oech.service
%dir /var/oech
%dir /usr/share/oech/lib
%dir /usr/share/oech
%files server
%defattr(-,root,root)
/usr/share/eulercert/lib/server
/usr/share/eulercert/lib/server/uwsgi.ini
/usr/share/eulercert/lib/server/uwsgi.conf
/usr/lib/systemd/system/eulercert-server.service
/usr/share/oech/lib/server
/usr/share/oech/lib/server/uwsgi.ini
/usr/share/oech/lib/server/uwsgi.conf
/usr/lib/systemd/system/oech-server.service
%postun
rm -rf /var/lock/eulercert.lock
rm -rf /var/lock/oech.lock
%changelog
* Fri Jul 26 2019 Lu Tianxiong <lutianxiong@huawei.com> - 1.0.0-h1
......
......@@ -26,15 +26,15 @@
all: ;
install:
rm -rf $(DESTDIR)/usr/bin/eulercert
rm -rf $(DESTDIR)/usr/bin/oech
mkdir -p $(DESTDIR)/usr/bin
cp eulercert $(DESTDIR)/usr/bin
chmod u+x $(DESTDIR)/usr/bin/eulercert
mkdir -p $(DESTDIR)/usr/share/eulercert/lib
cp kernelrelease.json $(DESTDIR)/usr/share/eulercert/
cp oech $(DESTDIR)/usr/bin
chmod u+x $(DESTDIR)/usr/bin/oech
mkdir -p $(DESTDIR)/usr/share/oech/lib
cp kernelrelease.json $(DESTDIR)/usr/share/oech/
mkdir -p $(DESTDIR)/usr/lib/systemd/system/
cp *.service $(DESTDIR)/usr/lib/systemd/system/
clean:
rm -rf $(DESTDIR)/usr/bin/eulercert
rm -rf $(DESTDIR)/usr/bin/oech
......@@ -17,8 +17,8 @@ import sys
import fcntl
import argparse
sys.path.append("/usr/share/eulercert/lib/")
os.putenv("PYTHONPATH", "/usr/share/eulercert/lib/")
sys.path.append("/usr/share/oech/lib/")
os.putenv("PYTHONPATH", "/usr/share/oech/lib/")
from hwcert.certification import EulerCertification
import hwcert.version
......@@ -48,7 +48,7 @@ if __name__ == '__main__':
sys.stderr.write("You need to be root to run this program.\n")
sys.exit(1)
parser = argparse.ArgumentParser(description="Run openEuler Hardware Certification Test Suite")
parser = argparse.ArgumentParser(description="Run openEuler Hardware Compatibility Test Suite")
parser.add_argument('--clean', action='store_true',
help='Clean saved testsuite.')
parser.add_argument('--rebootup', action='store_true',
......@@ -57,9 +57,9 @@ if __name__ == '__main__':
help='Show testsuite version.')
args = parser.parse_args()
lock = CertLock("/var/lock/eulercert.lock")
lock = CertLock("/var/lock/oech.lock")
if not lock.acquire():
sys.stderr.write("The eulercert may be running already, you should not run it repeated.\n")
sys.stderr.write("The oech may be running already, you should not run it repeated.\n")
sys.exit(1)
cert = EulerCertification()
......
......@@ -4,8 +4,8 @@ After=network.target
[Service]
Type=notify
ExecStartPre=/usr/share/eulercert/lib/server/eulercert-server-pre.sh
ExecStart=/usr/local/bin/uwsgi --ini /usr/share/eulercert/lib/server/uwsgi.ini
ExecStartPre=/usr/share/oech/lib/server/oech-server-pre.sh
ExecStart=/usr/local/bin/uwsgi --ini /usr/share/oech/lib/server/uwsgi.ini
[Install]
WantedBy=multi-user.target
......@@ -5,7 +5,7 @@ DefaultDependencies=no
[Service]
Type=oneshot
ExecStart=/usr/bin/eulercert --rebootup
ExecStart=/usr/bin/oech --rebootup
RemainAfterExit=yes
TimeoutSec=0
......
......@@ -23,7 +23,7 @@
.PHONY: install clean
HWCERT_CLASS_LIB := /usr/share/eulercert/lib
HWCERT_CLASS_LIB := /usr/share/oech/lib
all: ;
......
......@@ -12,6 +12,6 @@
# Create: 2020-04-01
dir_nginx=/etc/nginx/default.d
dir_cert=/usr/share/eulercert/lib/server
dir_cert=/usr/share/oech/lib/server
test -f ${dir_nginx}/uwsgi.conf || cp -af ${dir_cert}/uwsgi.conf ${dir_nginx}
{% extends "bootstrap/base.html" %}
{% include "flash.html" %}
{% block title %}EulerCert{% endblock %}
{% block title %}oech{% endblock %}
{% block head %}
{{ super() }}
......@@ -19,7 +19,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">EulerCert</a>
<a class="navbar-brand" href="/">oech</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
......
{% extends "base.html" %}
{% block title %}EulerCert{% endblock %}
{% block title %}oech{% endblock %}
{% block page_content %}
<div class="page-header">
<h3>openEuler Hardware Certification</h3>
<h3>openEuler Hardware Compatibility Test</h3>
</div>
<table class="table table-striped table-hover">
<thead>
......
{% extends "base.html" %}
{% block title %}EulerCert{% endblock %}
{% block title %}oech{% endblock %}
{% block page_content %}
<div class="page-header">
<h3>openEuler Hardware Certification</h3>
<h3>openEuler Hardware Compatibility Test</h3>
</div>
{% for device in devices %}
<table class="table table-striped table-hover">
......
{% extends "base.html" %}
{% block title %}EulerCert - {{ error }}{% endblock %}
{% block title %}oech - {{ error }}{% endblock %}
{% block page_content %}
<div class="page-header">
......
{% extends "base.html" %}
{% block title %}EulerCert{% endblock %}
{% block title %}oech{% endblock %}
{% block page_content %}
<div class="page-header">
......
{% extends "base.html" %}
{% block title %}EulerCert{% endblock %}
{% block title %}oech`{% endblock %}
{% block page_content %}
<div class="page-header">
<h1>EulerCert Test Server</h1>
<h1>Compatibility Test Server</h1>
</div>
<p>Welcome to the openEuler Hardware Certification.</p>
<p>Welcome to the openEuler Hardware Compatibility Test.</p>
{% endblock %}
{% extends "base.html" %}
{% block title %}EulerCert{% endblock %}
{% block title %}oech{% endblock %}
{% block page_content %}
<div class="page-header">
<h3>openEuler Hardware Certification</h3>
<h3>openEuler Hardware Compatibility Test</h3>
<br>
<a class='btn btn-primary' href="/results/{{ host }}/{{ id }}/{{ job }}/submit">Submit</a>
<a class='btn' href="/results/{{ host }}/{{ id }}/{{ job }}/devices">Devices</a>
......
{% extends "base.html" %}
{% block title %}EulerCert{% endblock %}
{% block title %}oech{% endblock %}
{% block page_content %}
<div class="page-header">
<h3>openEuler Hardware Certification</h3>
<h3>openEuler Hardware Compatibility Test</h3>
</div>
<h4>{{ testcase }}</h4>
{% for line in log %}
......
{% extends "base.html" %}
{% block title %}EulerCert{% endblock %}
{% block title %}oech{% endblock %}
{% block page_content %}
<div class="page-header">
<h3>openEuler Hardware Certification</h3>
<h3>openEuler Hardware Compatibility Test</h3>
</div>
<table class="table table-striped table-hover">
......
{% extends "base.html" %}
{% block title %}EulerCert{% endblock %}
{% block title %}oech{% endblock %}
{% block page_content %}
<div class="page-header">
......
......@@ -8,6 +8,6 @@ location ~ ^/ {
uwsgi_pass 127.0.0.1:8080;
uwsgi_param UWSGI_PYTHON /usr/bin/python3;
uwsgi_param UWSGI_CHDIR /usr/share/eulercert/lib/server;
uwsgi_param UWSGI_CHDIR /usr/share/oech/lib/server;
uwsgi_param UWSGI_SCRIPT run:app;
}
[uwsgi]
socket = 127.0.0.1:8080
chdir = /usr/share/eulercert/lib/server
chdir = /usr/share/oech/lib/server
wsgi-file = server.py
callable = app
processes = 4
......@@ -12,7 +12,7 @@
.PHONY: all clean install
HWCERT_TEST_LIB := $(DESTDIR)/usr/share/eulercert/lib/tests/
HWCERT_TEST_LIB := $(DESTDIR)/usr/share/oech/lib/tests/
SUBDIRS := $(shell ls | grep -v Makefile)
all:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册