From 13ae18d2aba930f213770337e9bcbb7125afd6ad Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Mon, 10 Oct 2011 15:36:48 -0400 Subject: [PATCH] merged --- sfa/rspecs/sfa_rspec_converter.py | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/sfa/rspecs/sfa_rspec_converter.py b/sfa/rspecs/sfa_rspec_converter.py index d34127b8..368ce6b6 100755 --- a/sfa/rspecs/sfa_rspec_converter.py +++ b/sfa/rspecs/sfa_rspec_converter.py @@ -35,20 +35,33 @@ class SfaRSpecConverter: node_attrs = {} node_attrs['exclusive'] = 'false' if 'component_manager_id' in sfa_node_element.attrib: - component_manager_id = sfa_node_element.attrib['component_manager_id'] + node_attrs['component_manager_id'] = sfa_node_element.attrib['component_manager_id'] else: - component_manager_id = hrn_to_urn(network, 'authority+cm') - node_attrs['component_manager_id'] = component_manager_id + node_attrs['component_manager_id'] = hrn_to_urn(network, 'authority+cm') + + if 'component_id' in sfa_node_element.attrib: + node_attrs['compoenent_id'] = sfa_node_element.attrib['component_id'] + if sfa_node_element.find('hostname') != None: - node_attrs['component_name'] = sfa_node_element.find('hostname').text - if sfa_node_element.find('urn') != None: - node_attrs['component_id'] = sfa_node_element.find('urn').text + hostname = sfa_node_element.find('hostname').text + node_attrs['component_name'] = hostname + node_attrs['client_id'] = hostname node_element = pg_rspec.xml.add_element('node', node_attrs) if content_type == 'request': sliver_element = sfa_node_element.find('sliver') + sliver_type_elements = sfa_node_element.xpath('./sliver_type', namespaces=sfa_rspec.namespaces) + available_sliver_types = [element.attrib['name'] for element in sliver_type_elements] + valid_sliver_types = ['emulab-openvz', 'raw-pc'] + + # determine sliver type + requested_sliver_type = 'emulab-openvz' + for available_sliver_type in available_sliver_types: + if available_sliver_type in valid_sliver_types: + requested_sliver_type = available_sliver_type + if sliver_element != None: - pg_rspec.xml.add_element('sliver_type', {'name': 'planetlab-vnode'}, parent=node_element) + pg_rspec.xml.add_element('sliver_type', {'name': requested_sliver_type}, parent=node_element) else: # create node_type element for hw_type in ['plab-pc', 'pc']: @@ -63,7 +76,7 @@ class SfaRSpecConverter: if location != None: location_attrs = {} location_attrs['country'] = location.get('country', 'unknown') - location_attrs['latitude'] = location.get('latitiue', 'None') + location_attrs['latitude'] = location.get('latitude', 'None') location_attrs['longitude'] = location.get('longitude', 'None') pg_rspec.xml.add_element('location', location_attrs, parent=node_element) -- 2.47.0