node elements in the manifest rspec should not contain available element
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Wed, 5 Dec 2012 16:27:37 +0000 (11:27 -0500)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Wed, 5 Dec 2012 16:27:37 +0000 (11:27 -0500)
sfa/openstack/osaggregate.py
sfa/planetlab/plaggregate.py
sfa/rspecs/elements/versions/pgv2Node.py

index 08b4ff8..dc00694 100644 (file)
@@ -250,7 +250,7 @@ class OSAggregate:
                 sliver = self.instance_to_sliver(instance)
                 sliver['disk_image'] = disk_images
                 slivers.append(sliver)
-        
+            rspec_node['available'] = 'true'
             rspec_node['slivers'] = slivers
             rspec_nodes.append(rspec_node) 
 
index 324c07c..f38dd1c 100644 (file)
@@ -161,6 +161,10 @@ class PlAggregate:
         rspec_node['authority_id'] = hrn_to_urn(PlXrn.site_hrn(self.driver.hrn, site['login_base']), 'authority+sa')
         # do not include boot state (<available> element) in the manifest rspec
         rspec_node['boot_state'] = node['boot_state']
+        if node['boot_state'] == 'boot': 
+            rspec_node['available'] = 'true'
+        else:
+            rspec_node['available'] = 'false'
         rspec_node['exclusive'] = 'false'
         rspec_node['hardware_types'] = [HardwareType({'name': 'plab-pc'}),
                                         HardwareType({'name': 'pc'})]
@@ -373,6 +377,8 @@ class PlAggregate:
                 if sliver['slice_ids_whitelist'] and sliver['slice_id'] not in sliver['slice_ids_whitelist']:
                     continue
                 rspec_node = self.sliver_to_rspec_node(sliver, sites, interfaces, node_tags, pl_initscripts)
+                # manifest node element shouldn't contain available attribute
+                rspec_node.pop('available')
                 geni_sliver = self.rspec_node_to_geni_sliver(rspec_node)
                 sliver_allocation_record = sliver_allocation_dict.get(sliver['sliver_id'])
                 if sliver_allocation_record:
index 88787b5..fc5de15 100644 (file)
@@ -40,11 +40,8 @@ class PGv2Node:
             #    for interface in  node.get('interfaces', []):
             #        node_elem.add_instance('interface', interface, ['component_id', 'client_id'])
             # set available element
-            if node.get('boot_state'):
-                if node.get('boot_state').lower() == 'boot':
-                    available_elem = node_elem.add_element('available', now='true')
-                else:
-                    available_elem = node_elem.add_element('available', now='false')
+            if node.get('available'):
+                available_elem = node_elem.add_element('available', now=node['available'])
             # add services
             PGv2Services.add_services(node_elem, node.get('services', [])) 
             # add slivers