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] [XENAPI] Make vm-destroy consistent with

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [XENAPI] Make vm-destroy consistent with API naming. Moved what is
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 02 Nov 2006 22:09:02 +0000
Delivery-date: Thu, 02 Nov 2006 21:42:27 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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 Alastair Tse <atse@xxxxxxxxxxxxx>
# Node ID 41ca10996ce741be07f690b44bf4819ef961857c
# Parent  e6162aeb0f89131a75a35fa467668ba61af62827
[XENAPI] Make vm-destroy consistent with API naming. Moved what is
known as xm destroy to vm-shutdown --force.

Signed-off-by: Alastair Tse <atse@xxxxxxxxxxxxx>
---
 tools/python/scripts/xapi.py |   51 ++++++++++++++++++++-----------------------
 1 files changed, 24 insertions(+), 27 deletions(-)

diff -r e6162aeb0f89 -r 41ca10996ce7 tools/python/scripts/xapi.py
--- a/tools/python/scripts/xapi.py      Fri Oct 13 17:33:34 2006 +0100
+++ b/tools/python/scripts/xapi.py      Fri Oct 13 17:34:13 2006 +0100
@@ -44,12 +44,11 @@ COMMANDS = {
     'vif-create': ('<domname> <pycfg>', 'Create VIF attached to domname'),
 
     'vm-create': ('<pycfg>', 'Create VM with python config'),
-    'vm-delete': ('<domname>', 'Delete VM'),
-    
-    'vm-destroy': ('<name>', 'Hard shutdown a VM with name'),
+    'vm-destroy': ('<domname>', 'Delete VM'),
+    
     'vm-list':   ('[--long]', 'List all domains.'),
     'vm-name':   ('<uuid>', 'Name of UUID.'),
-    'vm-shutdown': ('<name>', 'Shutdown VM with name'),
+    'vm-shutdown': ('<name> [opts]', 'Shutdown VM with name'),
     'vm-start':  ('<name>', 'Start VM with name'),
     'vm-uuid':   ('<name>', 'UUID of a domain by name.'),    
 }
@@ -59,6 +58,8 @@ OPTIONS = {
                  {'action':'store_true',
                   'help':'List all properties of VMs'})
                ],
+    'vm-shutdown': [(('-f', '--force'), {'help': 'Shutdown Forcefully',
+                                         'action': 'store_true'})],
     
     'vdi-create': [(('--label',), {'help': 'Name for VDI'}),
                    (('--description',), {'help': 'Description for VDI'}),
@@ -103,7 +104,7 @@ class IterableValues(Values):
             yield opt, val        
 
 
-def parse_args(cmd_name, args):
+def parse_args(cmd_name, args, set_defaults = False):
     argstring, desc = COMMANDS[cmd_name]
     parser = OptionParser(usage = 'xapi %s %s' % (cmd_name, argstring),
                           description = desc)
@@ -111,8 +112,11 @@ def parse_args(cmd_name, args):
         for optargs, optkwds in OPTIONS[cmd_name]:
             parser.add_option(*optargs, **optkwds)
 
-    default_values = parser.get_default_values()
-    defaults = IterableValues(default_values.__dict__)
+    if set_defaults:
+        default_values = parser.get_default_values()
+        defaults = IterableValues(default_values.__dict__)
+    else:
+        defaults = IterableValues()
     (opts, extraargs) = parser.parse_args(args = list(args),
                                           values = defaults)
     return opts, extraargs
@@ -180,7 +184,7 @@ def xapi_vm_name(*args):
     print vm_name
 
 def xapi_vm_list(*args):
-    opts, args = parse_args('vm-list', args)
+    opts, args = parse_args('vm-list', args, set_defaults = True)
     is_long = opts and opts.long
     
     server, session = _connect()
@@ -224,7 +228,7 @@ def xapi_vm_create(*args):
     print 'Done. (%s)' % uuid
     print uuid
 
-def xapi_vm_delete(*args):
+def xapi_vm_destroy(*args):
     if len(args) < 1:
         raise OptionError("No domain name specified.")
     
@@ -246,24 +250,20 @@ def xapi_vm_start(*args):
     print 'Done.'
 
 def xapi_vm_shutdown(*args):
+    opts, args = parse_args("vm-shutdown", args, set_defaults = True)
+    
     if len(args) < 1:
         raise OptionError("No Domain name specified.")
 
     server, session = _connect()
     vm_uuid = resolve_vm(server, session, args[0])
-    print 'Shutting down VM %s (%s)' % (args[0], vm_uuid)
-    success = execute(server.VM.clean_shutdown, session, vm_uuid)
-    print 'Done.'
-
-def xapi_vm_destroy(*args):
-    if len(args) < 1:
-        raise OptionError("No Domain name specified.")
-
-    server, session = _connect()
-    vm_uuid = resolve_vm(server, session, args[0])
-    print 'Shutting down VM with force %s (%s)' % (args[0], vm_uuid)
-    success = execute(server.VM.hard_shutdown, session, vm_uuid)
-    print 'Done.'    
+    if opts.force:
+        print 'Forcefully shutting down VM %s (%s)' % (args[0], vm_uuid)
+        success = execute(server.VM.hard_shutdown, session, vm_uuid)
+    else:
+        print 'Shutting down VM %s (%s)' % (args[0], vm_uuid)
+        success = execute(server.VM.clean_shutdown, session, vm_uuid)
+    print 'Done.'
 
 def xapi_vbd_create(*args):
     if len(args) < 2:
@@ -273,11 +273,9 @@ def xapi_vbd_create(*args):
     domname = args[0]
     filename = args[1]
 
-    cfg = {}
+    cfg = _read_python_cfg(filename)    
     for opt, val in opts:
         cfg[opt] = val
-    cfg.update(_read_python_cfg(filename))
-    
     
     print 'Creating VBD from %s ..' % filename
     server, session = _connect()
@@ -332,10 +330,9 @@ def xapi_vdi_create(*args):
     if len(args) < 1:
         raise OptionError("Not enough arguments.")
 
-    cfg = {}
+    cfg = _read_python_cfg(args[0])
     for opt, val in opts:
         cfg[opt] = val
-    cfg.update(_read_python_cfg(args[0]))
 
     server, session = _connect()
     srs = execute(server.SR.get_all, session)

_______________________________________________
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] [XENAPI] Make vm-destroy consistent with API naming. Moved what is, Xen patchbot-unstable <=