no need to store managers in differnty directories depending on their type, the type...
authorTony Mack <tmack@cs.princeton.edu>
Tue, 1 Dec 2009 16:53:02 +0000 (16:53 +0000)
committerTony Mack <tmack@cs.princeton.edu>
Tue, 1 Dec 2009 16:53:02 +0000 (16:53 +0000)
sfa/managers/component_manager_default.py [new file with mode: 0644]
sfa/managers/component_manager_pl.py [new file with mode: 0644]

diff --git a/sfa/managers/component_manager_default.py b/sfa/managers/component_manager_default.py
new file mode 100644 (file)
index 0000000..800857c
--- /dev/null
@@ -0,0 +1,22 @@
+
+def start_slice(api, slicename):
+    return
+
+def stop_slice(api, slicename):
+    return
+
+def delete_slice(api, slicename):
+    return
+
+def reset_slice(api, slicename):
+    return 
+def get_slices(api):
+    return 
+
+def roboot():
+    return
+
+def redeem_ticket(api, ticket_string):
+    return 
+
diff --git a/sfa/managers/component_manager_pl.py b/sfa/managers/component_manager_pl.py
new file mode 100644 (file)
index 0000000..71cc628
--- /dev/null
@@ -0,0 +1,39 @@
+import os
+import xmlrpclib
+from sfa.util.faults import *
+from sfa.util.sfaticket import SfaTicket
+
+def start_slice(api, slicename):
+    api.nodemanger.Start(slicename)
+
+def stop_slice(api, slicename):
+    api.nodemanager.Stop(slicename)
+
+def delete_slice(api, slicename):
+    api.nodemanager.Destroy(slicename)
+
+def reset_slice(api, slicename):
+    if not api.sliver_exists(slicename):
+        raise SliverDoesNotExist(slicename)
+    api.nodemanager.ReCreate(slicename)
+def get_slices(api):
+    slicenames = api.nodemanager.GetXiDs().keys()
+    return slicenames
+
+def roboot():
+    os.system("/sbin/reboot")        
+
+def redeem_ticket(api, ticket_string):
+    ticket = SfaTicket(string=ticket_string)
+    ticket.decode()
+    hrn = ticket.attributes['slivers'][0]['hrn']
+    slicename = hrn_to_pl_slicename(hrn)
+    if not api.sliver_exists(slicename):
+        raise SliverDoesNotExist(slicename)
+
+    # convert ticket to format nm is used to
+    nm_ticket = xmlrpclib.dumps((ticket.attributes,), methodresponse=True)
+    self.api.nodemanager.AdminTicket(nm_ticket)
+    
+