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] [xen-unstable] Revert 19961: breaks xend start on some s

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] Revert 19961: breaks xend start on some systems.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 24 Jul 2009 04:15:09 -0700
Delivery-date: Fri, 24 Jul 2009 04:15:43 -0700
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/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/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 Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1248433734 -3600
# Node ID 8af26fef898c88d1b929e597d3b232673b8e777d
# Parent  fa0b4af24e08e9fa12264d53df74d065ddc988ba
Revert 19961: breaks xend start on some systems.

Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 docs/xen-api/bibliography.tex           |    5 
 tools/python/xen/util/fileuri.py        |  273 --------------------------------
 docs/xen-api/revision-history.tex       |   58 ++++--
 docs/xen-api/xenapi-coversheet.tex      |    4 
 docs/xen-api/xenapi-datamodel.tex       |   91 ----------
 docs/xen-api/xenapi.tex                 |    2 
 tools/python/xen/xend/XendConfig.py     |   15 -
 tools/python/xen/xend/XendDomainInfo.py |    6 
 tools/python/xen/xend/image.py          |   11 -
 9 files changed, 50 insertions(+), 415 deletions(-)

diff -r fa0b4af24e08 -r 8af26fef898c docs/xen-api/bibliography.tex
--- a/docs/xen-api/bibliography.tex     Fri Jul 24 10:39:43 2009 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-\begin{thebibliography}{9}
-\bibitem[RFC2397]{RFC2397}
-Masinter L., \textbf{The "data" URL scheme}, RFC 2397, August 1998,
-Network Working Group, http://www.ietf.org/rfc/rfc2397.txt
-\end{thebibliography}
diff -r fa0b4af24e08 -r 8af26fef898c docs/xen-api/revision-history.tex
--- a/docs/xen-api/revision-history.tex Fri Jul 24 10:39:43 2009 +0100
+++ b/docs/xen-api/revision-history.tex Fri Jul 24 12:08:54 2009 +0100
@@ -1,49 +1,69 @@
 { \bf Revision History}
 
-% Please do not use minipages in a tabular environment; this results
-% in bad vertical alignment. 
-
-\begin{flushleft}
 \begin{center}
- \begin{tabular}{|l|l|l|>{\raggedright}p{7cm}|}
+ \begin{tabular}{|l|l|l|l|}
   \hline
   1.0.0 & 27th April 07 & Xensource et al. &
-     Initial Revision\tabularnewline
+   \begin{minipage}[t][.7cm]{7cm}
+     Initial Revision
+   \end{minipage}\\
   \hline
   1.0.1 & 10th Dec. 07 & S. Berger &
+   \begin{minipage}[t]{7cm}
+    \begin{flushleft}
      Added XSPolicy.reset\_xspolicy, VTPM.get\_other\_config,
-     VTPM.set\_otherconfig. ACMPolicy.get\_enforced\_binary 
methods.\tabularnewline
+     VTPM.set\_otherconfig. ACMPolicy.get\_enforced\_binary methods.
+    \end{flushleft}
+   \end{minipage}\\
   \hline
   1.0.2 & 25th Jan. 08 & J. Fehlig &
-     Added Crashed VM power state.\tabularnewline
+   \begin{minipage}[t]{7cm}
+    \begin{flushleft}
+     Added Crashed VM power state.
+    \end{flushleft}
+   \end{minipage}\\
   \hline
   1.0.3 & 11th Feb. 08 & S. Berger &
-     Added table of contents and hyperlink cross reference.\tabularnewline
+   \begin{minipage}[t]{7cm}
+    \begin{flushleft}
+     Added table of contents and hyperlink cross reference.
+    \end{flushleft}
+   \end{minipage}\\
   \hline
   1.0.4 & 23rd March 08 & S. Berger &
-     Added XSPolicy.can\_run\tabularnewline
+   \begin{minipage}[t]{7cm}
+    \begin{flushleft}
+     Added XSPolicy.can\_run
+    \end{flushleft}
+   \end{minipage}\\
   \hline
   1.0.5 & 17th Apr. 08 & S. Berger &
