xen-drbd
diff xen-drbd.py @ 26:e859a316802b
fixes + debug
author | igor |
---|---|
date | Tue Feb 19 19:11:25 2008 +0200 (2008-02-19) |
parents | 50d097b46c8d |
children | a1403dbe68c0 |
line diff
1.1 --- a/xen-drbd.py Tue Feb 19 18:32:26 2008 +0200 1.2 +++ b/xen-drbd.py Tue Feb 19 19:11:25 2008 +0200 1.3 @@ -1,6 +1,7 @@ 1.4 #!/usr/bin/python 1.5 1.6 network='od' 1.7 +debug=2 1.8 1.9 import sys,os,imp 1.10 from commands import mkarg 1.11 @@ -30,9 +31,11 @@ 1.12 1.13 def run_now(command,node=i_am): 1.14 if node == i_am: 1.15 - line=command+" > /dev/stderr" 1.16 + line=command+" > /dev/stderr 2>&1" 1.17 else: 1.18 - line="ssh %s %s < /dev/null > /dev/stderr" % (node,mkarg(command)) 1.19 + line="ssh %s %s < /dev/null > /dev/stderr 2>&1" % (node,mkarg(command)) 1.20 + if debug > 2: 1.21 + print "debug:", line 1.22 (p, child_stdout, child_stderr) = os.popen3(line) 1.23 output = child_stderr.read() 1.24 #p = os.popen(line) 1.25 @@ -56,17 +59,22 @@ 1.26 else: 1.27 disk.append((disk_description.split(':'))[1]) 1.28 return disk 1.29 - 1.30 1.31 def set_drbd_primary(domain, node=i_am): 1.32 + res="" 1.33 drbd_resources=get_drbd_resources(domain) 1.34 for drbd in drbd_resources: 1.35 - print run("drbdadm primary %s"%(drbd),node) 1.36 + res += run("drbdadm primary %s"%(drbd),node) 1.37 + print "DRBD resource <%s> on the node <%s> is <%s> now" % (drbd,node,get_drbd_state(drbd,node)) 1.38 + return res 1.39 1.40 def set_drbd_secondary(domain, node=i_am): 1.41 + res="" 1.42 drbd_resources=get_drbd_resources(domain) 1.43 for drbd in drbd_resources: 1.44 - print run("drbdadm secondary %s"%(drbd),node) 1.45 + res += run("drbdadm secondary %s"%(drbd),node) 1.46 + print "DRBD resource <%s> on the node <%s> is <%s> now" % (drbd,node,get_drbd_state(drbd,node)) 1.47 + return res 1.48 1.49 def get_domain_id(domain,node=i_am): 1.50 """ 1.51 @@ -107,9 +115,9 @@ 1.52 log_error("Domain %s is running already on the node %s" % (domain,he_is)) 1.53 return -1 1.54 another_node=the_peer_of(node) 1.55 - set_drbd_secondary(domain,another_node) 1.56 - set_drbd_primary(domain,node) 1.57 - run(domain_create_line % domain) 1.58 + print set_drbd_secondary(domain,another_node) 1.59 + print set_drbd_primary(domain,node) 1.60 + print run(domain_create_line % domain) 1.61 1.62 def migrate_domain_out(domain,node=i_am): 1.63 if (get_domain_id(domain,node) == -1):