In get_nodes_and_links function, the 'boot_state' tag of node in a rspec is set to...
[sfa.git] / sfa / senslab / slabaggregate.py
index 4c63b63..7737aab 100644 (file)
@@ -190,7 +190,7 @@ class SlabAggregate:
         #node_tags = self.get_node_tags(tags_filter)
        
         #links = self.get_links(sites_dict, nodes_dict, interfaces)
-        
+        reserved_nodes=self.driver.GetReservedNodes()
         rspec_nodes = []
         for node in nodes:
             # skip whitelisted nodes
@@ -209,6 +209,8 @@ class SlabAggregate:
             # do not include boot state (<available> element) in the manifest rspec
             if not slice:     
                 rspec_node['boot_state'] = node['boot_state']
+                if node['hostname'] in reserved_nodes:
+                    rspec_node['boot_state'] = "Reserved"
             rspec_node['exclusive'] = 'true'
             rspec_node['hardware_types'] = [HardwareType({'name': 'slab-sensor'})]
             # only doing this because protogeni rspec needs
@@ -238,9 +240,9 @@ class SlabAggregate:
         
             #tags = [PLTag(node_tags[tag_id]) for tag_id in node['node_tag_ids']]
             rspec_node['tags'] = []
-            if node['hrn'] in slivers:
+            if node['hostname'] in slivers:
                 # add sliver info
-                sliver = slivers[node['node_id']]
+                sliver = slivers[node['hostname']]
                 rspec_node['sliver_id'] = sliver['sliver_id']
                 rspec_node['client_id'] = node['hostname']
                 rspec_node['slivers'] = [sliver]