+   \begin{minipage}[t]{7cm}
+    \begin{flushleft}
      Added undocumented fields and methods for default\_netmask and
      default\_gateway to the Network class. Removed an unimplemented
      method from the XSPolicy class and removed the 'optional' from
-     'oldlabel' parameters.\tabularnewline
+     'oldlabel' parameters.
+    \end{flushleft}
+   \end{minipage}\\
   \hline
   1.0.6 & 24th Jul. 08 & Y. Iwamatsu &
+   \begin{minipage}[t]{7cm}
+    \begin{flushleft}
      Added definitions of new classes DPCI and PPCI. Updated the table
      and the diagram representing relationships between classes.
-     Added host.PPCIs and VM.DPCIs fields.\tabularnewline
+     Added host.PPCIs and VM.DPCIs fields.
+    \end{flushleft}
+   \end{minipage}\\
   \hline
   1.0.7 & 20th Oct. 08 & M. Kanno &
+   \begin{minipage}[t]{7cm}
+    \begin{flushleft}
      Added definitions of new classes DSCSI and PSCSI. Updated the table
      and the diagram representing relationships between classes.
-     Added host.PSCSIs and VM.DSCSIs fields.\tabularnewline
-  \hline
-  1.0.8 & 17th Jun. 09 & A. Florath &
-     Updated interactive session example.
-     Added description for \texttt{PV/kernel} and \texttt{PV/ramdisk}
-     parameters using URIs.\tabularnewline
+     Added host.PSCSIs and VM.DSCSIs fields.
+    \end{flushleft}
+   \end{minipage}\\
   \hline
  \end{tabular}
 \end{center}
-\end{flushleft}
diff -r fa0b4af24e08 -r 8af26fef898c docs/xen-api/xenapi-coversheet.tex
--- a/docs/xen-api/xenapi-coversheet.tex        Fri Jul 24 10:39:43 2009 +0100
+++ b/docs/xen-api/xenapi-coversheet.tex        Fri Jul 24 12:08:54 2009 +0100
@@ -17,12 +17,12 @@
 \newcommand{\coversheetlogo}{xen.eps}
 
 %% Document date
-\newcommand{\datestring}{17th June 2009}
+\newcommand{\datestring}{20th October 2008}
 
 \newcommand{\releasestatement}{Stable Release}
 
 %% Document revision
-\newcommand{\revstring}{API Revision 1.0.8}
+\newcommand{\revstring}{API Revision 1.0.7}
 
 %% Document authors
 \newcommand{\docauthors}{
diff -r fa0b4af24e08 -r 8af26fef898c docs/xen-api/xenapi-datamodel.tex
--- a/docs/xen-api/xenapi-datamodel.tex Fri Jul 24 10:39:43 2009 +0100
+++ b/docs/xen-api/xenapi-datamodel.tex Fri Jul 24 12:08:54 2009 +0100
@@ -1,6 +1,5 @@
 %
 % Copyright (c) 2006-2007 XenSource, Inc.
-% Copyright (c) 2009 flonatel GmbH & Co. KG
 %
 % Permission is granted to copy, distribute and/or modify this document under
 % the terms of the GNU Free Documentation License, Version 1.2 or any later
@@ -10,7 +9,6 @@
 % "GNU Free Documentation License" or the file fdl.tex.
 %
 % Authors: Ewan Mellor, Richard Sharp, Dave Scott, Jon Harrop.
-% Contributor: Andreas Florath
 %
 
 \chapter{API Reference}
@@ -1380,10 +1378,10 @@ the batch of events
 \newpage
 \section{Class: VM}
 \subsection{Fields for class: VM}
-\begin{longtable}{|llp{0.21\textwidth}p{0.33\textwidth}|}
+\begin{longtable}{|lllp{0.38\textwidth}|}
 \hline
 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM} \\
-\multicolumn{4}{|l|}{\parbox{11cm}{\em Description: A
+\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
 virtual machine (or 'guest').}} \\
 \hline
 Quals & Field & Type & Description \\
@@ -1415,8 +1413,8 @@ Quals & Field & Type & Description \\
 $\mathit{RO}_\mathit{run}$ &  {\tt DPCIs} & (DPCI ref) Set & pass-through PCI 
