X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=sfa%2Frspecs%2Felements%2Fversions%2Fpgv2Node.py;h=d553d2192eab72f8ec20b829dacf03acb766b1f4;hb=e3dfbbc08aee7acaf3aedaeb9771cccd677cd647;hp=0a694ad10f756dd99d6b9b7a12888bbe8ee76aab;hpb=ed21507f990ecf9c49887283fb44e9c92a8624f9;p=sfa.git diff --git a/sfa/rspecs/elements/versions/pgv2Node.py b/sfa/rspecs/elements/versions/pgv2Node.py index 0a694ad1..d553d219 100644 --- a/sfa/rspecs/elements/versions/pgv2Node.py +++ b/sfa/rspecs/elements/versions/pgv2Node.py @@ -55,7 +55,11 @@ class PGv2Node: slivers = node.get('slivers', []) if not slivers: # we must still advertise the available sliver types - slivers = Sliver({'type': 'plab-vserver'}) + if node.get('sliver_type'): + slivers = Sliver({'type': node['sliver_type']}) + else: + # Planet lab + slivers = Sliver({'type': 'plab-vserver'}) # we must also advertise the available initscripts slivers['tags'] = [] if node.get('pl_initscripts'): @@ -71,8 +75,8 @@ class PGv2Node: node_elem.add_instance('{%s}attribute' % xml.namespaces['planetlab'], tag, ['name', 'value']) # add sliver tag in Request Rspec - if rspec_content_type == "request": - node_elem.add_instance('sliver', '', []) + #if rspec_content_type == "request": + # node_elem.add_instance('sliver', '', []) return node_elems @@ -132,21 +136,28 @@ class PGv2Node: node['boot_state'] = 'disabled' # get initscripts - node['pl_initscripts'] = [] - initscript_elems = node_elem.xpath('./default:sliver_type/planetlab:initscript | ./sliver_type/initscript') - if len(initscript_elems) > 0: - for initscript_elem in initscript_elems: - if 'name' in initscript_elem.attrib: - node['pl_initscripts'].append(dict(initscript_elem.attrib)) + try: + node['pl_initscripts'] = [] + initscript_elems = node_elem.xpath('./default:sliver_type/planetlab:initscript | ./sliver_type/initscript') + if len(initscript_elems) > 0: + for initscript_elem in initscript_elems: + if 'name' in initscript_elem.attrib: + node['pl_initscripts'].append(dict(initscript_elem.attrib)) + except: + pass # get node tags - tag_elems = node_elem.xpath('./planetlab:attribute | ./attribute') - node['tags'] = [] - if len(tag_elems) > 0: - for tag_elem in tag_elems: - tag = dict(tag_elem.get_instance(Attribute)) - tag['tagname'] = tag.pop('name') - node['tags'].append(tag) + try: + tag_elems = node_elem.xpath('./planetlab:attribute | ./attribute') + node['tags'] = [] + if len(tag_elems) > 0: + for tag_elem in tag_elems: + tag = dict(tag_elem.get_instance(Attribute)) + tag['tagname'] = tag.pop('name') + node['tags'].append(tag) + except: + pass + return nodes