Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
6da72d82
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
6da72d82
编写于
6月 05, 2021
作者:
H
huili
提交者:
GitHub
6月 05, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #6383 from taosdata/xiaoping/test_case
[TD-3938]<test>: add script to detect coredump file
上级
9b0d75ca
d2c18414
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
52 addition
and
17 deletion
+52
-17
tests/pytest/cluster/clusterSetup.py
tests/pytest/cluster/clusterSetup.py
+52
-17
未找到文件。
tests/pytest/cluster/clusterSetup.py
浏览文件 @
6da72d82
...
@@ -23,6 +23,7 @@ class Node:
...
@@ -23,6 +23,7 @@ class Node:
self
.
hostIP
=
hostIP
self
.
hostIP
=
hostIP
self
.
hostName
=
hostName
self
.
hostName
=
hostName
self
.
homeDir
=
homeDir
self
.
homeDir
=
homeDir
self
.
corePath
=
'/coredump'
self
.
conn
=
Connection
(
"{}@{}"
.
format
(
username
,
hostName
),
connect_kwargs
=
{
"password"
:
"{}"
.
format
(
password
)})
self
.
conn
=
Connection
(
"{}@{}"
.
format
(
username
,
hostName
),
connect_kwargs
=
{
"password"
:
"{}"
.
format
(
password
)})
def
buildTaosd
(
self
):
def
buildTaosd
(
self
):
...
@@ -127,21 +128,37 @@ class Node:
...
@@ -127,21 +128,37 @@ class Node:
print
(
"remove taosd error for node %d "
%
self
.
index
)
print
(
"remove taosd error for node %d "
%
self
.
index
)
logging
.
exception
(
e
)
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
:
class
Nodes
:
def
__init__
(
self
):
def
__init__
(
self
):
self
.
tdnodes
=
[]
self
.
tdnodes
=
[]
self
.
tdnodes
.
append
(
Node
(
0
,
'root'
,
'
52.143.103.7'
,
'node1'
,
'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(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(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(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(4, 'root', '51.141.166.100', 'node5', 'a', '/root/'))
def
stopOneNode
(
self
,
index
):
def
stopOneNode
(
self
,
index
):
self
.
tdnodes
[
index
].
stopTaosd
()
self
.
tdnodes
[
index
].
forceStopOneTaosd
()
self
.
tdnodes
[
index
].
forceStopOneTaosd
()
def
startOneNode
(
self
,
index
):
def
startOneNode
(
self
,
index
):
self
.
tdnodes
[
index
].
startOneTaosd
()
self
.
tdnodes
[
index
].
startOneTaosd
()
def
detectCoredumpFile
(
self
,
index
):
return
self
.
tdnodes
[
index
].
detectCoredumpFile
()
def
stopAllTaosd
(
self
):
def
stopAllTaosd
(
self
):
for
i
in
range
(
len
(
self
.
tdnodes
)):
for
i
in
range
(
len
(
self
.
tdnodes
)):
self
.
tdnodes
[
i
].
stopTaosd
()
self
.
tdnodes
[
i
].
stopTaosd
()
...
@@ -166,14 +183,32 @@ class Nodes:
...
@@ -166,14 +183,32 @@ class Nodes:
for
i
in
range
(
len
(
self
.
tdnodes
)):
for
i
in
range
(
len
(
self
.
tdnodes
)):
self
.
tdnodes
[
i
].
removeData
()
self
.
tdnodes
[
i
].
removeData
()
# kill taosd randomly every 10 mins
class
Test
:
nodes
=
Nodes
()
def
__init__
(
self
):
loop
=
0
self
.
nodes
=
Nodes
()
while
True
:
loop
=
loop
+
1
# kill taosd randomly every 10 mins
def
randomlyKillDnode
(
self
):
loop
=
0
while
True
:
index
=
random
.
randint
(
0
,
4
)
index
=
random
.
randint
(
0
,
4
)
print
(
"loop: %d, kill taosd on node%d"
%
(
loop
,
index
))
print
(
"loop: %d, kill taosd on node%d"
%
(
loop
,
index
))
nodes
.
stopOneNode
(
index
)
self
.
nodes
.
stopOneNode
(
index
)
time
.
sleep
(
60
)
time
.
sleep
(
60
)
nodes
.
startOneNode
(
index
)
self
.
nodes
.
startOneNode
(
index
)
time
.
sleep
(
600
)
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录