test:modify testcase of muti-mnode

This commit is contained in:
tomchon 2022-06-11 22:10:04 +08:00
parent b1a2dff6ba
commit 45a729f147
5 changed files with 222 additions and 145 deletions

View File

@ -26,6 +26,7 @@ class TDTestCase:
self.TDDnodes = None self.TDDnodes = None
self.depoly_cluster(5) self.depoly_cluster(5)
self.master_dnode = self.TDDnodes.dnodes[0] self.master_dnode = self.TDDnodes.dnodes[0]
self.host=self.master_dnode.cfgDict["fqdn"]
conn1 = taos.connect(self.master_dnode.cfgDict["fqdn"] , config=self.master_dnode.cfgDir) conn1 = taos.connect(self.master_dnode.cfgDict["fqdn"] , config=self.master_dnode.cfgDir)
tdSql.init(conn1.cursor()) tdSql.init(conn1.cursor())
@ -89,12 +90,12 @@ class TDTestCase:
def five_dnode_one_mnode(self): def five_dnode_one_mnode(self):
tdSql.query("show dnodes;") tdSql.query("show dnodes;")
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(4,1,'chenhaoran02:6430') tdSql.checkData(4,1,'%s:6430'%self.host)
tdSql.checkData(0,4,'ready') tdSql.checkData(0,4,'ready')
tdSql.checkData(4,4,'ready') tdSql.checkData(4,4,'ready')
tdSql.query("show mnodes;") tdSql.query("show mnodes;")
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,2,'leader') tdSql.checkData(0,2,'leader')
tdSql.checkData(0,3,'ready') tdSql.checkData(0,3,'ready')

View File

@ -26,6 +26,7 @@ class TDTestCase:
self.TDDnodes = None self.TDDnodes = None
self.depoly_cluster(5) self.depoly_cluster(5)
self.master_dnode = self.TDDnodes.dnodes[0] self.master_dnode = self.TDDnodes.dnodes[0]
self.host=self.master_dnode.cfgDict["fqdn"]
conn1 = taos.connect(self.master_dnode.cfgDict["fqdn"] , config=self.master_dnode.cfgDir) conn1 = taos.connect(self.master_dnode.cfgDict["fqdn"] , config=self.master_dnode.cfgDir)
tdSql.init(conn1.cursor()) tdSql.init(conn1.cursor())
@ -89,12 +90,12 @@ class TDTestCase:
def five_dnode_one_mnode(self): def five_dnode_one_mnode(self):
tdSql.query("show dnodes;") tdSql.query("show dnodes;")
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(4,1,'chenhaoran02:6430') tdSql.checkData(4,1,'%s:6430'%self.host)
tdSql.checkData(0,4,'ready') tdSql.checkData(0,4,'ready')
tdSql.checkData(4,4,'ready') tdSql.checkData(4,4,'ready')
tdSql.query("show mnodes;") tdSql.query("show mnodes;")
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,2,'leader') tdSql.checkData(0,2,'leader')
tdSql.checkData(0,3,'ready') tdSql.checkData(0,3,'ready')
@ -122,12 +123,12 @@ class TDTestCase:
def five_dnode_two_mnode(self): def five_dnode_two_mnode(self):
tdSql.query("show dnodes;") tdSql.query("show dnodes;")
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(4,1,'chenhaoran02:6430') tdSql.checkData(4,1,'%s:6430'%self.host)
tdSql.checkData(0,4,'ready') tdSql.checkData(0,4,'ready')
tdSql.checkData(4,4,'ready') tdSql.checkData(4,4,'ready')
tdSql.query("show mnodes;") tdSql.query("show mnodes;")
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,2,'leader') tdSql.checkData(0,2,'leader')
tdSql.checkData(0,3,'ready') tdSql.checkData(0,3,'ready')
@ -152,10 +153,10 @@ class TDTestCase:
# fisrt check statut ready # fisrt check statut ready
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,2,'leader') tdSql.checkData(0,2,'leader')
tdSql.checkData(0,3,'ready') tdSql.checkData(0,3,'ready')
tdSql.checkData(1,1,'chenhaoran02:6130') tdSql.checkData(1,1,'%s:6130'%self.host)
tdSql.checkData(1,2,'follower') tdSql.checkData(1,2,'follower')
tdSql.checkData(1,3,'ready') tdSql.checkData(1,3,'ready')
@ -187,7 +188,7 @@ class TDTestCase:
# tdSql.execute("drop mnode on dnode 2") # tdSql.execute("drop mnode on dnode 2")
# tdSql.query("show mnodes;") # tdSql.query("show mnodes;")
# tdSql.checkRows(1) # tdSql.checkRows(1)
# tdSql.checkData(0,1,'chenhaoran02:6030') # tdSql.checkData(0,1,'%s:6030'%self.host)
# tdSql.checkData(0,2,'leader') # tdSql.checkData(0,2,'leader')
# tdSql.checkData(0,3,'ready') # tdSql.checkData(0,3,'ready')
@ -207,10 +208,10 @@ class TDTestCase:
# tdSql.query("show mnodes;") # tdSql.query("show mnodes;")
# tdSql.checkRows(2) # tdSql.checkRows(2)
# tdSql.checkData(0,1,'chenhaoran02:6030') # tdSql.checkData(0,1,'%s:6030'%self.host)
# tdSql.checkData(0,2,'leader') # tdSql.checkData(0,2,'leader')
# tdSql.checkData(0,3,'ready') # tdSql.checkData(0,3,'ready')
# tdSql.checkData(1,1,'chenhaoran02:6130') # tdSql.checkData(1,1,'%s:6130'%self.host)
# tdSql.checkData(1,2,'follower') # tdSql.checkData(1,2,'follower')
# tdSql.checkData(2,3,'ready') # tdSql.checkData(2,3,'ready')

