bugfixes
[sfa.git] / sfa / client / sfiAddSliver.py
index 1a8471e..84ffa8b 100755 (executable)
@@ -1,10 +1,13 @@
 #! /usr/bin/env python
 
 import sys
+
+from sfa.util.sfalogging import logger
 from sfa.client.sfi_commands import Commands
 from sfa.rspecs.rspec import RSpec
 from sfa.rspecs.version_manager import VersionManager
 
+logger.enable_console()
 command = Commands(usage="%prog [options] node1 node2...",
                    description="Add slivers to the RSpec. " +
                    "This command reads in an RSpec and outputs a modified " +
@@ -25,20 +28,18 @@ if command.opts.outfile:
     outfile=file(command.opts.outfile,"w")
 else:
     outfile=sys.stdout
-
-request_rspec = RSpec(infile)
+ad_rspec = RSpec(infile)
 nodes = file(command.opts.nodefile).read().split()
 version_manager = VersionManager()
 try:
-    type = request_rspec.version.type
-    version_num = request_rspec.version.version
-    manifest_version = version_manager._get_version(type, version_num, 'manifest')    
-    manifest_rspec = RSpec(version=manifest_version)
-    slivers = [{'hostname': node} for node in nodes]
-    manifest_rspec.version.merge(request_rspec)
-    manifest_rspec.version.add_slivers(slivers)
+    type = ad_rspec.version.type
+    version_num = ad_rspec.version.version
+    request_version = version_manager._get_version(type, version_num, 'request')    
+    request_rspec = RSpec(version=request_version)
+    request_rspec.version.merge(ad_rspec)
+    request_rspec.version.add_slivers(nodes)
 except:
-    print >> sys.stderr, "FAILED: %s" % nodes
+    logger.log_exc("sfiAddSliver failed with nodes %s" % nodes)
     sys.exit(1)
-print >>outfile, manifest_rspec.toxml()
+print >>outfile, request_rspec.toxml()
 sys.exit(0)