diff --git a/ccserver/handlers.py b/ccserver/handlers.py index c4992713d5b36a1fd75189441bd1579bbdfc657f..17a76ea5870adb4e5a496a150a8b036067f6461c 100644 --- a/ccserver/handlers.py +++ b/ccserver/handlers.py @@ -41,7 +41,7 @@ class Reporter(object): def success(self, oid, message, output=None): self._reports.append({'id': oid, 'status': 'success', 'message': message, 'output': output}) - + def warn(self, oid, message, output=None): self._reports.append({'id': oid, 'status': 'warn', 'message': message, 'output': output}) @@ -55,7 +55,7 @@ class CCHandler(RpcHandler): ''' Base class for handlers of CloudControl server. ''' - + def __init__(self, server): self._server = server @@ -224,6 +224,7 @@ class HypervisorHandler(OnlineCCHandler): client = self._server.search_client_by_connection(conn) self._server.tags_update(client.login, name, value, ttl) + class CliHandler(OnlineCCHandler): ''' Handler binded to 'cli' role. @@ -237,7 +238,7 @@ class CliHandler(OnlineCCHandler): start start a vm start stop stop a vm stop destroy destroy a vm destroy - pause suspend a vm pause + pause suspend a vm pause resume resume a paused vm resume passwd change password of accounts passwd addaccount add a new account addaccount @@ -361,7 +362,7 @@ class CliHandler(OnlineCCHandler): hvcon.proxy.vol_delete(pool, name) hvcon.proxy.vm_undefine(obj['h']) errs.success(obj['id'], 'vm undefined') - + return errs.get_dict() @listed @@ -402,7 +403,7 @@ class CliHandler(OnlineCCHandler): ''' self._check(conn, 'addaccount') - + if role in WelcomeHandler.ROLES: self._server.conf.create_account(login, role, password) else: @@ -531,10 +532,10 @@ class CliHandler(OnlineCCHandler): errs.error(obj['id'], 'unknown account') else: errs.success(obj['id'], 'account deleted') - + self._server.jobs.create('kill', author=client.login, account=obj['a'], gracetime=1) - + return errs.get_dict() @listed @@ -670,7 +671,7 @@ class CliHandler(OnlineCCHandler): errs.error(obj['id'], 'unknown account') else: errs.success(obj['id'], 'right rule added') - + return errs.get_dict() @listed @@ -699,7 +700,7 @@ class CliHandler(OnlineCCHandler): errs.error(obj['id'], 'index out of range') else: errs.success(obj['id'], 'right rule deleted') - + return errs.get_dict() @listed @@ -730,7 +731,7 @@ class CliHandler(OnlineCCHandler): else: returned = objcon.connection.call('execute_command', command) errs.success(obj['id'], 'command executed', output=returned) - + return errs.get_dict() @listed @@ -767,7 +768,7 @@ class CliHandler(OnlineCCHandler): err.exception)) else: errs.success(obj['id'], 'ok') - + return errs.get_dict() @listed @@ -785,7 +786,7 @@ class CliHandler(OnlineCCHandler): 'duration', 'done', 'title', 'status') jobs = [] for job in self._server.jobs.iterjobs(show_done, show_running): - + jobs.append(job.export(props)) return {'objects': jobs, 'order': props} @@ -864,7 +865,7 @@ class CliHandler(OnlineCCHandler): # Create the job: self._server.jobs.create(mtype, **migration_properties) errs.success(migration['sid'], 'migration launched') - + return errs.get_dict() @listed