using sfa.util.namespace instead of sfa.util.misc
[sfa.git] / sfa / rspecs / aggregates / rspec_manager_max.py
index afedffd..7f0a253 100644 (file)
@@ -1,9 +1,9 @@
 #!/usr/bin/python
 
-from sfa.util.rspec import Rspec
+from sfa.util.rspec import RSpec
 import sys
 import pdb
-from sfa.util.misc import *
+from sfa.util.namespace import *
 from sfa.util.rspec import *
 from sfa.util.specdict import *
 from sfa.util.faults import *
@@ -27,7 +27,7 @@ class GeniOutOfResource(GeniFault):
         faultString = "Interface " + interface + " not available"
         GeniFault.__init__(self, 100, faultString, '')
 
-class GeniNoPairRspec(GeniFault):
+class GeniNoPairRSpec(GeniFault):
     def __init__(self, interface, interface2):
         faultString = "Interface " + interface + " should be paired with " + interface2
         GeniFault.__init__(self, 100, faultString, '')
@@ -36,7 +36,7 @@ class GeniNoPairRspec(GeniFault):
 # i -> node,i_peer
 
 def get_interface_map():
-    r = Rspec()
+    r = RSpec()
     r.parseFile(SFA_MAX_DEFAULT_RSPEC)
     rspec = r.toDict()
     capacity = rspec['rspec']['capacity']
@@ -122,11 +122,15 @@ def collapse_alloc_dict(d):
 
 
 def alloc_links(api, hrn, links_to_add, links_to_drop):
-    pdb.set_trace()
     slicename=hrn_to_pl_slicename(hrn)
     for (iface,ip) in links_to_add:
         node = topology[iface][0][0]
-        api.plshell.AddSliceTag(api.plauth, slicename, "ip_addresses", ip, node)
+        try:
+            api.plshell.AddSliceTag(api.plauth, slicename, "ip_addresses", ip, node)
+            api.plshell.AddSliceTag(api.plauth, slicename, "vsys", "getvlan", node)
+        except Exception: 
+            # Probably a duplicate tag. XXX July 21
+            pass
     return True
 
 def alloc_nodes(api,hrn, requested_ifs):
@@ -263,7 +267,7 @@ def create_slice(api, hrn, rspec_xml):
 
     # Check if everything in rspec is either allocated by hrn
     # or not allocated at all.
-    r = Rspec()
+    r = RSpec()
     r.parseString(rspec_xml)
     rspec = r.toDict()
 
@@ -286,7 +290,7 @@ def create_slice(api, hrn, rspec_xml):
         if (a not in current_hrn_interfaces and a in current_interfaces):
             raise GeniOutOfResource(a)
         if (topology[a][1] not in requested_interfaces):
-            raise GeniNoPairRspec(a,topology[a][1])
+            raise GeniNoPairRSpec(a,topology[a][1])
     # Request OK
 
     # Allocations to delete
@@ -312,13 +316,13 @@ def rspec_to_allocations(rspec):
         for l in ifspecs:
             ifs.extend([(l['name'].replace('tns:',''),l['ip'])])
     except KeyError:
-        # Bad Rspec
+        # Bad RSpec
         pass
     return ifs
 
 def main():
     t = get_interface_map()
-    r = Rspec()
+    r = RSpec()
     rspec_xml = open(sys.argv[1]).read()
     #get_rspec(None,'foo')
     create_slice(None, "plc.princeton.sap0", rspec_xml)