system sh/stop_dnodes.sh

system sh/ip.sh -i 1 -s up
system sh/ip.sh -i 2 -s up
system sh/ip.sh -i 3 -s up
system sh/ip.sh -i 4 -s up
system sh/ip.sh -i 5 -s up
system sh/ip.sh -i 6 -s up
system sh/ip.sh -i 7 -s up

system sh/deploy.sh -n dnode1 -m 192.168.0.1 -i 192.168.0.1
system sh/deploy.sh -n dnode2 -m 192.168.0.1 -i 192.168.0.2
system sh/deploy.sh -n dnode3 -m 192.168.0.1 -i 192.168.0.3
system sh/deploy.sh -n dnode4 -m 192.168.0.1 -i 192.168.0.4
system sh/deploy.sh -n dnode5 -m 192.168.0.1 -i 192.168.0.5
system sh/deploy.sh -n dnode6 -m 192.168.0.1 -i 192.168.0.6
system sh/deploy.sh -n dnode7 -m 192.168.0.1 -i 192.168.0.7
system sh/deploy.sh -n dnode8 -m 192.168.0.1 -i 192.168.0.8

system sh/cfg.sh -n dnode1 -c numOfMPeers -v 1
system sh/cfg.sh -n dnode2 -c numOfMPeers -v 1
system sh/cfg.sh -n dnode3 -c numOfMPeers -v 1
system sh/cfg.sh -n dnode4 -c numOfMPeers -v 1
system sh/cfg.sh -n dnode5 -c numOfMPeers -v 1
system sh/cfg.sh -n dnode6 -c numOfMPeers -v 1
system sh/cfg.sh -n dnode7 -c numOfMPeers -v 1
system sh/cfg.sh -n dnode8 -c numOfMPeers -v 1

system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode2 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode5 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode6 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode7 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode8 -c numOfTotalVnodes -v 4

system sh/cfg.sh -n dnode1 -c statusInterval -v 1
system sh/cfg.sh -n dnode2 -c statusInterval -v 1
system sh/cfg.sh -n dnode3 -c statusInterval -v 1
system sh/cfg.sh -n dnode4 -c statusInterval -v 1
system sh/cfg.sh -n dnode5 -c statusInterval -v 1
system sh/cfg.sh -n dnode6 -c statusInterval -v 1
system sh/cfg.sh -n dnode7 -c statusInterval -v 1
system sh/cfg.sh -n dnode8 -c statusInterval -v 1

system sh/cfg.sh -n dnode1 -c balanceMonitorInterval -v 1
system sh/cfg.sh -n dnode2 -c balanceMonitorInterval -v 1
system sh/cfg.sh -n dnode3 -c balanceMonitorInterval -v 1
system sh/cfg.sh -n dnode4 -c balanceMonitorInterval -v 1
system sh/cfg.sh -n dnode5 -c balanceMonitorInterval -v 1
system sh/cfg.sh -n dnode6 -c balanceMonitorInterval -v 1
system sh/cfg.sh -n dnode7 -c balanceMonitorInterval -v 1
system sh/cfg.sh -n dnode8 -c balanceMonitorInterval -v 1

system sh/cfg.sh -n dnode1 -c balanceStartInterval -v 10
system sh/cfg.sh -n dnode2 -c balanceStartInterval -v 10
system sh/cfg.sh -n dnode3 -c balanceStartInterval -v 10
system sh/cfg.sh -n dnode4 -c balanceStartInterval -v 10
system sh/cfg.sh -n dnode5 -c balanceStartInterval -v 10
system sh/cfg.sh -n dnode6 -c balanceStartInterval -v 10
system sh/cfg.sh -n dnode7 -c balanceStartInterval -v 10
system sh/cfg.sh -n dnode8 -c balanceStartInterval -v 10

