use sfa.rspec.rspec.RSpec to parse rspecs instead sfa.rspecs.rspec_parser
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Mon, 3 Oct 2011 19:47:22 +0000 (15:47 -0400)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Mon, 3 Oct 2011 19:47:22 +0000 (15:47 -0400)
sfa/client/sfiAddSliver.py
sfa/client/sfiDeleteSliver.py
sfa/client/sfiListNodes.py
sfa/client/sfiListSlivers.py

index a96c678..0bdbadd 100755 (executable)
@@ -2,7 +2,8 @@
 
 import sys
 from sfa.client.sfi_commands import Commands
-from sfa.rspecs.rspec_parser import parse_rspec
+from sfa.rspecs.rspec import RSpec
+from sfa.rspecs.version_manager import VersionManager
 
 command = Commands(usage="%prog [options] node1 node2...",
                    description="Add slivers to the RSpec. " +
@@ -25,16 +26,19 @@ if command.opts.outfile:
 else:
     outfile=sys.stdout
 
-rspec = parse_rspec(infile)
-rspec.type = 'request'
+request_rspec = RSpec(infile)
 nodes = file(command.opts.nodefile).read().split()
+version_manager = VersionManager()
 try:
-    if rspec.version['type'].lower() == 'protogeni':
-        rspec.xml.set('type', 'request')
+    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]
-    rspec.add_slivers(slivers)
+    manifest_rspec.version.merge(request_rspec)
+    manifest_rspec.version.add_slivers(slivers)
 except:
     print >> sys.stderr, "FAILED: %s" % nodes
     sys.exit(1)
-print >>outfile, rspec.toxml(cleanup=True)
+print >>outfile, manifest_rspec.toxml(cleanup=True)
 sys.exit(0)
index 5b4f70b..be10f0b 100755 (executable)
@@ -2,7 +2,7 @@
 
 import sys
 from sfa.client.sfi_commands import Commands
-from sfa.rspecs.rspec_parser import parse_rspec
+from sfa.rspecs.rspec import RSpec
 
 command = Commands(usage="%prog [options] node1 node2...",
                    description="Delete slivers from the RSpec. " +
@@ -12,7 +12,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")
@@ -21,11 +21,11 @@ if command.opts.infile:
        
     try:
         slivers = [{'hostname': node} for node in nodes]
-        rspec.remove_slivers(slivers)
+        rspec.version.remove_slivers(slivers)
+        print rspec.toxml()
     except:
         print >> sys.stderr, "FAILED: %s" % nodes 
 
-    print rspec.toxml()
     
 
     
index 305bf25..f9e794b 100755 (executable)
@@ -2,7 +2,7 @@
 
 import sys
 from sfa.client.sfi_commands import Commands
-from sfa.rspecs.rspec_parser import parse_rspec 
+from sfa.rspecs.rspec import RSpec 
 
 command = Commands(usage="%prog [options]",
                    description="List all nodes in the RSpec. " + 
@@ -11,8 +11,8 @@ command = Commands(usage="%prog [options]",
 command.prep()
 
 if command.opts.infile:
-    rspec = parse_rspec(command.opts.infile)
-    nodes = rspec.get_nodes()
+    rspec = RSpec(command.opts.infile)
+    nodes = rspec.version.get_nodes()
     if command.opts.outfile:
         sys.stdout = open(command.opts.outfile, 'w')
     
index 08173ec..cf76823 100755 (executable)
@@ -2,7 +2,7 @@
 
 import sys
 from sfa.client.sfi_commands import Commands
-from sfa.rspecs.rspec_parser import parse_rspec
+from sfa.rspecs.rspec import RSpec
 
 command = Commands(usage="%prog [options]",
                    description="List all slivers in the RSpec. " + 
@@ -12,11 +12,11 @@ command.add_show_attributes_option()
 command.prep()
 
 if command.opts.infile:
-    rspec = parse_rspec(command.opts.infile)
-    nodes = rspec.get_nodes_with_slivers()
+    rspec = RSpec(command.opts.infile)
+    nodes = rspec.version.get_nodes_with_slivers()
     
     if command.opts.showatt:
-        defaults = rspec.get_default_sliver_attributes()
+        defaults = rspec.version.get_default_sliver_attributes()
         if defaults:
             print "ALL NODES"
             for (name, value) in defaults:
@@ -25,7 +25,7 @@ if command.opts.infile:
     for node in nodes:
         print node
         if command.opts.showatt:
-            atts = rspec.get_sliver_attributes(node)
+            atts = rspec.version.get_sliver_attributes(node)
             for (name, value) in atts:
                 print "  %s: %s" % (name, value)