From 76bfe6722cc1b30cb3df805faa640f2d6a46be85 Mon Sep 17 00:00:00 2001
From: Tony Mack <tmack@paris.CS.Princeton.EDU>
Date: Mon, 23 May 2011 13:28:34 -0400
Subject: [PATCH] misc fixes for pg manifest rspec

---
 sfa/managers/aggregate_manager_pl.py | 2 +-
 sfa/rspecs/pg_rspec.py               | 8 +++++---
 sfa/rspecs/rspec.py                  | 2 +-
 sfa/rspecs/sfa_rspec.py              | 2 +-
 4 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/sfa/managers/aggregate_manager_pl.py b/sfa/managers/aggregate_manager_pl.py
index dbd02b22..894823c1 100644
--- a/sfa/managers/aggregate_manager_pl.py
+++ b/sfa/managers/aggregate_manager_pl.py
@@ -210,7 +210,7 @@ def CreateSliver(api, slice_xrn, creds, rspec_string, users, call_id):
             api.plshell.BindObjectToPeer(api.plauth, 'slice', slice.id, peer, 
                                          slice.peer_id)
 
-    return aggregate.get_rspec(slice_xrn=slice_xrn, version=rspec.version, type='manifest')
+    return aggregate.get_rspec(slice_xrn=slice_xrn, version=rspec.version)
 
 
 def RenewSliver(api, xrn, creds, expiration_time, call_id):
diff --git a/sfa/rspecs/pg_rspec.py b/sfa/rspecs/pg_rspec.py
index e2653ad7..c715f538 100755
--- a/sfa/rspecs/pg_rspec.py
+++ b/sfa/rspecs/pg_rspec.py
@@ -120,7 +120,7 @@ class PGRSpec(RSpec):
             #if 'interfaces' in node:
             
 
-    def add_slivers(self, slivers, check_for_dupes=False): 
+    def add_slivers(self, slivers, sliver_urn=None, no_dupes=False): 
         if not isinstance(slivers, list):
             slivers = [slivers]
 
@@ -133,12 +133,14 @@ class PGRSpec(RSpec):
             if nodes:
                 node = nodes[0]
                 node.set('client_id', hostname)
+                if sliver_urn:
+                    node.set('sliver_id', sliver_urn)
                 etree.SubElement(node, 'sliver_type', name='plab-vnode')
 
-    def add_interfaces(self, interfaces, check_for_dupes=False):
+    def add_interfaces(self, interfaces, no_dupes=False):
         pass
 
-    def add_links(self, links, check_for_dupes=False):
+    def add_links(self, links, no_dupes=False):
         pass
 
 
diff --git a/sfa/rspecs/rspec.py b/sfa/rspecs/rspec.py
index afc97bbf..91bac6c1 100755
--- a/sfa/rspecs/rspec.py
+++ b/sfa/rspecs/rspec.py
@@ -99,7 +99,7 @@ class RSpec:
             root_node = self.xml
 
         elements = root_node.xpath('//rspecv2:%s | //%s' % (element_name, element_name), \
-                                                            self.namespaces)
+                                                            namespaces=self.namespaces)
         for element in elements:
             parent = element.getparent()
             parent.remove(element)
diff --git a/sfa/rspecs/sfa_rspec.py b/sfa/rspecs/sfa_rspec.py
index 6ffc54c8..0e73ef57 100755
--- a/sfa/rspecs/sfa_rspec.py
+++ b/sfa/rspecs/sfa_rspec.py
@@ -218,7 +218,7 @@ class SfaRSpec(RSpec):
     def add_links(self, links):
         pass
     
-    def add_slivers(self, slivers, network=None, no_dupes=False):
+    def add_slivers(self, slivers, network=None, sliver_urn=None, no_dupes=False):
         if not isinstance(slivers, list):
             slivers = [slivers]
 
-- 
2.47.0