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)
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'})]
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:
# 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