DeleteSliver supports call_id
[sfa.git] / sfa / managers / component_manager_pl.py
index 6c36809..961c035 100644 (file)
@@ -2,9 +2,13 @@ import os
 import xmlrpclib
 
 from sfa.util.faults import *
-from sfa.util.xrn import urn_to_hrn
-from sfa.util.plxrn import hrn_to_pl_slicename
+from sfa.util.plxrn import PlXrn
 from sfa.util.sfaticket import SfaTicket
+from sfa.util.version import version_core
+
+def GetVersion(api):
+    return version_core({'interface':'component',
+                         'testbed':'myplc'})
 
 def init_server():
     from sfa.server import sfa_component_setup
@@ -17,11 +21,6 @@ def init_server():
         sfa_component_setup.get_credential(force=True)
         sfa_component_setup.get_trusted_certs()
 
-def get_version():
-    version = {}
-    version['geni_api'] = 1
-    return version
-
 def slice_status(api, slice_xrn, creds):
     result = {}
     result['geni_urn'] = slice_xrn
@@ -30,23 +29,19 @@ def slice_status(api, slice_xrn, creds):
     return result
            
 def start_slice(api, xrn, creds):
-    hrn, type = urn_to_hrn(xrn)
-    slicename = hrn_to_pl_slicename(hrn)
+    slicename = PlXrn(xrn, type='slice').pl_slicename()
     api.nodemanger.Start(slicename)
 
 def stop_slice(api, xrn, creds):
-    hrn, type = urn_to_hrn(xrn)
-    slicename = hrn_to_pl_slicename(hrn)
+    slicename = PlXrn(xrn, type='slice').pl_slicename()
     api.nodemanager.Stop(slicename)
 
-def delete_slice(api, xrn, creds):
-    hrn, type = urn_to_hrn(xrn)
-    slicename = hrn_to_pl_slicename(hrn)
+def DeleteSliver(api, xrn, creds, call_id):
+    slicename = PlXrn(xrn, type='slice').pl_slicename()
     api.nodemanager.Destroy(slicename)
 
 def reset_slice(api, xrn):
-    hrn, type = urn_to_hrn(xrn)
-    slicename = hrn_to_pl_slicename(hrn)
+    slicename = PlXrn(xrn, type='slice').pl_slicename()
     if not api.sliver_exists(slicename):
         raise SliverDoesNotExist(slicename)
     api.nodemanager.ReCreate(slicename)
@@ -64,7 +59,7 @@ 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)
+    slicename = PlXrn (hrn).pl_slicename()
     if not api.sliver_exists(slicename):
         raise SliverDoesNotExist(slicename)