system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/deploy.sh -n dnode2 -i 2
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
sql connect

print =============== select * from information_schema.ins_dnodes
sql select * from information_schema.ins_mnodes;
if $rows != 1 then 
  return -1
endi

if $data00 != 1 then 
  return -1
endi

if $data02 != leader then 
  return -1
endi

print =============== create dnodes
sql create dnode $hostname port 7200
$x = 0
step1: 
	$x = $x + 1
	sleep 500
	if $x == 20 then
		return -1
	endi
sql select * from information_schema.ins_dnodes -x step1
if $data(1)[4] != ready then
  goto step1
endi
if $data(2)[4] != ready then
  goto step1
endi

sql_error create mnode on dnode 1
sql_error drop mnode on dnode 1

print =============== create mnode 2
sql create mnode on dnode 2

$x = 0
step2: 
	$x = $x + 1
	sleep 1000
	if $x == 20 then
		return -1
	endi
sql select * from information_schema.ins_mnodes
print $data(1)[0] $data(1)[1] $data(1)[2] 
print $data(2)[0] $data(2)[1] $data(2)[2] 

if $rows != 2 then 
  return -1
endi
if $data(1)[0] != 1 then 
  return -1
endi
if $data(1)[2] != leader then 
  return -1
endi
if $data(2)[0] != 2 then 
  return -1
endi
if $data(2)[2] != follower then 
  goto step2
endi

sleep 2000
print ============ drop mnode 2
sql drop mnode on dnode 2
sql select * from information_schema.ins_mnodes
if $rows != 1 then 
  return -1
endi
sql_error drop mnode on dnode 2

$x = 0
step2: 
	$x = $x + 1
	sleep 1000
	if $x == 20 then
		return -1
	endi
sql select * from information_schema.ins_mnodes
print $data(1)[0] $data(1)[1] $data(1)[2] 
print $data(2)[0] $data(2)[1] $data(2)[2] 

if $rows != 1 then 
  return -1
endi
if $data(1)[0] != 1 then 
  return -1
endi
if $data(1)[2] != leader then 
  return -1
endi
if $data(2)[0] != null then 
  goto step2
endi
if $data(2)[2] != null then 
  goto step2
endi

sleep 2000

print =============== create mnodes
sql create mnode on dnode 2
sql select * from information_schema.ins_mnodes
if $rows != 2 then 
  return -1
endi

$x = 0
step3: 
	$x = $x + 1
	sleep 1000
	if $x == 20 then
		return -1
	endi
sql select * from information_schema.ins_mnodes
print $data(1)[0] $data(1)[1] $data(1)[2] 
print $data(2)[0] $data(2)[1] $data(2)[2] 

if $rows != 2 then 
  return -1
endi
if $data(1)[0] != 1 then 
  return -1
endi
if $data(1)[2] != leader then 
  return -1
endi
if $data(2)[0] != 2 then 
  return -1
endi
if $data(2)[2] != follower then 
  goto step3
endi

system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
