X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmanagers%2Fcomponent_manager_pl.py;h=219d573fe5db0d4ff08435ece289d860e34436af;hb=713d58df0baa1f9739eec9bfa30ceb41d7149e23;hp=699297147a9de713d0acbaaa4ddfd60e1fbf1afd;hpb=81ec6a0c9ab0e8907af3a8d59fcb6f941aca400b;p=sfa.git diff --git a/sfa/managers/component_manager_pl.py b/sfa/managers/component_manager_pl.py index 69929714..219d573f 100644 --- a/sfa/managers/component_manager_pl.py +++ b/sfa/managers/component_manager_pl.py @@ -1,13 +1,16 @@ -import xmlrpclib - from sfa.util.faults import SliverDoesNotExist -from sfa.util.plxrn import PlXrn -from sfa.trust.sfaticket import SfaTicket from sfa.util.version import version_core +from sfa.util.py23 import xmlrpc_client + +from sfa.trust.sfaticket import SfaTicket + +from sfa.planetlab.plxrn import PlXrn + + +def GetVersion(api, options): + return version_core({'interface': 'component', + 'testbed': 'myplc'}) -def GetVersion(api): - return version_core({'interface':'component', - 'testbed':'myplc'}) def init_server(): from sfa.server import sfa_component_setup @@ -20,51 +23,57 @@ def init_server(): sfa_component_setup.GetCredential(force=True) sfa_component_setup.get_trusted_certs() + def SliverStatus(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): slicename = PlXrn(xrn, type='slice').pl_slicename() api.driver.nodemanager.Start(slicename) + def stop_slice(api, xrn, creds): slicename = PlXrn(xrn, type='slice').pl_slicename() api.driver.nodemanager.Stop(slicename) + def DeleteSliver(api, xrn, creds, call_id): slicename = PlXrn(xrn, type='slice').pl_slicename() api.driver.nodemanager.Destroy(slicename) + def reset_slice(api, xrn): slicename = PlXrn(xrn, type='slice').pl_slicename() if not api.sliver_exists(slicename): raise SliverDoesNotExist(slicename) api.driver.nodemanager.ReCreate(slicename) - + # xxx outdated - this should accept a credential & call_id + + def ListSlices(api): - # this returns a tuple, the data we want is at index 1 + # this returns a tuple, the data we want is at index 1 xids = api.driver.nodemanager.GetXIDs() - # unfortunately the data we want is given to us as + # 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) ticket.decode() hrn = ticket.attributes['slivers'][0]['hrn'] - slicename = PlXrn (hrn).pl_slicename() + slicename = PlXrn(hrn).pl_slicename() 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) + nm_ticket = xmlrpc_client.dumps((ticket.attributes,), methodresponse=True) api.driver.nodemanager.AdminTicket(nm_ticket) - -