X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=api_calls.py;h=592335dfa06010f9a4079e0046e245c5965c1838;hb=ccc7b9c4b76a89faad66867b00d16ac45333b6de;hp=fa6ce2208c6b0cb5753f54a5d71cd23b648f648d;hpb=d3a3b2d3ea98e72183d1cb5497c38badaa0c5863;p=nodemanager.git diff --git a/api_calls.py b/api_calls.py index fa6ce22..592335d 100644 --- a/api_calls.py +++ b/api_calls.py @@ -1,6 +1,4 @@ -# $Id$ -# $URL$ - +# """Sliver manager API. This module exposes an XMLRPC interface that allows PlanetLab users to @@ -20,6 +18,7 @@ import socket import struct import threading import xmlrpclib +import slivermanager try: from PLC.Parameter import Parameter, Mixed @@ -28,7 +27,7 @@ except: def Mixed(a = None, b = None, c = None): pass -import accounts +import account import logger # TODO: These try/excepts are a hack to allow doc/DocBookLocal.py to @@ -37,8 +36,6 @@ import logger # A better approach will involve more extensive code splitting, I think. try: import database except: import logger as database -try: import sliver_vs -except: import logger as sliver_vs import ticket as ticket_module import tools @@ -149,7 +146,7 @@ def AdminTicket(ticket): @export_to_api(0) def GetXIDs(): """Return an dictionary mapping Slice names to XIDs""" - return dict([(pwent[0], pwent[2]) for pwent in pwd.getpwall() if pwent[6] == sliver_vs.Sliver_VS.SHELL]) + return dict([(pwent[0], pwent[2]) for pwent in pwd.getpwall() if pwent[6] == slivermanager.sliver_password_shell]) @export_to_docbook(roles=['self'], accepts=[], @@ -172,7 +169,7 @@ def Create(sliver_name): """Create a non-PLC-instantiated sliver""" rec = sliver_name if rec['instantiation'] == 'delegated': - accounts.get(rec['name']).ensure_created(rec) + account.get(rec['name']).ensure_created(rec) logger.log("api_calls: Create %s"%rec['name']) else: raise Exception, "Only PLC can create non delegated slivers." @@ -186,7 +183,7 @@ def Destroy(sliver_name): """Destroy a non-PLC-instantiated sliver""" rec = sliver_name if rec['instantiation'] == 'delegated': - accounts.get(rec['name']).ensure_destroyed() + account.get(rec['name']).ensure_destroyed() logger.log("api_calls: Destroy %s"%rec['name']) else: raise Exception, "Only PLC can destroy non delegated slivers." @@ -199,7 +196,7 @@ def Destroy(sliver_name): def Start(sliver_name): """Configure and start sliver.""" rec = sliver_name - accounts.get(rec['name']).start(rec) + account.get(rec['name']).start(rec) logger.log("api_calls: Start %s"%rec['name']) @@ -210,7 +207,7 @@ def Start(sliver_name): def Stop(sliver_name): """Kill all processes belonging to the specified sliver""" rec = sliver_name - accounts.get(rec['name']).stop() + account.get(rec['name']).stop() logger.log("api_calls: Stop %s"%rec['name']) @@ -221,9 +218,9 @@ def Stop(sliver_name): def ReCreate(sliver_name): """Stop, Destroy, Create, Start sliver in order to reinstall it.""" rec = sliver_name - accounts.get(rec['name']).stop() - accounts.get(rec['name']).ensure_created(rec) - accounts.get(rec['name']).start(rec) + account.get(rec['name']).stop() + account.get(rec['name']).ensure_created(rec) + account.get(rec['name']).start(rec) logger.log("api_calls: ReCreate %s"%rec['name']) @export_to_docbook(roles=['nm-controller', 'self'],