devices \\
 $\mathit{RO}_\mathit{run}$ &  {\tt DSCSIs} & (DSCSI ref) Set & 
half-virtualized SCSI devices \\
 $\mathit{RW}$ &  {\tt PV/bootloader} & string & name of or path to bootloader 
\\
-$\mathit{RW}$ &  {\tt PV/kernel} & string & URI of kernel \\
-$\mathit{RW}$ &  {\tt PV/ramdisk} & string & URI of initrd \\
+$\mathit{RW}$ &  {\tt PV/kernel} & string & path to the kernel \\
+$\mathit{RW}$ &  {\tt PV/ramdisk} & string & path to the initrd \\
 $\mathit{RW}$ &  {\tt PV/args} & string & kernel command-line arguments \\
 $\mathit{RW}$ &  {\tt PV/bootloader\_args} & string & miscellaneous arguments 
for the bootloader \\
 $\mathit{RW}$ &  {\tt HVM/boot\_policy} & string & HVM boot policy \\
@@ -1431,87 +1429,6 @@ Quals & Field & Type & Description \\
 $\mathit{RO}_\mathit{run}$ &  {\tt security/label} & string & the VM's 
security label \\
 \hline
 \end{longtable}
-\subsection{Parameter Details}
-\subsubsection{PV/kernel and PV/ramdisk}
-The \texttt{PV/kernel} and \texttt{PV/ramdisk} parameters should be
-specified as URIs with either a \texttt{file} or \texttt{data} scheme.
-
-The \texttt{file} scheme must be used when a file on the remote dom0
-should be used.  The remote dom0 is the one where the guest system
-should be started on. Only absolute filenames are supported, i.e. the
-string must start with \texttt{file://} appended with the absolute
-path.  This is typically used when the guest system use the same
-operating systems as the dom0 or there is some kind of shared storage
-for the images inside the dom0s.
-
-Note that for compatibility reasons it is possible --- but not
-recommended --- to leave out the scheme specification for
-\texttt{file}, i.e. \texttt{file:///some/path} and \texttt{/some/path}
-is equivalent.
-
-Examples (in python):
-
-Use kernel image which resides in the \texttt{/boot} directory:
-\begin{verbatim}
-xenapi.VM.create({ ...
-   'PV_kernel': 'file:///boot/vmlinuz-2.6.26-2-xen-686',
-   ... })
-\end{verbatim}
-
-Use ramdisk image which resides on a (shared) nfs directory:
-\begin{verbatim}
-xenapi.VM.create({ ...
-   'PV_ramdisk': 'file:///nfs/xen/debian/5.0.1/initrd.img-2.6.26-2-xen-686'
-   ... })
-\end{verbatim}
-
-When an image should be used which resides on the local system,
-i.e. the system where the XenAPI call is send from, it is possible to
-use the \texttt{data} URI scheme as described in \cite{RFC2397}.  The
-media-type must be set to \texttt{application/octet-stream}.
-Currently only base64 encoding is supported.  The URI must therefore
-start with \texttt{data:application/octet-stream;base64,} followed by
-the base64 encoded image.
-
-The \texttt{xen/util/fileuri.py} provides a helper function which
-takes a local filename as parameter and build up the correct URI from
-this.
-
-Examples (in python):
-
-Use kernel image specified inline:
-\begin{verbatim}
-xenapi.VM.create({ ...
-   'PV_kernel': 'data:application/octet-stream;base64,H4Zu....'
-      # most of base64 encoded data is omitted 
-   ... })
-\end{verbatim}
-
-Using the utility function:
-\begin{verbatim}
-from xen.util.fileuri import scheme_data
-xenapi.VM.create({ ...
-   'PV_kernel': scheme_data.create_from_file(
-       "/xen/guests/images/debian/5.0.1/vmlinuz-2.6.26-2-xen-686"),
-   ... })
-\end{verbatim}
-
-Currently when using the \texttt{data} URI scheme, a temporary file is
-created on the remote dom0 in the directory
-\texttt{/var/run/xend/boot} which is then used for booting. When not
-used any longer the file is deleted.  (Therefore reading of the
-\texttt{PV/kernel} or \texttt{PV/ramdisk} parameters when created with
-a \texttt{data} URI scheme returns a filename to a temporary file ---
-which might even not exists when querying.)  This implementation might
-change in the way that the data is directly used --- without the
-indirection using a file.  Therefore do not rely on the data resulting
-from a read of a variables which was set using the \texttt{data}
-scheme.
-
-Note: a mix of different schemes for the parameters is possible; e.g.
-the kernel can be specified with a \texttt{file} and the ramdisk with
-the \texttt{data} URI scheme.
-
 \subsection{RPCs associated with class: VM}
 \subsubsection{RPC name:~clone}
 
diff -r fa0b4af24e08 -r 8af26fef898c docs/xen-api/xenapi.tex
--- a/docs/xen-api/xenapi.tex   Fri Jul 24 10:39:43 2009 +0100
+++ b/docs/xen-api/xenapi.tex   Fri Jul 24 12:08:54 2009 +0100
@@ -18,7 +18,6 @@
 \usepackage{longtable}
 \usepackage{fancyhdr}
 \usepackage{hyperref}
-\usepackage{array}
 
 \setlength\topskip{0cm}
 \setlength\topmargin{0cm}
@@ -55,6 +54,5 @@ Xen-enabled host.
 \include{vm-lifecycle}
 \include{xenapi-datamodel}
 \include{fdl}
-\include{bibliography}
 
 \end{document}
diff -r fa0b4af24e08 -r 8af26fef898c tools/python/xen/util/fileuri.py
--- a/tools/python/xen/util/fileuri.py  Fri Jul 24 10:39:43 2009 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-#============================================================================
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of version 2.1 of the GNU Lesser General Public
-# License as published by the Free Software Foundation.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#============================================================================
-# Copyright (C) 2009 flonatel GmbH & Co. KG
-#============================================================================
-
-import logging
-import os
-import base64
-import tempfile
-import stat
-from xen.xend.XendLogging import log
-from xen.util import mkdir
-# The following are needed for unit-testing only
-import unittest
-
-#
-# This functions and classes can be used where a filename is expected -
-# especially in the xenapi.VM.create() for PV_kernel and PV_ramdisk.
-#
-# The functions have a backward compatibility mode, i.e. when there is
-# no appropriate scheme detected, the data is seens as a path to a
-# (local) file.
-#
-
-class scheme_error(Exception):
-    def __init__(self, value):
-        self.value = value
-    def __str__(self):
-        return repr(self.value)
-
-# Data scheme (as defined in RFC 2397):
-#  data:application/octet-stream;base64,<base64 encoded data>
-# It looks that there is currently no general purpose implementation
-# available (in python) for this URL scheme - so the very basic is
-# done here.
-#
-# Limitations
-# o Only base64 is currently supported
-class scheme_data:
-
-    def encode(data, mediatype = 'application/octet-stream', 
-               encoding = 'base64'):
-        # XXX Limit this to base64 for current implementation
-        if encoding!='base64':
-            raise scheme_error("invalid encoding")
-        return 'data:' + mediatype + ";" + encoding \
-            + "," + base64.b64encode(data)
-    encode = staticmethod(encode)
-
-    # Private method: parse encoded data
-    def parse(encoded_data):
-        if not isinstance(encoded_data, str):
-            raise scheme_error("encoded data has wrong type")
-        if not encoded_data.startswith('data:'):
-            raise scheme_error("'data:' scheme declaration missing")
-        comma = encoded_data.find(',', 5)
-        if comma == -1:
-            raise scheme_error("data separator (comma) is missing")
-        # Cut off the media type and encoding
-        mtenc = encoded_data[5:comma]
-        if len(mtenc)==0:
-            raise scheme_error("encoding is empty")
-        # XXX Limit to base64 encoding
-        if not mtenc.endswith(';base64'):
-            raise scheme_error("encoding is not base64")
-        mediatype = mtenc[:-7]
-        return (mediatype, 'base64', comma+1)
-    parse = staticmethod(parse)
-
-    # Stores the data in a local file and returns the filename
-    # and a flag if this file in temporary only and must be deleted
-    # after starting the VM.
-    def decode(encoded_data):
-        mkdir.parents("/var/run/xend/boot/", stat.S_IRWXU)
-        mediatype, encoding, data_start = scheme_data.parse(encoded_data)
-        fd, filename = tempfile.mkstemp(
-            prefix="data_uri_file.", dir="/var/run/xend/boot")
-        os.write(fd, base64.b64decode(encoded_data[data_start:]))
-        os.close(fd)
-        return filename, True
-    decode = staticmethod(decode)
-
-    # Utility function which reads in the given (local) file and
-    # creates a data scheme from this.
-    def create_from_file(filename):
-        try:
-            f = open(filename, "r")
-            d = f.read()
-            f.close()
-            return scheme_data.encode(d)
-        except IOError:
-            raise scheme_error("file does not exists")
-    create_from_file = staticmethod(create_from_file)
-
-class scheme_data_unit_tests(unittest.TestCase):
-
-    def check_basic_encoding(self):
-        "scheme_data - basic encoding"
-        sd = scheme_data.encode('Hello!')
-        self.assertEqual(sd, 'data:application/octet-stream;base64,SGVsbG8h')
-
-    def check_encoding_with_given_mediatype(self):
-        "scheme_data - encoding with given media name"
-        sd = scheme_data.encode('Hello!', 'application/x-my-linux-kernel')
-        self.assertEqual(sd,
-              'data:application/x-my-linux-kernel;base64,SGVsbG8h')
-
-    def check_parse_01(self):
-        "scheme_data - parsing of None"
-        self.assertRaises(scheme_error, scheme_data.parse, None)
-
-    def check_parse_02(self):
-        "scheme_data - parsing of empty string"
-        self.assertRaises(scheme_error, scheme_data.parse, "")
-
-    def check_parse_03(self):
-        "scheme_data - parsing of unstructured data"
-        self.assertRaises(scheme_error, scheme_data.parse, "akskdjdfhezezu")
-
-    def check_parse_04(self):
-        "scheme_data - data: is not at the first place"
-        self.assertRaises(scheme_error, scheme_data.parse, 'ggdata:sossm')
-
-    def check_parse_05(self):
-        "scheme_data - no comma in data"
-        self.assertRaises(scheme_error, scheme_data.parse, 'data:sossm')
-
-    def check_parse_06(self):
-        "scheme_data - encoding is empty"
-        self.assertRaises(scheme_error, scheme_data.parse, 'data:,')
-
-    def check_parse_07(self):
-        "scheme_data - unknown encoding"
-        self.assertRaises(scheme_error, scheme_data.parse,
-                          'data:somemediatype;unknown,')
-
-    def check_parse_08(self):
-        "scheme_data - parse ok - empty data"
-        mediatype, encoding, data_start = scheme_data.parse(
-            'data:somemedia;base64,')
-        self.assertEqual(mediatype, 'somemedia')
-        self.assertEqual(encoding, 'base64')
-        self.assertEqual(data_start, 22)
-
-    def check_parse_09(self):
-        "scheme_data - parse ok - some data"
-        mediatype, encoding, data_start = scheme_data.parse(
-            'data:somemedia;base64,HereComesTheSun')
-        self.assertEqual(mediatype, 'somemedia')
-        self.assertEqual(encoding, 'base64')
-        self.assertEqual(data_start, 22)
-
-    def check_cff_file_does_not_exist(self):
-        "scheme_data - create from file - non existent file"
-        self.assertRaises(scheme_error, scheme_data.create_from_file,
-                          "/there/is/hopefully/no/file/like/this")
-
-    def check_cff_ok(self):
-        "scheme_data - create from file - ok"
-        tmppath = "/tmp/scheme_data_check_cff_ok"
-        f = open(tmppath, "w")
-        f.write("huhuhu")
-        f.close()
-        d = scheme_data.create_from_file(tmppath)
-        os.unlink(tmppath)
-        self.assertEqual(d, "data:application/octet-stream;base64,aHVodWh1")
-
-# File Scheme
-# This class supports absolut paths only.
-class scheme_file:
-
-    def encode(filename):
-        if len(filename) == 0:
-            raise scheme_error("filename is empty")
-        if filename[0] != '/':
-            raise scheme_error("filename is not absolut")
-        return 'file://' + filename
-    encode = staticmethod(encode)
-
-    def decode(encoded_data):
-        if not encoded_data.startswith("file://"):
-            raise scheme_error("no file:// scheme found")
-        path = encoded_data[7:]
-        if len(path)==0:
-            raise scheme_error("path is empty")
-        if path[0]!='/':
-            raise scheme_error("path is not absolute")
-        return path, False
-    decode = staticmethod(decode)
-
-class scheme_file_unit_tests(unittest.TestCase):
-
-    def check_encode_empty_filename(self):
-        "scheme_file - encode empty filename"
-        self.assertRaises(scheme_error, scheme_file.encode, "")
-
-    def check_encode_relative_filename(self):
-        "scheme_file - encode relative filename"
-        self.assertRaises(scheme_error, scheme_file.encode, "../there")
-
-    def check_encode_absolut_filename(self):
-        "scheme_file - encode absolut filename"
-        self.assertEqual(
-            scheme_file.encode("/here/and/there/again"),
-            'file:///here/and/there/again')
-
-    def check_decode_01(self):
-        "scheme_file - decode empty data"
-        self.assertRaises(scheme_error, scheme_file.decode, "")
-
-    def check_decode_02(self):
-        "scheme_file - decode data with no file:// at the beginning (1)"
-        self.assertRaises(scheme_error, scheme_file.decode,
-                          "phonehome://bbbb")
-
-    def check_decode_03(self):
-        "scheme_file - decode data with no file:// at the beginning (2)"
-        self.assertRaises(scheme_error, scheme_file.decode,
-                          "file:/bbbb")
-
-    def check_decode_04(self):
-        "scheme_file - decode empty path"
-        self.assertRaises(scheme_error, scheme_file.decode,
-                          "file://")
-
-    def check_decode_05(self):
-        "scheme_file - decode empty relative path"
-        self.assertRaises(scheme_error, scheme_file.decode,
-                          "file://somewhere")
-
-    def check_decode_06(self):
-        "scheme_file - decode ok"
-        path, tmp_file = scheme_file.decode("file:///boot/vmlinuz")
-        self.assertEqual(path, "/boot/vmlinuz")
-        self.assertEqual(tmp_file, False)
-
-class scheme_set:
-
-    def __init__(self):
-        self.schemes = [scheme_data, scheme_file]
-
-    def decode(self, uri):
-        for scheme in self.schemes:
-            try:
-                # If this passes, it is the correct scheme
-                return scheme.decode(uri)
-            except scheme_error, se:
-                log.debug("Decode throws an error: '%s'" % se)
-        return uri, False
-        
-schemes = scheme_set()
-
-
-def suite():
-    return unittest.TestSuite(
-        [unittest.makeSuite(scheme_data_unit_tests, 'check_'),
-         unittest.makeSuite(scheme_file_unit_tests, 'check_'),])
-
-if __name__ == "__main__":
-    testresult = unittest.TextTestRunner(verbosity=3).run(suite())
-
diff -r fa0b4af24e08 -r 8af26fef898c tools/python/xen/xend/XendConfig.py
--- a/tools/python/xen/xend/XendConfig.py       Fri Jul 24 10:39:43 2009 +0100
+++ b/tools/python/xen/xend/XendConfig.py       Fri Jul 24 12:08:54 2009 +0100
@@ -41,7 +41,6 @@ from xen.xend.XendSXPDev import dev_dict
 from xen.xend.XendSXPDev import dev_dict_to_sxp
 from xen.util import xsconstants
 from xen.util import auxbin
-import xen.util.fileuri
 
 log = logging.getLogger("xend.XendConfig")
 log.setLevel(logging.WARN)
@@ -338,8 +337,6 @@ class XendConfig(dict):
         elif dominfo:
             # output from xc.domain_getinfo
             self._dominfo_to_xapi(dominfo, update_mem = True)
-
-        self.handle_fileuris()
 
         log.debug('XendConfig.init: %s' % scrub_password(self))
 
@@ -2002,14 +1999,10 @@ class XendConfig(dict):
             self['_temp_kernel'] = sxp.child_value(image_sxp, 'kernel','')
             self['_temp_ramdisk'] = sxp.child_value(image_sxp, 'ramdisk','')
             self['_temp_args'] = kernel_args
-            self['use_tmp_kernel'] = True
-            self['use_tmp_ramdisk'] = True
         else:
             self['PV_kernel'] = sxp.child_value(image_sxp, 'kernel','')
             self['PV_ramdisk'] = sxp.child_value(image_sxp, 'ramdisk','')
             self['PV_args'] = kernel_args
-            self['use_tmp_kernel'] = False
-            self['use_tmp_ramdisk'] = False
 
         self['superpages'] = sxp.child_value(image_sxp, 'superpages',0)
 
@@ -2083,11 +2076,3 @@ class XendConfig(dict):
                 pci.append([domain, bus, slot, func, vdevfn, opts])
         self['platform']['pci'] = pci
 
- 
-    def handle_fileuris(self):
-        for arg in [('PV_kernel', 'use_tmp_kernel'), 
-                    ('PV_ramdisk', 'use_tmp_ramdisk')]:
-            if self[arg[0]]:
-                self[arg[0]], self[arg[1]] \
-                    = xen.util.fileuri.schemes.decode(self[arg[0]])
-                log.debug("fileuri '%s' = '%s'" % (arg[0], self[arg[0]][:100]))
diff -r fa0b4af24e08 -r 8af26fef898c tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py   Fri Jul 24 10:39:43 2009 +0100
+++ b/tools/python/xen/xend/XendDomainInfo.py   Fri Jul 24 12:08:54 2009 +0100
@@ -2634,7 +2634,7 @@ class XendDomainInfo:
 
             self._createDevices()
 
-            self.image.cleanupTmpImages()
+            self.image.cleanupBootloading()
 
             self.info['start_time'] = time.time()
 
@@ -2642,12 +2642,12 @@ class XendDomainInfo:
         except VmError, exn:
             log.exception("XendDomainInfo.initDomain: exception occurred")
             if self.image:
-                self.image.cleanupTmpImages()
+                self.image.cleanupBootloading()
             raise exn
         except RuntimeError, exn:
             log.exception("XendDomainInfo.initDomain: exception occurred")
             if self.image:
-                self.image.cleanupTmpImages()
+                self.image.cleanupBootloading()
             raise VmError(str(exn))
 
 
diff -r fa0b4af24e08 -r 8af26fef898c tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py    Fri Jul 24 10:39:43 2009 +0100
+++ b/tools/python/xen/xend/image.py    Fri Jul 24 12:08:54 2009 +0100
@@ -89,8 +89,6 @@ class ImageHandler:
         self.vm = vm
 
         self.bootloader = False
-        self.use_tmp_kernel = False
-        self.use_tmp_ramdisk = False
         self.kernel = None
         self.ramdisk = None
         self.cmdline = None
@@ -108,10 +106,6 @@ class ImageHandler:
             self.kernel = vmConfig['PV_kernel']
             self.cmdline = vmConfig['PV_args']
             self.ramdisk = vmConfig['PV_ramdisk']
-        if vmConfig['use_tmp_kernel']:
-            self.use_tmp_ramdisk = True
-        if vmConfig['use_tmp_ramdisk']:
-            self.use_tmp_kernel = True
         self.vm.storeVm(("image/ostype", self.ostype),
                         ("image/kernel", self.kernel),
                         ("image/cmdline", self.cmdline),
@@ -141,10 +135,9 @@ class ImageHandler:
         if 'cpuid_check' in vmConfig:
             self.cpuid_check = vmConfig['cpuid_check']
 
-    def cleanupTmpImages(self):
-        if self.use_tmp_kernel:
+    def cleanupBootloading(self):
+        if self.bootloader:
             self.unlink(self.kernel)
-        if self.use_tmp_ramdisk:
             self.unlink(self.ramdisk)
 
 

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] Revert 19961: breaks xend start on some systems., Xen patchbot-unstable <=