no need to store managers in differnty directories depending on their type, the type...
[sfa.git] / sfa / managers / component_manager_pl.py
1 import os
2 import xmlrpclib
3 from sfa.util.faults import *
4 from sfa.util.sfaticket import SfaTicket
5
6 def start_slice(api, slicename):
7     api.nodemanger.Start(slicename)
8
9 def stop_slice(api, slicename):
10     api.nodemanager.Stop(slicename)
11
12 def delete_slice(api, slicename):
13     api.nodemanager.Destroy(slicename)
14
15 def reset_slice(api, slicename):
16     if not api.sliver_exists(slicename):
17         raise SliverDoesNotExist(slicename)
18     api.nodemanager.ReCreate(slicename)
19  
20 def get_slices(api):
21     slicenames = api.nodemanager.GetXiDs().keys()
22     return slicenames
23
24 def roboot():
25     os.system("/sbin/reboot")        
26
27 def redeem_ticket(api, ticket_string):
28     ticket = SfaTicket(string=ticket_string)
29     ticket.decode()
30     hrn = ticket.attributes['slivers'][0]['hrn']
31     slicename = hrn_to_pl_slicename(hrn)
32     if not api.sliver_exists(slicename):
33         raise SliverDoesNotExist(slicename)
34
35     # convert ticket to format nm is used to
36     nm_ticket = xmlrpclib.dumps((ticket.attributes,), methodresponse=True)
37     self.api.nodemanager.AdminTicket(nm_ticket)
38     
39