Merge branch 'senslab2' of ssh://git.f-lab.fr/git/sfa into senslab2
[sfa.git] / sfa / client / sfiDeleteSliver.py
index 67cd9d3..3dc50e6 100755 (executable)
@@ -1,9 +1,12 @@
 #! /usr/bin/env python
 
 import sys
+
+from sfa.util.sfalogging import logger
 from sfa.client.sfi_commands import Commands
-from sfa.rspecs.rspec_parser import parse_rspec
+from sfa.rspecs.rspec import RSpec
 
+logger.enable_console()
 command = Commands(usage="%prog [options] node1 node2...",
                    description="Delete slivers from the RSpec. " +
                    "This command reads in an RSpec and outputs a modified " +
@@ -12,7 +15,7 @@ command.add_nodefile_option()
 command.prep()
 
 if command.opts.infile:
-    rspec = parse_rspec(command.opts.infile)
+    rspec = RSpec(command.opts.infile)
     nodes = []
     if command.opts.nodefile:
         f = open(command.opts.nodefile, "r")
@@ -20,11 +23,12 @@ if command.opts.infile:
         f.close()
        
     try:
-        rspec.remove_slivers(nodes)
+        slivers = [{'hostname': node} for node in nodes]
+        rspec.version.remove_slivers(slivers)
+        print rspec.toxml()
     except:
-        print >> sys.stderr, "FAILED: %s"  
+        logger.log_exc("sfiDeleteSliver FAILED with nodes %s" % nodes)
 
-    print rspec.toxml()