3 from sfa.util.faults import *
4 from sfa.util.misc import *
5 from sfa.util.sfaticket import SfaTicket
8 from server import sfa_component_setup
9 # get current trusted gids
11 sfa_component_setup.get_trusted_certs()
13 # our keypair may be old, try refreshing
14 sfa_component_setup.get_node_key()
15 sfa_component_setup.get_credential(force=True)
16 sfa_component_sertup.get_trusted_certs()
20 def start_slice(api, slicename):
21 record = api.nmdb.get(hrn_to_pl_slicename(slicename))
22 api.nodemanger.Start(record)
24 def stop_slice(api, slicename):
25 record = api.nmdb.get(hrn_to_pl_slicename(slicename))
26 api.nodemanager.Stop(record)
28 def delete_slice(api, slicename):
29 record = api.nmdb.get(hrn_to_pl_slicename(slicename))
30 api.nodemanager.Destroy(record)
32 def reset_slice(api, slicename):
33 record = api.nmdb.get(hrn_to_pl_slicename(slicename))
34 if not api.sliver_exists(slicename):
35 raise SliverDoesNotExist(slicename)
36 api.nodemanager.ReCreate(record)
39 slicenames = api.nodemanager.GetXIDs().keys()
43 os.system("/sbin/reboot")
45 def redeem_ticket(api, ticket_string):
46 ticket = SfaTicket(string=ticket_string)
48 hrn = ticket.attributes['slivers'][0]['hrn']
49 slicename = hrn_to_pl_slicename(hrn)
50 if not api.sliver_exists(slicename):
51 raise SliverDoesNotExist(slicename)
53 # convert ticket to format nm is used to
54 nm_ticket = xmlrpclib.dumps((ticket.attributes,), methodresponse=True)
55 self.api.nodemanager.AdminTicket(nm_ticket)