X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Frspecs%2Felements%2Fversions%2Fpgv2Node.py;h=4b424038e4c2a70f5cf354cb3ff5255ac36473f3;hb=44cc4f0bdbe861908e794b63a7b68c927cafd91d;hp=51916898069bc855f9d98530cffd6afc56fcd080;hpb=8753f49d0f07c3419b387d798625ad1830c0ba9a;p=sfa.git diff --git a/sfa/rspecs/elements/versions/pgv2Node.py b/sfa/rspecs/elements/versions/pgv2Node.py index 51916898..4b424038 100644 --- a/sfa/rspecs/elements/versions/pgv2Node.py +++ b/sfa/rspecs/elements/versions/pgv2Node.py @@ -12,6 +12,7 @@ from sfa.rspecs.elements.pltag import PLTag from sfa.rspecs.elements.versions.pgv2Services import PGv2Services from sfa.rspecs.elements.versions.pgv2SliverType import PGv2SliverType from sfa.rspecs.elements.versions.pgv2Interface import PGv2Interface +from sfa.rspecs.elements.granularity import Granularity from sfa.planetlab.plxrn import xrn_to_hostname @@ -34,6 +35,11 @@ class PGv2Node: # set location if node.get('location'): node_elem.add_instance('location', node['location'], Location.fields) + + # set granularity + if node['exclusive'] == "true": + granularity = node.get('granularity') + node_elem.add_instance('granularity', granularity, granularity.fields) # set interfaces PGv2Interface.add_interfaces(node_elem, node.get('interfaces')) #if node.get('interfaces'): @@ -91,6 +97,11 @@ class PGv2Node: if len(locations) > 0: node['location'] = locations[0] + # get granularity + granularity_elems = node_elem.xpath('./default:granularity | ./granularity') + if len(granularity_elems) > 0: + node['granularity'] = granularity_elems[0].get_instance(Granularity) + # get interfaces iface_elems = node_elem.xpath('./default:interface | ./interface') node['interfaces'] = [iface_elem.get_instance(Interface) for iface_elem in iface_elems]