support sliver ids
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Wed, 9 Jan 2013 14:29:14 +0000 (09:29 -0500)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Wed, 9 Jan 2013 14:29:14 +0000 (09:29 -0500)
sfa/methods/Delete.py
sfa/methods/Provision.py
sfa/methods/Renew.py
sfa/methods/Shutdown.py
sfa/methods/Status.py
sfa/planetlab/plaggregate.py

index 88990e1..e8c5128 100644 (file)
@@ -24,7 +24,8 @@ class Delete(Method):
     returns = Parameter(int, "1 if successful")
     
     def call(self, xrns, creds, options):
-        valid_creds = self.api.auth.checkCredentials(creds, 'deletesliver', xrns)
+        valid_creds = self.api.auth.checkCredentials(creds, 'deletesliver', xrns,
+                      check_sliver_callback = self.api.manager.driver.check_sliver_credentials)
 
         #log the call
         origin_hrn = Credential(cred=valid_creds[0]).get_gid_caller().get_hrn()
index 5a857ec..74ee350 100644 (file)
@@ -32,7 +32,8 @@ class Provision(Method):
         self.api.logger.info("interface: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, xrns, self.name))
 
         # Find the valid credentials
-        valid_creds = self.api.auth.checkCredentials(creds, 'createsliver', xrns) 
+        valid_creds = self.api.auth.checkCredentials(creds, 'createsliver', xrns,
+                      check_sliver_callback = self.api.manager.driver.check_sliver_credentials) 
         origin_hrn = Credential(cred=valid_creds[0]).get_gid_caller().get_hrn()
         self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, xrns, self.name))
         result = self.api.manager.Provision(self.api, xrns, creds, options)
index ca412bd..288e970 100644 (file)
@@ -33,7 +33,8 @@ class Renew(Method):
         self.api.logger.info("interface: %s\ttarget-hrn: %s\tcaller-creds: %s\tmethod-name: %s"%(self.api.interface, urns, creds, self.name))
 
         # Find the valid credentials
-        valid_creds = self.api.auth.checkCredentials(creds, 'renewsliver', urns)
+        valid_creds = self.api.auth.checkCredentials(creds, 'renewsliver', urns,
+                      check_sliver_callback = self.api.manager.driver.check_sliver_credentials)
 
         # Validate that the time does not go beyond the credential's expiration time
         requested_time = utcparse(expiration_time)
index e97738c..8641bd0 100644 (file)
@@ -19,7 +19,8 @@ class Shutdown(Method):
 
     def call(self, xrn, creds):
 
-        valid_creds = self.api.auth.checkCredentials(creds, 'stopslice', xrn)
+        valid_creds = self.api.auth.checkCredentials(creds, 'stopslice', xrn,
+                      check_sliver_callback = self.api.manager.driver.check_sliver_credentials)
         #log the call
         origin_hrn = Credential(cred=valid_creds[0]).get_gid_caller().get_hrn()
         self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, xrn, self.name))
index 8415cb1..044e252 100644 (file)
@@ -19,7 +19,8 @@ class Status(Method):
     returns = Parameter(dict, "Status details")
 
     def call(self, xrns, creds, options):
-        valid_creds = self.api.auth.checkCredentials(creds, 'sliverstatus', xrns)
+        valid_creds = self.api.auth.checkCredentials(creds, 'sliverstatus', xrns,
+                      check_sliver_callback = self.api.manager.driver.check_sliver_credentials)
 
         self.api.logger.info("interface: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, xrns, self.name))
         return self.api.manager.Status(self.api, xrns, creds, options)
index b4f796b..1d06c4b 100644 (file)
@@ -136,6 +136,7 @@ class PlAggregate:
             return []
         slice = slices[0]
         if node_ids:
+            node_ids = [node_id for node_id in node_ids if node_id in slice['node_ids']]
             slice['node_ids'] = node_ids
         tags_dict = self.get_slice_tags(slice)
         nodes_dict = self.get_slice_nodes(slice, options)