View File

@ -1,4 +1,5 @@
from ssl import ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE from ssl import ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE
from paramiko import HostKeys
import taos import taos
import sys import sys
import time import time
@ -12,7 +13,7 @@ from util.dnodes import TDDnode
import time import time
import socket import socket
import subprocess import subprocess
from multiprocessing import Process
class MyDnodes(TDDnodes): class MyDnodes(TDDnodes):
def __init__(self ,dnodes_lists): def __init__(self ,dnodes_lists):
super(MyDnodes,self).__init__() super(MyDnodes,self).__init__()
@ -24,11 +25,13 @@ class TDTestCase:
def init(self,conn ,logSql): def init(self,conn ,logSql):
tdLog.debug(f"start to excute {__file__}") tdLog.debug(f"start to excute {__file__}")
self.TDDnodes = None self.TDDnodes = None
self.depoly_cluster(5)
def buildcluster(self,dnodenumber):
self.depoly_cluster(dnodenumber)
self.master_dnode = self.TDDnodes.dnodes[0] self.master_dnode = self.TDDnodes.dnodes[0]
self.host=self.master_dnode.cfgDict["fqdn"]
conn1 = taos.connect(self.master_dnode.cfgDict["fqdn"] , config=self.master_dnode.cfgDir) conn1 = taos.connect(self.master_dnode.cfgDict["fqdn"] , config=self.master_dnode.cfgDir)
tdSql.init(conn1.cursor()) tdSql.init(conn1.cursor())
def getBuildPath(self): def getBuildPath(self):
selfPath = os.path.dirname(os.path.realpath(__file__)) selfPath = os.path.dirname(os.path.realpath(__file__))
@ -46,12 +49,33 @@ class TDTestCase:
break break
return buildPath return buildPath
def insert_data(self,count):
# fisrt add data : db\stable\childtable\general table
for couti in count:
tdSql.execute("drop database if exists db%d" %couti)
tdSql.execute("create database if not exists db%d replica 1 days 300" %couti)
tdSql.execute("use db%d" %couti)
tdSql.execute(
'''create table stb1
(ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint, c5 float, c6 double, c7 bool, c8 binary(16),c9 nchar(32), c10 timestamp)
tags (t1 int)
'''
)
tdSql.execute(
'''
create table t1
(ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint, c5 float, c6 double, c7 bool, c8 binary(16),c9 nchar(32), c10 timestamp)
'''
)
for i in range(4):
tdSql.execute(f'create table ct{i+1} using stb1 tags ( {i+1} )')
def depoly_cluster(self ,dnodes_nums): def depoly_cluster(self ,dnodes_nums):
testCluster = False testCluster = False
valgrind = 0 valgrind = 0
hostname = socket.gethostname() hostname = socket.gethostname()
print(hostname)
dnodes = [] dnodes = []
start_port = 6030 start_port = 6030
for num in range(1, dnodes_nums+1): for num in range(1, dnodes_nums+1):
@ -85,16 +109,136 @@ class TDTestCase:
os.system(cmd) os.system(cmd)
time.sleep(2) time.sleep(2)
tdLog.info(" create cluster done! ") tdLog.info(" create cluster with %d dnode done! " %dnodes_nums)
def five_dnode_three_mnode(self): def check3mnode(self):
count=0
while count < 10:
time.sleep(1)
tdSql.query("show mnodes;")
if tdSql.checkRows(3) :
if tdSql.queryResult[0][2]=='leader' :
if tdSql.queryResult[1][2]=='follower':
if tdSql.queryResult[2][2]=='follower':
print("three mnodes is ready in 10s")
break
elif tdSql.queryResult[0][2]=='follower' :
if tdSql.queryResult[1][2]=='leader':
if tdSql.queryResult[2][2]=='follower':
print("three mnodes is ready in 10s")
break
elif tdSql.queryResult[0][2]=='follower' :
if tdSql.queryResult[1][2]=='follower':
if tdSql.queryResult[2][2]=='leader':
print("three mnodes is ready in 10s")
break
count+=1
else:
print("three mnodes is not ready in 10s ")
tdSql.query("show mnodes;")
tdSql.checkRows(3)
tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,3,'ready')
tdSql.checkData(1,1,'%s:6130'%self.host)
tdSql.checkData(1,3,'ready')
tdSql.checkData(2,1,'%s:6230'%self.host)
tdSql.checkData(2,3,'ready')
def check3mnode1off(self):
count=0
while count < 10:
time.sleep(1)
tdSql.query("show mnodes;")
if tdSql.checkRows(3) :
if tdSql.queryResult[0][2]=='offline' :
if tdSql.queryResult[1][2]=='leader':
if tdSql.queryResult[2][2]=='follower':
print("stop mnodes on dnode 2 successfully in 10s")
break
elif tdSql.queryResult[1][2]=='follower':
if tdSql.queryResult[2][2]=='leader':
print("stop mnodes on dnode 2 successfully in 10s")
break
count+=1
else:
print("stop mnodes on dnode 2 failed in 10s ")
tdSql.query("show mnodes;")
tdSql.checkRows(3)
tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,2,'offline')
tdSql.checkData(0,3,'ready')
tdSql.checkData(1,1,'%s:6130'%self.host)
tdSql.checkData(1,3,'ready')
tdSql.checkData(2,1,'%s:6230'%self.host)
tdSql.checkData(2,3,'ready')
def check3mnode2drop(self):
count=0
while count < 10:
time.sleep(1)
tdSql.query("show mnodes;")
if tdSql.checkRows(3) :
if tdSql.queryResult[0][2]=='leader' :
if tdSql.queryResult[1][2]=='offline':
if tdSql.queryResult[2][2]=='follower':
print("stop mnodes on dnode 2 successfully in 10s")
break
count+=1
else:
print("stop mnodes on dnode 2 failed in 10s ")
tdSql.query("show mnodes;")
tdSql.checkRows(3)
tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,2,'leader')
tdSql.checkData(0,3,'ready')
tdSql.checkData(1,1,'%s:6130'%self.host)
tdSql.checkData(1,2,'offline')
tdSql.checkData(1,3,'ready')
tdSql.checkData(2,1,'%s:6230')
tdSql.checkData(2,2,'follower')
tdSql.checkData(2,3,'ready')
def check3mnode3off(self):
count=0
while count < 10:
time.sleep(1)
tdSql.query("show mnodes;")
if tdSql.checkRows(3) :
if tdSql.queryResult[0][2]=='leader' :
if tdSql.queryResult[2][2]=='offline':
if tdSql.queryResult[1][2]=='follower':
print("stop mnodes on dnode 3 successfully in 10s")
break
count+=1
else:
print("stop mnodes on dnode 3 failed in 10s")
tdSql.query("show mnodes;")
tdSql.checkRows(3)
tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,2,'leader')
tdSql.checkData(0,3,'ready')
tdSql.checkData(1,1,'%s:6130'%self.host)
tdSql.checkData(1,2,'follower')
tdSql.checkData(1,3,'ready')
tdSql.checkData(2,1,'%s:6230'%self.host)
tdSql.checkData(2,2,'offline')
tdSql.checkData(2,3,'ready')
def five_dnode_three_mnode(self,dnodenumber):
tdSql.query("show dnodes;") tdSql.query("show dnodes;")
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(4,1,'chenhaoran02:6430') tdSql.checkData(4,1,'%s:6430'%self.host)
tdSql.checkData(0,4,'ready') tdSql.checkData(0,4,'ready')
tdSql.checkData(4,4,'ready') tdSql.checkData(4,4,'ready')
tdSql.query("show mnodes;") tdSql.query("show mnodes;")
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkRows(1)
tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,2,'leader') tdSql.checkData(0,2,'leader')
tdSql.checkData(0,3,'ready') tdSql.checkData(0,3,'ready')
@ -102,111 +246,24 @@ class TDTestCase:
tdSql.execute("create mnode on dnode 2") tdSql.execute("create mnode on dnode 2")
tdSql.execute("create mnode on dnode 3") tdSql.execute("create mnode on dnode 3")
count=0
while count < 10:
time.sleep(1)
tdSql.query("show mnodes;")
tdSql.checkRows(3)
if tdSql.queryResult[0][2]=='leader' :
if tdSql.queryResult[1][2]=='follower':
if tdSql.queryResult[2][2]=='follower':
print("three mnodes is ready in 10s")
break
count+=1
else:
print("three mnodes is not ready in 10s ")
# fisrt check statut ready # fisrt check statut ready
tdSql.query("show mnodes;") self.check3mnode()
tdSql.checkRows(3)
tdSql.checkData(0,1,'chenhaoran02:6030')
tdSql.checkData(0,2,'leader')
tdSql.checkData(0,3,'ready')
tdSql.checkData(1,1,'chenhaoran02:6130')
tdSql.checkData(1,2,'follower')
tdSql.checkData(1,3,'ready')
tdSql.checkData(2,1,'chenhaoran02:6230')
tdSql.checkData(2,2,'follower')
tdSql.checkData(2,3,'ready')
# fisrt add data : db\stable\childtable\general table
tdSql.execute("drop database if exists db2")
tdSql.execute("create database if not exists db2 replica 1 days 300")
tdSql.execute("use db2")
tdSql.execute(
'''create table stb1
(ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint, c5 float, c6 double, c7 bool, c8 binary(16),c9 nchar(32), c10 timestamp)
tags (t1 int)
'''
)
tdSql.execute(
'''
create table t1
(ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint, c5 float, c6 double, c7 bool, c8 binary(16),c9 nchar(32), c10 timestamp)
'''
)
for i in range(4):
tdSql.execute(f'create table ct{i+1} using stb1 tags ( {i+1} )')
tdSql.error("create mnode on dnode 2") tdSql.error("create mnode on dnode 2")
tdSql.error("create mnode on dnode 1")
tdSql.error("create mnode on dnode 3")
tdSql.error("drop mnode on dnode 1")
tdSql.query("show dnodes;") tdSql.query("show dnodes;")
print(tdSql.queryResult) print(tdSql.queryResult)
# drop and follower of mnode # drop and follower of mnode
dropcount =0 dropcount =0
while dropcount <= 10: while dropcount <= 10:
tdSql.execute("drop mnode on dnode 2") for i in range(1,3):
tdSql.execute("drop mnode on dnode %d"%(i+1))
count=0 tdSql.execute("create mnode on dnode %d"%(i+1))
while count < 10: dropcount+=1
time.sleep(1) self.check3mnode()
tdSql.query("show mnodes;")
tdSql.checkRows(2)
if tdSql.queryResult[0][2]=='leader' :
if tdSql.queryResult[1][2]=='follower':
print("drop mnodes on dnone 2 successfully")
break
count+=1
else:
print("drop mnodes on dnone 2 failed")
# check statut ready
tdSql.query("show mnodes;")
tdSql.checkRows(2)
tdSql.checkData(0,1,'chenhaoran02:6030')
tdSql.checkData(0,2,'leader')
tdSql.checkData(0,3,'ready')
tdSql.checkData(1,1,'chenhaoran02:6230')
tdSql.checkData(1,2,'follower')
tdSql.checkData(1,3,'ready')
tdSql.execute("create mnode on dnode 2")
count=0
while count < 10:
time.sleep(1)
tdSql.query("show mnodes;")
tdSql.checkRows(3)
if tdSql.queryResult[0][2]=='leader' :
if tdSql.queryResult[1][2]=='follower':
if tdSql.queryResult[2][2]=='follower':
print("three mnodes is ready in 10s")
break
count+=1
else:
print("three mnodes is not ready in 10s ")
tdSql.query("show mnodes;")
tdSql.checkRows(3)
tdSql.checkData(0,1,'chenhaoran02:6030')
tdSql.checkData(0,2,'leader')
tdSql.checkData(0,3,'ready')
tdSql.checkData(1,1,'chenhaoran02:6130')
tdSql.checkData(1,2,'follower')
tdSql.checkData(1,3,'ready')
tdSql.checkData(2,1,'chenhaoran02:6230')
tdSql.checkData(2,2,'follower')
tdSql.checkData(2,3,'ready')
def getConnection(self, dnode): def getConnection(self, dnode):
@ -218,7 +275,8 @@ class TDTestCase:
def run(self): def run(self):
# print(self.master_dnode.cfgDict) # print(self.master_dnode.cfgDict)
self.five_dnode_three_mnode() self.buildcluster(5)
self.five_dnode_three_mnode(5)
def stop(self): def stop(self):
tdSql.close() tdSql.close()

