Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
51ecfc04
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
51ecfc04
编写于
6月 05, 2021
作者:
P
Ping Xiao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-3938]<test>: add test case
上级
408425e8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
53 addition
and
17 deletion
+53
-17
tests/pytest/cluster/clusterSetup.py
tests/pytest/cluster/clusterSetup.py
+53
-17
未找到文件。
tests/pytest/cluster/clusterSetup.py
浏览文件 @
51ecfc04
...
...
@@ -15,6 +15,7 @@ from fabric import Connection
import
random
import
time
import
logging
import
os
class
Node
:
def
__init__
(
self
,
index
,
username
,
hostIP
,
hostName
,
password
,
homeDir
):
...
...
@@ -23,7 +24,8 @@ class Node:
self
.
hostIP
=
hostIP
self
.
hostName
=
hostName
self
.
homeDir
=
homeDir
self
.
conn
=
Connection
(
"{}@{}"
.
format
(
username
,
hostName
),
connect_kwargs
=
{
"password"
:
"{}"
.
format
(
password
)})
self
.
corePath
=
'/coredump'
self
.
conn
=
Connection
(
"{}@{}"
.
format
(
username
,
hostName
),
connect_kwargs
=
{
"password"
:
"{}"
.
format
(
password
)})
def
buildTaosd
(
self
):
try
:
...
...
@@ -126,21 +128,37 @@ class Node:
except
Exception
as
e
:
print
(
"remove taosd error for node %d "
%
self
.
index
)
logging
.
exception
(
e
)
def
detectCoredumpFile
(
self
):
try
:
result
=
self
.
conn
.
run
(
"find /coredump -name 'core_*' "
,
hide
=
True
)
output
=
result
.
stdout
print
(
"output: %s"
%
output
)
return
output
except
Exception
as
e
:
print
(
"find coredump file error on node %d "
%
self
.
index
)
logging
.
exception
(
e
)
class
Nodes
:
def
__init__
(
self
):
self
.
tdnodes
=
[]
self
.
tdnodes
.
append
(
Node
(
0
,
'root'
,
'
52.143.103.7'
,
'node1'
,
'a
'
,
'/root/'
))
self
.
tdnodes
.
append
(
Node
(
1
,
'root'
,
'52.250.48.222'
,
'node2'
,
'a'
,
'/root/'
))
self
.
tdnodes
.
append
(
Node
(
2
,
'root'
,
'51.141.167.23'
,
'node3'
,
'a'
,
'/root/'
))
self
.
tdnodes
.
append
(
Node
(
3
,
'root'
,
'52.247.207.173'
,
'node4'
,
'a'
,
'/root/'
))
self
.
tdnodes
.
append
(
Node
(
4
,
'root'
,
'51.141.166.100'
,
'node5'
,
'a'
,
'/root/'
))
self
.
tdnodes
.
append
(
Node
(
0
,
'root'
,
'
192.168.17.194'
,
'taosdata'
,
'r
'
,
'/root/'
))
#
self.tdnodes.append(Node(1, 'root', '52.250.48.222', 'node2', 'a', '/root/'))
#
self.tdnodes.append(Node(2, 'root', '51.141.167.23', 'node3', 'a', '/root/'))
#
self.tdnodes.append(Node(3, 'root', '52.247.207.173', 'node4', 'a', '/root/'))
#
self.tdnodes.append(Node(4, 'root', '51.141.166.100', 'node5', 'a', '/root/'))
def
stopOneNode
(
self
,
index
):
self
.
tdnodes
[
index
].
stopTaosd
()
self
.
tdnodes
[
index
].
forceStopOneTaosd
()
def
startOneNode
(
self
,
index
):
self
.
tdnodes
[
index
].
startOneTaosd
()
def
detectCoredumpFile
(
self
,
index
):
return
self
.
tdnodes
[
index
].
detectCoredumpFile
()
def
stopAllTaosd
(
self
):
for
i
in
range
(
len
(
self
.
tdnodes
)):
...
...
@@ -166,14 +184,32 @@ class Nodes:
for
i
in
range
(
len
(
self
.
tdnodes
)):
self
.
tdnodes
[
i
].
removeData
()
# kill taosd randomly every 10 mins
nodes
=
Nodes
()
loop
=
0
while
True
:
loop
=
loop
+
1
index
=
random
.
randint
(
0
,
4
)
print
(
"loop: %d, kill taosd on node%d"
%
(
loop
,
index
))
nodes
.
stopOneNode
(
index
)
time
.
sleep
(
60
)
nodes
.
startOneNode
(
index
)
time
.
sleep
(
600
)
\ No newline at end of file
class
Test
:
def
__init__
(
self
):
self
.
nodes
=
Nodes
()
# kill taosd randomly every 10 mins
def
randomlyKillDnode
(
self
):
loop
=
0
while
True
:
index
=
random
.
randint
(
0
,
4
)
print
(
"loop: %d, kill taosd on node%d"
%
(
loop
,
index
))
self
.
nodes
.
stopOneNode
(
index
)
time
.
sleep
(
60
)
self
.
nodes
.
startOneNode
(
index
)
time
.
sleep
(
600
)
loop
=
loop
+
1
def
detectCoredump
(
self
):
loop
=
0
while
True
:
for
i
in
range
(
len
(
self
.
nodes
.
tdnodes
)):
result
=
self
.
nodes
.
detectCoredumpFile
(
i
)
print
(
"core file path is %s"
%
result
)
if
result
and
not
result
.
isspace
():
self
.
nodes
.
stopAllTaosd
()
print
(
"sleep for 10 mins"
)
time
.
sleep
(
600
)
test
=
Test
()
test
.
detectCoredump
()
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录