system sh/stop_dnodes.sh

system sh/deploy.sh -n dnode1 -i 1
system sh/deploy.sh -n dnode2 -i 2
system sh/deploy.sh -n dnode3 -i 3
system sh/deploy.sh -n dnode4 -i 4

system sh/cfg.sh -n dnode1 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode2 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode3 -c numOfMnodes -v 3
system sh/cfg.sh -n dnode4 -c numOfMnodes -v 3

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

sql show mnodes
print dnode1 ==> $data2_1
print dnode2 ==> $data2_2
print dnode3 ==> $data3_3
if $data2_1 != master then
  return -1
endi
if $data3_2 != null then
  return -1
endi
if $data3_3 != null then
  return -1
endi

print ============== step2
system sh/exec.sh -n dnode2 -s start
sql create dnode $hostname2
$x = 0
step2: 
	$x = $x + 1
	sleep 1000
	if $x == 10 then
		return -1
	endi

sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role

if $dnode1Role != master then
  goto step2
endi
if $dnode2Role != slave then
  goto step2
endi
if $dnode3Role != null then
  goto step2
endi
if $dnode4Role != null then
  goto step2
endi

print ============== step3
system sh/exec.sh -n dnode3 -s start
sql create dnode $hostname3

$x = 0
step3: 
	$x = $x + 1
	sleep 1000
	if $x == 10 then
		return -1
	endi

sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role

if $dnode1Role != master then
  goto step3
endi
if $dnode2Role != slave then
  goto step3
endi
if $dnode3Role != slave then
  goto step3
endi
if $dnode4Role != null then
  goto step3
endi


print ============== step4
system sh/exec.sh -n dnode4 -s start
sql create dnode $hostname4
$x = 0
step4: 
	$x = $x + 1
	sleep 1000
	if $x == 10 then
		return -1
	endi

sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role

if $dnode1Role != master then
  goto step4
endi
if $dnode2Role != slave then
  goto step4
endi
if $dnode3Role != slave then
  goto step4
endi
if $dnode4Role != null then
  goto step4
endi

print ============== step5
sql drop dnode $hostname2
$x = 0
step5: 
	$x = $x + 1
	sleep 1000
	if $x == 10 then
		return -1
	endi

sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role

if $dnode1Role != master then
  goto step5
endi
if $dnode2Role != null then
  goto step5
endi
if $dnode3Role != slave then
  goto step5
endi
if $dnode4Role != slave then
  goto step5
endi

system sh/exec.sh -n dnode2 -s stop
system sh/deploy.sh -n dnode2 -i 2
system sh/cfg.sh -n dnode2 -c numOfMnodes -v 3
system sh/exec.sh -n dnode2 -s start

print ============== step6
sql create dnode $hostname2
$x = 0
step6: 
	$x = $x + 1
	sleep 1000
	if $x == 10 then
		return -1
	endi

sql show mnodes
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role

if $dnode1Role != master then
  goto step6
endi
if $dnode2Role != null then
  goto step6
endi
if $dnode3Role != slave then
  goto step6
endi
if $dnode4Role != slave then
  goto step6
endi

print ============== step7
system sh/exec.sh -n dnode1 -s stop
$x = 0
step7: 
	$x = $x + 1
	sleep 1000
	if $x == 10 then
		return -1
	endi

sql show mnodes -x step7
$dnode1Role = $data2_1
$dnode2Role = $data2_2
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role

if $dnode1Role != offline then
  goto step7
endi

print ============== step8
sql drop dnode $hostname1
step8: 
	$x = $x + 1
	sleep 1000
	if $x == 10 then
		return -1
	endi

sql show mnodes -x step8
$dnode1Role = $data2_1
$dnode2Role = $data2_5
$dnode3Role = $data2_3
$dnode4Role = $data2_4
print dnode1 ==> $dnode1Role
print dnode2 ==> $dnode2Role
print dnode3 ==> $dnode3Role
print dnode4 ==> $dnode4Role

if $dnode1Role != null then
  goto step8
endi
if $dnode2Role != slave then
  goto step8
endi
#if $dnode3Role != master then
#  return -1
#endi
#if $dnode4Role != slave then
#  return -1
#endi

system sh/exec.sh -n dnode1 -s stop  -x SIGINT
system sh/exec.sh -n dnode2 -s stop  -x SIGINT
system sh/exec.sh -n dnode3 -s stop  -x SIGINT
system sh/exec.sh -n dnode4 -s stop  -x SIGINT
system sh/exec.sh -n dnode5 -s stop  -x SIGINT
system sh/exec.sh -n dnode6 -s stop  -x SIGINT
system sh/exec.sh -n dnode7 -s stop  -x SIGINT
system sh/exec.sh -n dnode8 -s stop  -x SIGINT