WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] The various changes to move to using info instead of pas

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] The various changes to move to using info instead of passing the config
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 14 Nov 2005 18:58:11 +0000
Delivery-date: Mon, 14 Nov 2005 18:59:04 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User emellor@xxxxxxxxxxxxxxxxxxxxxx
# Node ID bffbe58801d01853b04967337f247b7f64af5fb4
# Parent  4f247dc79d0ae3ab31f84c6016650815fff0174c
The various changes to move to using info instead of passing the config
sxpr everywhere broke the use of a boot loader for booting with.  The
attached fixes things up so that
a) use of a bootloader ==> kernel not specified in the config file
b) don't cleanup bootloader files until after the domain has booted
c) rerun bootloader on reboot

Signed-off-by: Jeremy Katz <katzj@xxxxxxxxxx>

diff -r 4f247dc79d0a -r bffbe58801d0 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py   Sat Nov 12 17:52:16 2005
+++ b/tools/python/xen/xend/XendDomainInfo.py   Sat Nov 12 17:59:56 2005
@@ -1049,9 +1049,6 @@
                                   self.info['image'],
                                   self.info['device'])
 
-        if self.info['bootloader']:
-            self.image.handleBootloading()
-
         xc.domain_setcpuweight(self.domid, self.info['cpu_weight'])
 
         m = self.image.getDomainMemory(self.info['memory'] * 1024)
@@ -1073,6 +1070,9 @@
         self.introduceDomain()
 
         self.createDevices()
+
+        if self.info['bootloader']:
+            self.image.cleanupBootloading()
 
         self.info['start_time'] = time.time()
 
@@ -1238,6 +1238,7 @@
         False if it is to be destroyed.
         """
 
+        self.configure_bootloader()
         config = self.sxpr()
 
         if self.readVm(RESTART_IN_PROGRESS):
@@ -1340,8 +1341,9 @@
         # FIXME: this assumes the disk is the first device and
         # that we're booting from the first disk
         blcfg = None
+        config = self.sxpr()
         # FIXME: this assumes that we want to use the first disk
-        dev = sxp.child_value(self.config, "device")
+        dev = sxp.child_value(config, "device")
         if dev:
             disk = sxp.child_value(dev, "uname")
             fn = blkdev_uname_to_file(disk)
@@ -1351,7 +1353,7 @@
             msg = "Had a bootloader specified, but can't find disk"
             log.error(msg)
             raise VmError(msg)
-        self.config = sxp.merge(['vm', ['image', blcfg]], self.config)
+        self.info['image'] = sxp.to_string(blcfg)
 
 
     def send_sysrq(self, key):
diff -r 4f247dc79d0a -r bffbe58801d0 tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py    Sat Nov 12 17:52:16 2005
+++ b/tools/python/xen/xend/image.py    Sat Nov 12 17:59:56 2005
@@ -95,7 +95,7 @@
                         ("image/ramdisk", self.ramdisk))
 
 
-    def handleBootloading(self):
+    def cleanupBootloading(self):
         self.unlink(self.kernel)
         self.unlink(self.ramdisk)
 
diff -r 4f247dc79d0a -r bffbe58801d0 tools/python/xen/xm/create.py
--- a/tools/python/xen/xm/create.py     Sat Nov 12 17:52:16 2005
+++ b/tools/python/xen/xm/create.py     Sat Nov 12 17:59:56 2005
@@ -565,7 +565,7 @@
     file = blkif.blkdev_uname_to_file(uname)
 
     return bootloader(vals.bootloader, file, not vals.console_autoconnect,
-                      vals.vcpus, vals.blentry)
+                      vals.vcpus, vals.bootentry)
 
 def make_config(vals):
     """Create the domain configuration.
@@ -781,7 +781,7 @@
         vals.extra = vnc + ' ' + vals.extra
     
 def preprocess(vals):
-    if not vals.kernel:
+    if not vals.kernel and not vals.bootloader:
         err("No kernel specified")
     preprocess_disk(vals)
     preprocess_pci(vals)

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] The various changes to move to using info instead of passing the config, Xen patchbot -unstable <=