<available> element not allowed in manifest rspecs
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Thu, 22 Dec 2011 00:48:36 +0000 (19:48 -0500)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Thu, 22 Dec 2011 00:48:36 +0000 (19:48 -0500)
sfa/plc/plaggregate.py
sfa/rspecs/elements/versions/pgv2Node.py

index 4ff968f..5c0606c 100644 (file)
@@ -183,7 +183,9 @@ class PlAggregate:
             rspec_node['component_name'] = node['hostname']
             rspec_node['component_manager_id'] = Xrn(self.driver.hrn, 'authority+cm').get_urn()
             rspec_node['authority_id'] = hrn_to_urn(PlXrn.site_hrn(self.driver.hrn, site['login_base']), 'authority+sa')
-            rspec_node['boot_state'] = node['boot_state']
+            # do not include boot state (<available> element) in the manifest rspec
+            if not slice:     
+                rspec_node['boot_state'] = node['boot_state']
             rspec_node['exclusive'] = 'false'
             rspec_node['hardware_types']= [HardwareType({'name': 'plab-pc'}),
                                            HardwareType({'name': 'pc'})]
index 4399e3b..b92443e 100644 (file)
@@ -36,10 +36,11 @@ 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') and 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('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')
             # add services
             PGv2Services.add_services(node_elem, node.get('services', [])) 
             # add slivers