X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Frspecs%2Fversions%2Fpgv2.py;h=fbd8a394eec2f7d453bb4a2faceed1171b28a805;hb=1cc8e9613cab8b5b22478de369f259e591c54e6d;hp=3d3e53886a538473dd861fa3fa43de3df074d2ac;hpb=31d10cfe9e17c6decd18337cdc53fb828930775f;p=sfa.git diff --git a/sfa/rspecs/versions/pgv2.py b/sfa/rspecs/versions/pgv2.py index 3d3e5388..fbd8a394 100644 --- a/sfa/rspecs/versions/pgv2.py +++ b/sfa/rspecs/versions/pgv2.py @@ -5,6 +5,7 @@ from sfa.rspecs.version import RSpecVersion from sfa.rspecs.elements.versions.pgv2Link import PGv2Link from sfa.rspecs.elements.versions.pgv2Node import PGv2Node from sfa.rspecs.elements.versions.pgv2SliverType import PGv2SliverType +from sfa.rspecs.elements.versions.pgv2Lease import PGv2Lease class PGv2(RSpecVersion): type = 'ProtoGENI' @@ -143,6 +144,7 @@ class PGv2(RSpecVersion): # set the sliver id #slice_id = sliver_info.get('slice_id', -1) #node_id = sliver_info.get('node_id', -1) + #sliver_id = Xrn(xrn=sliver_urn, type='slice', id=str(node_id)).get_urn() #node_elem.set('sliver_id', sliver_id) # add the sliver type elemnt @@ -175,10 +177,10 @@ class PGv2(RSpecVersion): # Leases def get_leases(self, filter=None): - return [] + return PGv2Lease.get_leases(self.xml, filter) def add_leases(self, leases, network = None, no_dupes=False): - return None + PGv2Lease.add_leases(self.xml, leases) # Utility @@ -193,13 +195,20 @@ class PGv2(RSpecVersion): nodes = in_rspec.version.get_nodes() # protogeni rspecs need to advertise the availabel sliver types + main_nodes = [] for node in nodes: + if not node['component_name']: + # this node element is part of a lease + continue if not node.has_key('sliver') or not node['sliver']: node['sliver'] = {'name': 'plab-vserver'} - - self.add_nodes(nodes) + main_nodes.append(node) + self.add_nodes(main_nodes) self.add_links(in_rspec.version.get_links()) + # Leases + leases = in_rspec.version.get_leases() + self.add_leases(leases) # #rspec = RSpec(in_rspec) #for child in rspec.xml.iterchildren():