View File

@ -28,6 +28,7 @@ class TDTestCase:
def buildcluster(self,dnodenumber): def buildcluster(self,dnodenumber):
self.depoly_cluster(dnodenumber) self.depoly_cluster(dnodenumber)
self.master_dnode = self.TDDnodes.dnodes[0] self.master_dnode = self.TDDnodes.dnodes[0]
self.host=self.master_dnode.cfgDict["fqdn"]
conn1 = taos.connect(self.master_dnode.cfgDict["fqdn"] , config=self.master_dnode.cfgDir) conn1 = taos.connect(self.master_dnode.cfgDict["fqdn"] , config=self.master_dnode.cfgDir)
tdSql.init(conn1.cursor()) tdSql.init(conn1.cursor())
@ -136,11 +137,11 @@ class TDTestCase:
tdSql.query("show mnodes;") tdSql.query("show mnodes;")
tdSql.checkRows(3) tdSql.checkRows(3)
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,3,'ready') tdSql.checkData(0,3,'ready')
tdSql.checkData(1,1,'chenhaoran02:6130') tdSql.checkData(1,1,'%s:6130'%self.host)
tdSql.checkData(1,3,'ready') tdSql.checkData(1,3,'ready')
tdSql.checkData(2,1,'chenhaoran02:6230') tdSql.checkData(2,1,'%s:6230'%self.host)
tdSql.checkData(2,3,'ready') tdSql.checkData(2,3,'ready')
def check3mnode1off(self): def check3mnode1off(self):
@ -164,12 +165,12 @@ class TDTestCase:
tdSql.query("show mnodes;") tdSql.query("show mnodes;")
tdSql.checkRows(3) tdSql.checkRows(3)
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,2,'offline') tdSql.checkData(0,2,'offline')
tdSql.checkData(0,3,'ready') tdSql.checkData(0,3,'ready')
tdSql.checkData(1,1,'chenhaoran02:6130') tdSql.checkData(1,1,'%s:6130'%self.host)
tdSql.checkData(1,3,'ready') tdSql.checkData(1,3,'ready')
tdSql.checkData(2,1,'chenhaoran02:6230') tdSql.checkData(2,1,'%s:6230'%self.host)
tdSql.checkData(2,3,'ready') tdSql.checkData(2,3,'ready')
def check3mnode2off(self): def check3mnode2off(self):
@ -189,13 +190,13 @@ class TDTestCase:
tdSql.query("show mnodes;") tdSql.query("show mnodes;")
tdSql.checkRows(3) tdSql.checkRows(3)
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,2,'leader') tdSql.checkData(0,2,'leader')
tdSql.checkData(0,3,'ready') tdSql.checkData(0,3,'ready')
tdSql.checkData(1,1,'chenhaoran02:6130') tdSql.checkData(1,1,'%s:6130'%self.host)
tdSql.checkData(1,2,'offline') tdSql.checkData(1,2,'offline')
tdSql.checkData(1,3,'ready') tdSql.checkData(1,3,'ready')
tdSql.checkData(2,1,'chenhaoran02:6230') tdSql.checkData(2,1,'%s:6230'%self.host)
tdSql.checkData(2,2,'follower') tdSql.checkData(2,2,'follower')
tdSql.checkData(2,3,'ready') tdSql.checkData(2,3,'ready')
@ -216,13 +217,13 @@ class TDTestCase:
tdSql.query("show mnodes;") tdSql.query("show mnodes;")
tdSql.checkRows(3) tdSql.checkRows(3)
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,2,'leader') tdSql.checkData(0,2,'leader')
tdSql.checkData(0,3,'ready') tdSql.checkData(0,3,'ready')
tdSql.checkData(1,1,'chenhaoran02:6130') tdSql.checkData(1,1,'%s:6130'%self.host)
tdSql.checkData(1,2,'follower') tdSql.checkData(1,2,'follower')
tdSql.checkData(1,3,'ready') tdSql.checkData(1,3,'ready')
tdSql.checkData(2,1,'chenhaoran02:6230') tdSql.checkData(2,1,'%s:6230'%self.host)
tdSql.checkData(2,2,'offline') tdSql.checkData(2,2,'offline')
tdSql.checkData(2,3,'ready') tdSql.checkData(2,3,'ready')
@ -230,13 +231,13 @@ class TDTestCase:
def five_dnode_three_mnode(self,dnodenumber): def five_dnode_three_mnode(self,dnodenumber):
tdSql.query("show dnodes;") tdSql.query("show dnodes;")
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(4,1,'chenhaoran02:6430') tdSql.checkData(4,1,'%s:6430'%self.host)
tdSql.checkData(0,4,'ready') tdSql.checkData(0,4,'ready')
tdSql.checkData(4,4,'ready') tdSql.checkData(4,4,'ready')
tdSql.query("show mnodes;") tdSql.query("show mnodes;")
tdSql.checkRows(1) tdSql.checkRows(1)
tdSql.checkData(0,1,'chenhaoran02:6030') tdSql.checkData(0,1,'%s:6030'%self.host)
tdSql.checkData(0,2,'leader') tdSql.checkData(0,2,'leader')
tdSql.checkData(0,3,'ready') tdSql.checkData(0,3,'ready')
@ -252,9 +253,23 @@ class TDTestCase:
tdSql.query("show dnodes;") tdSql.query("show dnodes;")
print(tdSql.queryResult) print(tdSql.queryResult)
# drop and follower of mnode
dropcount =0 tdLog.debug("stop and follower of mnode")
while dropcount <= 2: # self.TDDnodes.stoptaosd(2)
# self.check3mnode2off()
# self.TDDnodes.starttaosd(2)
# self.TDDnodes.stoptaosd(3)
# self.check3mnode3off()
# self.TDDnodes.starttaosd(2)
# self.TDDnodes.stoptaosd(1)
# self.check3mnode1off()
# self.TDDnodes.starttaosd(1)
# self.check3mnode()
stopcount =0
while stopcount <= 2:
for i in range(dnodenumber): for i in range(dnodenumber):
self.TDDnodes.stoptaosd(i+1) self.TDDnodes.stoptaosd(i+1)
# if i == 1 : # if i == 1 :
@ -266,7 +281,7 @@ class TDTestCase:
self.TDDnodes.starttaosd(i+1) self.TDDnodes.starttaosd(i+1)
# self.check3mnode() # self.check3mnode()
dropcount+=1 stopcount+=1
self.check3mnode() self.check3mnode()