system sh/cfg.sh -n dnode1 -c commitLog -v 0
system sh/cfg.sh -n dnode2 -c commitLog -v 0
system sh/cfg.sh -n dnode3 -c commitLog -v 0
system sh/cfg.sh -n dnode4 -c commitLog -v 0
system sh/cfg.sh -n dnode5 -c commitLog -v 0
system sh/cfg.sh -n dnode6 -c commitLog -v 0
system sh/cfg.sh -n dnode7 -c commitLog -v 0
system sh/cfg.sh -n dnode8 -c commitLog -v 0

system sh/cfg.sh -n dnode1 -c mgmtEqualVnodeNum -v 4
system sh/cfg.sh -n dnode2 -c mgmtEqualVnodeNum -v 4
system sh/cfg.sh -n dnode3 -c mgmtEqualVnodeNum -v 4
system sh/cfg.sh -n dnode4 -c mgmtEqualVnodeNum -v 4
system sh/cfg.sh -n dnode5 -c mgmtEqualVnodeNum -v 4
system sh/cfg.sh -n dnode6 -c mgmtEqualVnodeNum -v 4
system sh/cfg.sh -n dnode7 -c mgmtEqualVnodeNum -v 4
system sh/cfg.sh -n dnode8 -c mgmtEqualVnodeNum -v 4

print ============================ step1
print ========= start dnode1-5
system sh/exec.sh -n dnode1 -s start

$x = 0
connectTbase: 
	$x = $x + 1
	sleep 1000
	if $x == 10 then 
	  return -1
	endi
sql connect -x connectTbase
sleep 4001
sql create dnode 192.168.0.2
sql create dnode 192.168.0.3
sql create dnode 192.168.0.4
sql create dnode 192.168.0.5
sql create dnode 192.168.0.6
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode4 -s start
system sh/exec.sh -n dnode5 -s start
system sh/exec.sh -n dnode6 -s start
sleep 4001
$x = 0
created1: 
	$x = $x + 1
	sleep 1000
	if $x == 10 then 
	  return -1
	endi
sql create database d_b5_d1 replica 5 -x created1
sql use d_b5_d1

create1: 
	$x = $x + 1
	sleep 1000
	if $x == 10 then 
	  return -1
	endi
sql create table d_b5_t1 (t timestamp, i int) -x create1
sql insert into d_b5_t1 values(now+1s, 15)
sql insert into d_b5_t1 values(now+2s, 14)
sql insert into d_b5_t1 values(now+2s, 13)
sql insert into d_b5_t1 values(now+3s, 12)
sql insert into d_b5_t1 values(now+4s, 11)

sql create database d_b5_d2 replica 5
sql use d_b5_d2
create2: 
	$x = $x + 1
	sleep 1000
	if $x == 10 then 
	  return -1
	endi
sql create table d_b5_t2 (t timestamp, i int) -x create2
sql insert into d_b5_t2 values(now+1s, 25)
sql insert into d_b5_t2 values(now+2s, 24)
sql insert into d_b5_t2 values(now+3s, 23)
sql insert into d_b5_t2 values(now+4s, 22)
sql insert into d_b5_t2 values(now+5s, 21)

$x = 0
show1: 
	$x = $x + 1
	sleep 2000
	if $x == 10 then 
	  return -1
	endi
sql show dnodes -x show1
$dnode1Vnodes = $data3_192.168.0.1
print 192.168.0.1 $dnode1Vnodes
$dnode2Vnodes = $data3_192.168.0.2
print 192.168.0.2 $dnode2Vnodes
$dnode3Vnodes = $data3_192.168.0.3
print 192.168.0.3 $dnode3Vnodes
$dnode4Vnodes = $data3_192.168.0.4
print 192.168.0.4 $dnode4Vnodes
$dnode5Vnodes = $data3_192.168.0.5
print 192.168.0.5 $dnode5Vnodes
$dnode6Vnodes = $data3_192.168.0.6
print 192.168.0.6 $dnode6Vnodes

if $dnode1Vnodes != 4 then
  goto show1
endi
if $dnode2Vnodes != 2 then
  goto show1
endi
if $dnode3Vnodes != 2 then
  goto show1
endi
if $dnode4Vnodes != 2 then
  goto show1
