3 from sfa.util.faults import *
4 from sfa.util.misc import *
5 from sfa.util.sfaticket import SfaTicket
7 def start_slice(api, slicename):
8 record = {'name': hrn_to_pl_slicename(slicename)}
9 api.nodemanger.Start(record)
11 def stop_slice(api, slicename):
12 record = {'name': hrn_to_pl_slicename(slicename)}
13 api.nodemanager.Stop(record)
15 def delete_slice(api, slicename):
16 record = {'name': hrn_to_pl_slicename(slicename)}
17 api.nodemanager.Destroy(record)
19 def reset_slice(api, slicename):
20 record = {'name': hrn_to_pl_slicename(slicename)}
21 if not api.sliver_exists(slicename):
22 raise SliverDoesNotExist(slicename)
23 api.nodemanager.ReCreate(record)
26 slicenames = api.nodemanager.GetXiDs().keys()
30 os.system("/sbin/reboot")
32 def redeem_ticket(api, ticket_string):
33 ticket = SfaTicket(string=ticket_string)
35 hrn = ticket.attributes['slivers'][0]['hrn']
36 slicename = hrn_to_pl_slicename(hrn)
37 if not api.sliver_exists(slicename):
38 raise SliverDoesNotExist(slicename)
40 # convert ticket to format nm is used to
41 nm_ticket = xmlrpclib.dumps((ticket.attributes,), methodresponse=True)
42 self.api.nodemanager.AdminTicket(nm_ticket)