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] XendDomainInfo.py, XendDomain.py:

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] XendDomainInfo.py, XendDomain.py:
From: BitKeeper Bot <riel@xxxxxxxxxxx>
Date: Fri, 03 Jun 2005 16:17:30 +0000
Delivery-date: Thu, 09 Jun 2005 17:02:41 +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 Development List <xen-devel@xxxxxxxxxxxxxxxxxxx>
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
ChangeSet 1.1662.1.2, 2005/06/03 17:17:30+01:00, cl349@xxxxxxxxxxxxxxxxxxxx

        XendDomainInfo.py, XendDomain.py:
          Make create, recreate and restore XendDomainInfo class methods.
        XendDomain.py:
          Still need XendDomainInfo.
        PrettyPrint.py:
          Fix typo.
        xc.c:
          Cleanup whitespace.
        Signed-off-by: Mike Wray <mike.wray@xxxxxx>
        Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>



 lowlevel/xc/xc.c       |    3 -
 xend/PrettyPrint.py    |    2 
 xend/XendDomain.py     |    9 +--
 xend/XendDomainInfo.py |  133 +++++++++++++++++++++++++++++--------------------
 4 files changed, 86 insertions(+), 61 deletions(-)


diff -Nru a/tools/python/xen/lowlevel/xc/xc.c 
b/tools/python/xen/lowlevel/xc/xc.c
--- a/tools/python/xen/lowlevel/xc/xc.c 2005-06-09 13:03:40 -04:00
+++ b/tools/python/xen/lowlevel/xc/xc.c 2005-06-09 13:03:40 -04:00
@@ -833,6 +833,7 @@
       0, "\n"
       "Query the xc control interface file descriptor.\n\n"
       "Returns: [int] file descriptor\n" },