endi
if $dnode5Vnodes != 2 then
  goto show1
endi
if $dnode6Vnodes != 2 then
  goto show1
endi

print ============================ step2
print ========= drop dnode2
sql drop dnode 192.168.0.2
sleep 7000
$x = 0
show2: 
	$x = $x + 1
	sleep 2000
	if $x == 10 then 
	  return -1
	endi
sql show dnodes -x show2
$dnode1Vnodes = $data3_192.168.0.1
print 192.168.0.1 $dnode1Vnodes
$dnode3Vnodes = $data3_192.168.0.3
print 192.168.0.3 $dnode3Vnodes
$dnode4Vnodes = $data3_192.168.0.4
print 192.168.0.4 $dnode4Vnodes
$dnode5Vnodes = $data3_192.168.0.5
print 192.168.0.5 $dnode5Vnodes
$dnode6Vnodes = $data3_192.168.0.6
print 192.168.0.6 $dnode6Vnodes

if $dnode1Vnodes != 2 then
  goto show2
endi
if $dnode3Vnodes != 2 then
  goto show2
endi
if $dnode4Vnodes != 2 then
  goto show2
endi
if $dnode5Vnodes != 2 then
  goto show2
endi
if $dnode6Vnodes != 2 then
  goto show2
endi

system sh/exec.sh -n dnode2 -s stop

print ============================ step3
print ========= start dnode7
sql create dnode 192.168.0.7
system sh/exec.sh -n dnode7 -s start
sleep 5000
$x = 0
show3: 
	$x = $x + 1
	sleep 5000
	if $x == 10 then 
	  return -1
	endi
sql show dnodes -x show3
$dnode1Vnodes = $data3_192.168.0.1
print 192.168.0.1 $dnode1Vnodes
$dnode3Vnodes = $data3_192.168.0.3
print 192.168.0.3 $dnode3Vnodes
$dnode4Vnodes = $data3_192.168.0.4
print 192.168.0.4 $dnode4Vnodes
$dnode5Vnodes = $data3_192.168.0.5
print 192.168.0.5 $dnode5Vnodes
$dnode6Vnodes = $data3_192.168.0.6
print 192.168.0.6 $dnode6Vnodes
$dnode7Vnodes = $data3_192.168.0.7
print 192.168.0.7 $dnode7Vnodes

if $dnode1Vnodes != 4 then
  goto show3
endi
if $dnode3Vnodes != 2 then
  goto show3
endi
if $dnode4Vnodes != 2 then
  goto show3
endi
if $dnode5Vnodes != 2 then
  goto show3
endi
if $dnode6Vnodes != 2 then
  goto show3
endi
if $dnode7Vnodes != 2 then
  goto show3
endi

print ============================ step4
print ========= add db3
sql create database d_b5_d3 replica 5
sql use d_b5_d3
create3: 
	$x = $x + 1
	sleep 2000
	if $x == 10 then 
	  return -1
	endi
sql create table d_b5_t3 (t timestamp, i int) -x create3
sql insert into d_b5_t3 values(now+1s, 35)
sql insert into d_b5_t3 values(now+2s, 34)
sql insert into d_b5_t3 values(now+3s, 33)
sql insert into d_b5_t3 values(now+4s, 32)
sql insert into d_b5_t3 values(now+5s, 31)

$x = 0
show4: 
	$x = $x + 1
	sleep 2000
	if $x == 10 then 
	  return -1
	endi
sql show dnodes -x show4
$dnode1Vnodes = $data3_192.168.0.1
print 192.168.0.1 $dnode1Vnodes
$dnode3Vnodes = $data3_192.168.0.3
print 192.168.0.3 $dnode3Vnodes
$dnode4Vnodes = $data3_192.168.0.4
print 192.168.0.4 $dnode4Vnodes
$dnode5Vnodes = $data3_192.168.0.5
print 192.168.0.5 $dnode5Vnodes
$dnode6Vnodes = $data3_192.168.0.6
print 192.168.0.6 $dnode6Vnodes
$dnode7Vnodes = $data3_192.168.0.7
print 192.168.0.7 $dnode7Vnodes

