From a13a3830bf1822329452f102ebbff7d2bcd94401 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Wed, 5 Dec 2012 11:27:37 -0500 Subject: [PATCH] node elements in the manifest rspec should not contain available element --- sfa/openstack/osaggregate.py | 2 +- sfa/planetlab/plaggregate.py | 6 ++++++ sfa/rspecs/elements/versions/pgv2Node.py | 7 ++----- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/sfa/openstack/osaggregate.py b/sfa/openstack/osaggregate.py index 08b4ff81..dc006944 100644 --- a/sfa/openstack/osaggregate.py +++ b/sfa/openstack/osaggregate.py @@ -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) diff --git a/sfa/planetlab/plaggregate.py b/sfa/planetlab/plaggregate.py index 324c07c6..f38dd1c9 100644 --- a/sfa/planetlab/plaggregate.py +++ b/sfa/planetlab/plaggregate.py @@ -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 ( 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: diff --git a/sfa/rspecs/elements/versions/pgv2Node.py b/sfa/rspecs/elements/versions/pgv2Node.py index 88787b52..fc5de15f 100644 --- a/sfa/rspecs/elements/versions/pgv2Node.py +++ b/sfa/rspecs/elements/versions/pgv2Node.py @@ -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 -- 2.47.0