+
     { "domain_create", 
       (PyCFunction)pyxc_domain_create, 
       METH_VARARGS | METH_KEYWORDS, "\n"
@@ -844,7 +845,7 @@
       (PyCFunction)pyxc_domain_dumpcore, 
       METH_VARARGS | METH_KEYWORDS, "\n"
       "Dump core of a domain.\n"
-      " dom [int]: Identifier of domain to dump core of.\n\n"
+      " dom [int]: Identifier of domain to dump core of.\n"
       " corefile [string]: Name of corefile to be created.\n\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
diff -Nru a/tools/python/xen/xend/PrettyPrint.py 
b/tools/python/xen/xend/PrettyPrint.py
--- a/tools/python/xen/xend/PrettyPrint.py      2005-06-09 13:03:40 -04:00
+++ b/tools/python/xen/xend/PrettyPrint.py      2005-06-09 13:03:40 -04:00
@@ -285,7 +285,7 @@
         sxp.show(sxpr, out=out)
     print >> out
 
-def prettyprintstring(sxp, width=80):
+def prettyprintstring(sxpr, width=80):
     """Prettyprint an SXP form to a string.
 
     sxpr       s-expression
diff -Nru a/tools/python/xen/xend/XendDomain.py 
b/tools/python/xen/xend/XendDomain.py
--- a/tools/python/xen/xend/XendDomain.py       2005-06-09 13:03:40 -04:00
+++ b/tools/python/xen/xend/XendDomain.py       2005-06-09 13:03:40 -04:00
@@ -133,7 +133,7 @@
         @param info:      domain info from xen
         @return: domain
         """
-        dominfo = XendDomainInfo.vm_recreate(savedinfo, info)
+        dominfo = XendDomainInfo.recreate(savedinfo, info)
         self.domains[dominfo.id] = dominfo
         return dominfo
 
@@ -282,8 +282,7 @@
         @param config: configuration
         @return: domain
         """
-        dominfo = XendDomainInfo.vm_create(config)
-        self._add_domain(dominfo)
+        dominfo = XendDomainInfo.create(config)
         return dominfo
 
     def domain_restart(self, dominfo):
@@ -316,7 +315,7 @@
         @param vmconfig: vm configuration
         """
         config = sxp.child_value(vmconfig, 'config')
-        dominfo = XendDomainInfo.vm_restore(config)
+        dominfo = XendDomainInfo.restore(config)
         self._add_domain(dominfo)
         return dominfo
     
@@ -352,7 +351,7 @@
                 info = self.xen_domain(id)
                 if info:
                     log.info("Creating entry for unknown domain: id=%s", name)
-                    dominfo = XendDomainInfo.vm_recreate(None, info)
+                    dominfo = XendDomainInfo.recreate(None, info, unknown=True)
                     self._add_domain(dominfo)
             except Exception, ex:
                 log.exception("Error creating domain info: id=%s", name)
diff -Nru a/tools/python/xen/xend/XendDomainInfo.py 
b/tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py   2005-06-09 13:03:40 -04:00
+++ b/tools/python/xen/xend/XendDomainInfo.py   2005-06-09 13:03:40 -04:00
@@ -144,61 +144,7 @@
 
 def get_device_handler(name):
     return device_handlers[name]
-    
-
-def vm_create(config):
-    """Create a VM from a configuration.
-    If a vm has been partially created and there is an error it
-    is destroyed.
-
-    @param config    configuration
-    @raise: VmError for invalid configuration
-    """
-    vm = XendDomainInfo()
-    vm.construct(config)
-    return vm
 
-def vm_restore(config):
-    """Create a domain and a VM object to do a restore.
-
-    @param config:    domain configuration
-    """
-    vm = XendDomainInfo()
-    dom = xc.domain_create()
-    vm.dom_construct(dom, config)
-    return vm
-
-def vm_recreate(savedinfo, info):
-    """Create the VM object for an existing domain.
-
-    @param savedinfo: saved info from the domain DB
-    @type  savedinfo: sxpr
-    @param info:      domain info from xc
-    @type  info:      xc domain dict
-    """
-    log.debug('savedinfo=' + prettyprintstring(savedinfo))
-    log.debug('info=' + str(info))
-    vm = XendDomainInfo()
-    vm.recreate = True
-    vm.savedinfo = savedinfo
-    vm.setdom(info['dom'])
-    vm.memory = info['mem_kb']/1024
-    start_time = sxp.child_value(savedinfo, 'start_time')
-    if start_time is not None:
-        vm.start_time = float(start_time)
-    vm.restart_state = sxp.child_value(savedinfo, 'restart_state')
-    vm.restart_count = int(sxp.child_value(savedinfo, 'restart_count', 0))
-    restart_time = sxp.child_value(savedinfo, 'restart_time')
-    if restart_time is not None:
-        vm.restart_time = float(restart_time)
-    config = sxp.child_value(savedinfo, 'config')
-    if config:
-        vm.construct(config)
-    else:
-        vm.name = sxp.child_value(savedinfo, 'name', "Domain-%d" % info['dom'])
-    vm.recreate = False
-    vm.savedinfo = None
-    return vm
 
 def dom_get(dom):
     """Get info from xen for an existing domain.
@@ -218,9 +164,88 @@
     """
     MINIMUM_RESTART_TIME = 20
 
+    def _create(cls):
+        """Create a vm object.
+
+        @return vm
+        """
+        vm = cls()
+        return vm
+
+    _create = classmethod(_create)
+
+    def create(cls, config):
+        """Create a VM from a configuration.
+        If a vm has been partially created and there is an error it
+        is destroyed.
+
+        @param config    configuration
+        @raise: VmError for invalid configuration
+        """
+        vm = cls._create()
+        vm.construct(config)
+        return vm
+
+    create = classmethod(create)
+
+    def recreate(cls, savedinfo, info, unknown=False):
+        """Create the VM object for an existing domain.
+
+        @param savedinfo: saved info from the domain DB
+        @param info:      domain info from xc
+        @type  info:      xc domain dict
+        """
+        if unknown:
+            vm = cls._create()
+        else:
+            vm = cls()
+
+        log.debug('savedinfo=' + prettyprintstring(savedinfo))
+        log.debug('info=' + str(info))
+
+        vm.recreate = True
+        vm.savedinfo = savedinfo
+        vm.setdom(info['dom'])
+        vm.memory = info['mem_kb']/1024
+
+        start_time = sxp.child_value(savedinfo, 'start_time')
+        if start_time is not None:
+            vm.start_time = float(start_time)
+        vm.restart_state = sxp.child_value(savedinfo, 'restart_state')
+        vm.restart_count = int(sxp.child_value(savedinfo, 'restart_count', 0))
+        restart_time = sxp.child_value(savedinfo, 'restart_time')
+        if restart_time is not None:
+            vm.restart_time = float(restart_time)
+        config = sxp.child_value(savedinfo, 'config')
+
+        if config:
+            vm.construct(config)
+        else:
+            vm.name = sxp.child_value(savedinfo, 'name', "Domain-%d" % 
info['dom'])
+        vm.recreate = False
+        vm.savedinfo = None
+
+        return vm
+
+    recreate = classmethod(recreate)
+
+    def restore(cls, config):
+        """Create a domain and a VM object to do a restore.
+
+        @param config:    domain configuration
+        """
+        vm = cls._create()
+        dom = xc.domain_create()
+        vm.setdom(dom)
+        vm.dom_construct(dom, config)
+        return vm
+
+    restore = classmethod(restore)
+
     def __init__(self):
         self.recreate = 0
         self.restore = 0
+        
         self.config = None
         self.id = None
         self.dom = None

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

<Prev in Thread] Current Thread [Next in Thread>