Setup network devices in xenstore using xstransact.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
This commit is contained in:
cl349@firebug.cl.cam.ac.uk committed 2005-09-09 16:08:17 +00:00
1 parent 64f36ac6d0
commit 31f9bdd799
1 file changed
+21 -22
+21 -22
View File
@@ -47,6 +47,7 @@ from xen.xend.XendRoot import get_component
from xen.xend.uuid import getUuid
from xen.xend.xenstore import DBVar, XenNode, DBMap
from xen.xend.xenstore.xstransact import xstransact
"""Shutdown code for poweroff."""
DOMAIN_POWEROFF = 0
@@ -452,30 +453,28 @@ class XendDomainInfo:
mac = sxp.child_value(devconfig, 'mac')
ipaddr = _get_config_ipaddr(devconfig)
# create backend db
backdb = backdom.db.addChild("/backend/%s/%s/%d" %
(type, self.uuid, devnum))
backpath = "%s/backend/%s/%s/%d" % (backdom.path, type,
self.uuid, devnum)
frontpath = "%s/device/%s/%d" % (self.path, type, devnum)
# create frontend db
db = self.db.addChild("/device/%s/%d" % (type, devnum))
backdb['script'] = script
backdb['domain'] = self.name
backdb['mac'] = mac
backdb['bridge'] = bridge
frontt = xstransact(frontpath)
frontt.write('backend', backpath)
frontt.write('backend-id', "%i" % backdom.id)
frontt.write('handle', "%i" % devnum)
frontt.write('mac', mac)
frontt.commit()
backt = xstransact(backpath)
backt.write('script', script)
backt.write('domain', self.name)
backt.write('mac', mac)
backt.write('bridge', bridge)
if ipaddr:
backdb['ip'] = ' '.join(ipaddr)
backdb['frontend'] = db.getPath()
backdb['frontend-id'] = "%i" % self.id
backdb['handle'] = "%i" % devnum
backdb.saveDB(save=True)
db['backend'] = backdb.getPath()
db['backend-id'] = "%i" % backdom.id
db['handle'] = "%i" % devnum
db['mac'] = mac
db.saveDB(save=True)
backt.write('ip', ' '.join(ipaddr))
backt.write('frontend', frontpath)
backt.write('frontend-id', "%i" % self.id)
backt.write('handle', "%i" % devnum)
backt.commit()
return
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.