node elements in the manifest rspec should not contain available element
[sfa.git] / sfa / planetlab / plslices.py
index be38155..3cfc2f6 100644 (file)
@@ -4,10 +4,9 @@ from collections import defaultdict
 from sfa.util.sfatime import utcparse, datetime_to_epoch
 from sfa.util.sfalogging import logger
 from sfa.util.xrn import Xrn, get_leaf, get_authority, urn_to_hrn
-
 from sfa.rspecs.rspec import RSpec
-
 from sfa.planetlab.vlink import VLink
+from sfa.planetlab.topology import Topology
 from sfa.planetlab.plxrn import PlXrn, hrn_to_pl_slicename
 
 MAXINT =  2L**31-1
@@ -198,7 +197,10 @@ class PlSlices:
 
         except: 
             logger.log_exc('Failed to add/remove slice from nodes')
-        return nodes
+
+        slices = self.driver.shell.GetSlices(slice['name'], ['node_ids']) 
+        resulting_nodes = self.driver.shell.GetNodes(slices[0]['node_ids'])
+        return resulting_nodes
 
     def free_egre_key(self):
         used = set()
@@ -215,10 +217,15 @@ class PlSlices:
         return str(key)
 
     def verify_slice_links(self, slice, requested_links, nodes):
-        # nodes is undefined here
+         
         if not requested_links:
             return
-   
+
+        # exit if links are not supported here
+        topology = Topology()
+        if not topology:
+            return 
+
         # build dict of nodes 
         nodes_dict = {}
         interface_ids = []