# HG changeset patch # User igor@manas.xt.vpn # Date 1221727372 -10800 # Node ID 30671fe7fd797619db75c5adc3ce799468a86463 # Parent e80bdf496aa2ef9cf9d3609ac64e8018bec615e8 Now you can use 'domain' variable inside netowrk topology file diff -r e80bdf496aa2 -r 30671fe7fd79 xen-drbd-install.py --- a/xen-drbd-install.py Mon Sep 15 10:03:24 2008 +0300 +++ b/xen-drbd-install.py Thu Sep 18 11:42:52 2008 +0300 @@ -28,8 +28,7 @@ try: opts, args = getopt.getopt(sys.argv[1:], "hn:", ["help", "network="]) except getopt.GetoptError, err: - # print help information and exit: - print str(err) # will print something like "option -a not recognized" + print str(err) usage() sys.exit(2) @@ -47,10 +46,15 @@ sys.exit(1) try: - exec 'from %s import * ' % (network) -except ImportError: - print "Can't find or interpret module <%s> with topology description" %(network) - sys.exit(1) + execfile(network) +except IOError: + print "Network configuration file <%s> not found " % network + if network == 'network': + print "You can use -n option to specify network filename" + sys.exit(2) +except NameError: + domain=domains[0] + execfile(network) drbd_base_port=7790 diff -r e80bdf496aa2 -r 30671fe7fd79 xen-drbd-start.py --- a/xen-drbd-start.py Mon Sep 15 10:03:24 2008 +0300 +++ b/xen-drbd-start.py Thu Sep 18 11:42:52 2008 +0300 @@ -7,9 +7,10 @@ import sys -sys.path.append('/etc/xen') +#sys.path.append('/etc/xen') + try: - exec 'from %s import *' % (network) + execfile(network) except: print "Can't find or interpret module %s with topology description" %(network) sys.exit(1) @@ -28,8 +29,15 @@ stdvga=0 serial='pty' -memory=mem_table[domain] -vcpus=vcpus_table[domain] +try: + memory=mem_table[domain] +except: + pass + +try: + vcpus=vcpus_table[domain] +except: + pass disk=[] if domain_types[N] == 'hvm': diff -r e80bdf496aa2 -r 30671fe7fd79 xen-drbd.py --- a/xen-drbd.py Mon Sep 15 10:03:24 2008 +0300 +++ b/xen-drbd.py Thu Sep 18 11:42:52 2008 +0300 @@ -173,6 +173,8 @@ xen_domain="domain=\"%s\"\n" % (domain) + xen_domain xen_domain="network=\"%s\"\n" % (network) + xen_domain do_import('xen_domain_module',xen_domain) + #print "domain=\"%s\"\n" % (domain) + #print "network=\"%s\"\n" % (network) import xen_domain_module xen_domain_module.print_config() @@ -230,8 +232,7 @@ try: opts, args = getopt.getopt(sys.argv[1:], "hn:", ["help", "network="]) except getopt.GetoptError, err: - # print help information and exit: - print str(err) # will print something like "option -a not recognized" + print str(err) usage() sys.exit(2) @@ -247,14 +248,20 @@ debug=2 - +if len(args) == 2: + domain=args[1] sys.path.append('/etc/xen') try: - exec 'from %s import *' % (network) -except ImportError: - print "Can't find or interpret module <%s> with topology description" %(network) - sys.exit(1) + execfile(network) +except IOError: + print "Network configuration file <%s> not found " % network + if network == 'network': + print "You can use -n option to specify network filename" + sys.exit(2) +except NameError: + domain=domains[0] + execfile(network) xen_drbd_start="/etc/xen/xen-drbd-start" domain_create_line="xm create "+xen_drbd_start+" network="+network+" domain=%s"