X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmanagers%2Fcomponent_manager_pl.py;h=6c36809709891d350ed7256db8dd7c0189e052bb;hb=06b330f0ee047bdb107e43e82b1d7356c876bc15;hp=29cd20efbd91cc7badcb4ad180deba45f355e741;hpb=ba29c3fd0bd7fd20765a8e29ac17fa41dce0a246;p=sfa.git diff --git a/sfa/managers/component_manager_pl.py b/sfa/managers/component_manager_pl.py index 29cd20ef..6c368097 100644 --- a/sfa/managers/component_manager_pl.py +++ b/sfa/managers/component_manager_pl.py @@ -1,7 +1,9 @@ import os import xmlrpclib + from sfa.util.faults import * -from sfa.util.namespace import * +from sfa.util.xrn import urn_to_hrn +from sfa.util.plxrn import hrn_to_pl_slicename from sfa.util.sfaticket import SfaTicket def init_server(): @@ -13,21 +15,31 @@ def init_server(): # our keypair may be old, try refreshing sfa_component_setup.get_node_key() sfa_component_setup.get_credential(force=True) - sfa_component_sertup.get_trusted_certs() - - + sfa_component_setup.get_trusted_certs() -def start_slice(api, xrn): +def get_version(): + version = {} + version['geni_api'] = 1 + return version + +def slice_status(api, slice_xrn, creds): + result = {} + result['geni_urn'] = slice_xrn + result['geni_status'] = 'unknown' + result['geni_resources'] = {} + return result + +def start_slice(api, xrn, creds): hrn, type = urn_to_hrn(xrn) slicename = hrn_to_pl_slicename(hrn) api.nodemanger.Start(slicename) -def stop_slice(api, xrn): +def stop_slice(api, xrn, creds): hrn, type = urn_to_hrn(xrn) slicename = hrn_to_pl_slicename(hrn) api.nodemanager.Stop(slicename) -def delete_slice(api, xrn): +def delete_slice(api, xrn, creds): hrn, type = urn_to_hrn(xrn) slicename = hrn_to_pl_slicename(hrn) api.nodemanager.Destroy(slicename) @@ -40,11 +52,13 @@ def reset_slice(api, xrn): api.nodemanager.ReCreate(slicename) def get_slices(api): - slicenames = api.nodemanager.GetXIDs().keys() - return slicenames - -def roboot(): - os.system("/sbin/reboot") + # this returns a tuple, the data we want is at index 1 + xids = api.nodemanager.GetXIDs() + # unfortunately the data we want is given to us as + # a string but we really want it as a dict + # lets eval it + slices = eval(xids[1]) + return slices.keys() def redeem_ticket(api, ticket_string): ticket = SfaTicket(string=ticket_string) @@ -56,6 +70,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)