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'
# 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):
- pass
+ PGv2Lease.add_leases(self.xml, leases)
# Utility
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():