View File

@ -28,6 +28,8 @@ class TDTestCase:
def buildcluster(self,dnodenumber): def buildcluster(self,dnodenumber):
self.depoly_cluster(dnodenumber) self.depoly_cluster(dnodenumber)
self.master_dnode = self.TDDnodes.dnodes[0] self.master_dnode = self.TDDnodes.dnodes[0]
self.host=self.master_dnode.cfgDict["fqdn"]
conn1 = taos.connect(self.master_dnode.cfgDict["fqdn"] , config=self.master_dnode.cfgDir) conn1 = taos.connect(self.master_dnode.cfgDict["fqdn"] , config=self.master_dnode.cfgDir)
tdSql.init(conn1.cursor()) tdSql.init(conn1.cursor())
@ -252,9 +254,9 @@ class TDTestCase:
tdSql.query("show dnodes;") tdSql.query("show dnodes;")
print(tdSql.queryResult) print(tdSql.queryResult)
# drop and follower of mnode # stop and follower of mnode
dropcount =0 stopcount =0
while dropcount <= 2: while stopcount <= 2:
for i in range(dnodenumber): for i in range(dnodenumber):
self.TDDnodes.stoptaosd(i+1) self.TDDnodes.stoptaosd(i+1)
# if i == 1 : # if i == 1 :
@ -266,7 +268,7 @@ class TDTestCase:
self.TDDnodes.starttaosd(i+1) self.TDDnodes.starttaosd(i+1)
# self.check3mnode() # self.check3mnode()
dropcount+=1 stopcount+=1
self.check3mnode() self.check3mnode()