bug fix
[sfa.git] / sfa / managers / component_manager_pl.py
index 02d2d9a..2e1b3c3 100644 (file)
@@ -1,29 +1,44 @@
 import os
 import xmlrpclib
 from sfa.util.faults import *
-from sfa.util.misc import *
+from sfa.util.namespace import *
 from sfa.util.sfaticket import SfaTicket
 
-def start_slice(api, slicename):
-    record = {'name': hrn_to_pl_slicename(slicename)}
-    api.nodemanger.Start(record)
+def init_server():
+    from sfa.server import sfa_component_setup
+    # get current trusted gids
+    try:
+        sfa_component_setup.get_trusted_certs()
+    except:
+        # our keypair may be old, try refreshing
+        sfa_component_setup.get_node_key()
+        sfa_component_setup.get_credential(force=True)
+        sfa_component_setup.get_trusted_certs()
+           
+def start_slice(api, xrn):
+    hrn, type = urn_to_hrn(xrn)
+    slicename = hrn_to_pl_slicename(hrn)
+    api.nodemanger.Start(slicename)
 
-def stop_slice(api, slicename):
-    record = {'name': hrn_to_pl_slicename(slicename)}
-    api.nodemanager.Stop(record)
+def stop_slice(api, xrn):
+    hrn, type = urn_to_hrn(xrn)
+    slicename = hrn_to_pl_slicename(hrn)
+    api.nodemanager.Stop(slicename)
 
-def delete_slice(api, slicename):
-    record = {'name': hrn_to_pl_slicename(slicename)}
-    api.nodemanager.Destroy(record)
+def delete_slice(api, xrn):
+    hrn, type = urn_to_hrn(xrn)
+    slicename = hrn_to_pl_slicename(hrn)
+    api.nodemanager.Destroy(slicename)
 
-def reset_slice(api, slicename):
-    record = {'name': hrn_to_pl_slicename(slicename)}
+def reset_slice(api, xrn):
+    hrn, type = urn_to_hrn(xrn)
+    slicename = hrn_to_pl_slicename(hrn)
     if not api.sliver_exists(slicename):
         raise SliverDoesNotExist(slicename)
-    api.nodemanager.ReCreate(record)
+    api.nodemanager.ReCreate(slicename)
  
 def get_slices(api):
-    slicenames = api.nodemanager.GetXiDs().keys()
+    slicenames = api.nodemanager.GetXIDs().keys()
     return slicenames
 
 def roboot():
@@ -39,6 +54,6 @@ def redeem_ticket(api, ticket_string):
 
     # convert ticket to format nm is used to
     nm_ticket = xmlrpclib.dumps((ticket.attributes,), methodresponse=True)
-    self.api.nodemanager.AdminTicket(nm_ticket)
+    api.nodemanager.AdminTicket(nm_ticket)