Merge branch 'master' of ssh://git.planet-lab.org/git/sfa
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Tue, 3 May 2011 20:27:25 +0000 (16:27 -0400)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Tue, 3 May 2011 20:27:25 +0000 (16:27 -0400)
sfa/client/sfiAddSliver.py
sfa/managers/aggregate_manager_pl.py
sfa/rspecs/pg_rspec.py
sfa/rspecs/rspec_version.py
sfa/trust/rights.py

index 2b9668b..1016b90 100755 (executable)
@@ -30,5 +30,5 @@ nodes = file(command.opts.nodefile).read().split()
 try:
     rspec.add_slivers(nodes)
 except:
-    print >> sys.stderr, "FAILED: %s" % node
+    print >> sys.stderr, "FAILED: %s" % nodes
 print >>outfile, rspec.toxml()
index 75fdc8b..7bb94ed 100644 (file)
@@ -203,7 +203,7 @@ def CreateSliver(api, slice_xrn, creds, rspec_string, users, call_id):
             api.plshell.BindObjectToPeer(api.plauth, 'slice', slice.id, peer, 
                                          slice.peer_id)
 
-    return aggregate.get_rspec(slice_xrn=slice_xrn)
+    return aggregate.get_rspec(slice_xrn=slice_xrn, version=RSpecVersion("pg"))
 
 
 def RenewSliver(api, xrn, creds, expiration_time, call_id):
index 109c2cf..194361e 100755 (executable)
@@ -82,7 +82,7 @@ class PGRSpec(RSpec):
         for hostname in hostnames:
             if hostname in nodes_with_slivers:
                 continue
-            nodes = self.xml.xpath('//rspecv2:node[@component_name="%s"]' % hostname, namespaces=self.namespaces)
+            nodes = self.xml.xpath('//rspecv2:node[@component_name="%s"] | //node[@component_name="%s"]' % (hostname, hostname), namespaces=self.namespaces)
             if nodes:
                 node = nodes[0]
                 node.set('client_id', hostname)
index 98ff745..5caa544 100644 (file)
@@ -2,12 +2,10 @@
 from sfa.util.sfalogging import _SfaLogger
 
 
-DEFAULT_FORMAT='sfa'
-DEFAULT_VERSION_NUMBER=1
 class RSpecVersion:
 
-    format = None
-    version = None
+    format = 'sfa'
+    version = '1'
     schema = None
     namespace = None
     extensions = []
@@ -19,21 +17,15 @@ class RSpecVersion:
     def parse_version_string(self, version_string):
         # version_raw is currently a string but will 
         # eventually be a struct.
-        try:
-            format_split = version_string.split(' ')
-            format, version = format_split[0].lower(), format_split[1]
-        except:
-            self.logger.info("RSpecVersion: invalid rspec version string: %s , using default" \
-                        % version_string)
-            # invalid format. Just continue
-            format, version = DEFAULT_FORMAT, DEFAULT_VERSION_NUMBER
-
-        self.format = format
-        self.version = version 
+        format_split = version_string.split(' ')
+        try: self.format = format_split[0].lower()  
+        except: pass
+        try: self.version = format_split[1]
+        except: pass
     
 
     def parse_version_struct(self, version_struct):
         try:
             pass
         except:
-            format, version = DEFAULT_FORMAT, DEFAULT_VERSION_NUMBER
+            pass
index bb4dffe..1d320a5 100644 (file)
@@ -57,10 +57,10 @@ def determine_rights(type, name):
         rl.add("refresh")
         rl.add("resolve")
         rl.add("info")
-    elif type == "sa":
+    elif type in ["sa", "authority+sa"]:
         rl.add("authority")
         rl.add("sa")
-    elif type == "ma":
+    elif type ["ma", "authority+ma"]::
         rl.add("authority")
         rl.add("ma")
     elif type == "authority":