git://git.onelab.eu
/
sfa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rspec.version.add_nodes take an extra arg to handle Request RSpec
[sfa.git]
/
sfa
/
rspecs
/
versions
/
pgv2.py
diff --git
a/sfa/rspecs/versions/pgv2.py
b/sfa/rspecs/versions/pgv2.py
index
f96b449
..
cfe1eae
100644
(file)
--- a/
sfa/rspecs/versions/pgv2.py
+++ b/
sfa/rspecs/versions/pgv2.py
@@
-1,10
+1,11
@@
from copy import deepcopy
from StringIO import StringIO
from copy import deepcopy
from StringIO import StringIO
-from sfa.util.xrn import Xrn
, urn_to_sliver_id
+from sfa.util.xrn import Xrn
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.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'
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 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
def merge_node(self, source_node_tag):
# this is untested
@@
-143,7
+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)
# set the sliver id
#slice_id = sliver_info.get('slice_id', -1)
#node_id = sliver_info.get('node_id', -1)
- #sliver_id =
urn_to_sliver_id(sliver_urn, slice_id, node_id
)
+ #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
#node_elem.set('sliver_id', sliver_id)
# add the sliver type elemnt
@@
-176,10
+177,10
@@
class PGv2(RSpecVersion):
# Leases
def get_leases(self, filter=None):
# 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):
def add_leases(self, leases, network = None, no_dupes=False):
- pass
+ PGv2Lease.add_leases(self.xml, leases)
# Utility
# Utility
@@
-194,13
+195,20
@@
class PGv2(RSpecVersion):
nodes = in_rspec.version.get_nodes()
# protogeni rspecs need to advertise the availabel sliver types
nodes = in_rspec.version.get_nodes()
# protogeni rspecs need to advertise the availabel sliver types
+ main_nodes = []
for node in 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'}
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())
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():
#
#rspec = RSpec(in_rspec)
#for child in rspec.xml.iterchildren():