if $dnode1Vnodes != 4 then
  goto show4
endi
if $dnode3Vnodes != 1 then
  goto show4
endi
if $dnode4Vnodes != 1 then
  goto show4
endi
if $dnode5Vnodes != 1 then
  goto show4
endi
if $dnode6Vnodes != 1 then
  goto show4
endi
if $dnode7Vnodes != 1 then
  goto show4
endi

print ============================ step5
print ========= start dnode8
sql create dnode 192.168.0.8
system sh/exec.sh -n dnode8 -s start
sleep 7000
$x = 0
show5: 
	$x = $x + 1
	sleep 2000
	if $x == 10 then 
	  return -1
	endi
sql show dnodes -x show5
$dnode1Vnodes = $data3_192.168.0.1
print 192.168.0.1 $dnode1Vnodes
$dnode8Vnodes = $data3_192.168.0.8
print 192.168.0.8 $dnode8Vnodes

if $dnode1Vnodes != 4 then
  goto show5
endi
if $dnode8Vnodes != 2 then
  goto show5
endi

print ============================ step6
print ========= drop dnode3
sql drop dnode 192.168.0.3
sleep 7000
$x = 0
show6: 
	$x = $x + 1
	sleep 2000
	if $x == 10 then 
	  return -1
	endi
sql show dnodes -x show6
$dnode1Vnodes = $data3_192.168.0.1
print 192.168.0.1 $dnode1Vnodes
$dnode4Vnodes = $data3_192.168.0.4
print 192.168.0.4 $dnode4Vnodes
$dnode5Vnodes = $data3_192.168.0.5
print 192.168.0.5 $dnode5Vnodes
$dnode6Vnodes = $data3_192.168.0.6
print 192.168.0.6 $dnode6Vnodes
$dnode7Vnodes = $data3_192.168.0.7
print 192.168.0.7 $dnode7Vnodes
$dnode8Vnodes = $data3_192.168.0.8
print 192.168.0.8 $dnode8Vnodes

if $dnode1Vnodes != 4 then
  goto show6
endi
if $dnode4Vnodes != 1 then
  goto show6
endi
if $dnode5Vnodes != 1 then
  goto show6
endi
if $dnode6Vnodes != 1 then
  goto show6
endi
if $dnode7Vnodes != 1 then
  goto show6
endi
if $dnode8Vnodes != 1 then
  goto show6
endi

system sh/exec.sh -n dnode3 -s stop

return
print ============================ step7
print ========= check data

sql use d_b5_d1
sql select * from d_b5_t1
print $data01 $data11 $data21 $data31 $data41 
if $data01 != 11 then
  return -1
endi
if $data11 != 12 then
  return -1
endi
if $data21 != 13 then
  return -1
endi
if $data31 != 14 then
  return -1
endi
if $data41 != 15 then
  return -1
endi

sql use d_b5_d2
sql select * from d_b5_t2
print $data01 $data11 $data21 $data31 $data41 
if $data01 != 21 then
  return -1
endi
if $data11 != 22 then
  return -1
endi
if $data21 != 23 then
  return -1
endi
if $data31 != 24 then
  return -1
endi
if $data41 != 25 then
  return -1
endi

sql use d_b5_d3
sql select * from d_b5_t3
print $data01 $data11 $data21 $data31 $data41  
if $data01 != 31 then
  return -1
endi
if $data11 != 32 then
  return -1
endi
if $data21 != 33 then
  return -1
endi
if $data31 != 34 then
  return -1
endi
if $data41 != 35 then
  return -1
endi


print ============================================ over
system sh/exec.sh -n dnode1 -s stop
system sh/exec.sh -n dnode2 -s stop
system sh/exec.sh -n dnode3 -s stop
system sh/exec.sh -n dnode4 -s stop
system sh/exec.sh -n dnode5 -s stop
system sh/exec.sh -n dnode6 -s stop
system sh/exec.sh -n dnode7 -s stop
system sh/exec.sh -n dnode8 -s stop
