X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=sfa%2Frspecs%2Fversions%2Fpgv2.py;h=80febc90d3e3eca2c2cd7c7343d27ffd9e260592;hb=4868da2b214a85ec5c666a4c8d36141e2acafd10;hp=f8759d8e26093eff9aaa6140da8bc6ac482a2bb4;hpb=7c6754da189699add4e360c5f590e2e64fd181c5;p=sfa.git diff --git a/sfa/rspecs/versions/pgv2.py b/sfa/rspecs/versions/pgv2.py index f8759d8e..80febc90 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' @@ -44,8 +45,8 @@ class PGv2(RSpecVersion): def get_nodes_with_slivers(self): return PGv2Node.get_nodes_with_slivers(self.xml) - def add_nodes(self, nodes, check_for_dupes=False): - return PGv2Node.add_nodes(self.xml, nodes) + def add_nodes(self, nodes, check_for_dupes=False, rspec_content_type=None): + return PGv2Node.add_nodes(self.xml, nodes, rspec_content_type) def merge_node(self, source_node_tag): # this is untested @@ -176,9 +177,17 @@ class PGv2(RSpecVersion): # Leases def get_leases(self, filter=None): - pass + return PGv2Lease.get_leases(self.xml, filter) def add_leases(self, leases, network = None, no_dupes=False): + PGv2Lease.add_leases(self.xml, leases) + + # Spectrum + + def get_channels(self, filter=None): + return [] + + def add_channels(self, channels, network = None, no_dupes=False): pass # Utility @@ -194,13 +203,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():