Loading ccserver/handlers.py +9 −6 Original line number Diff line number Diff line Loading @@ -194,40 +194,43 @@ class CliHandler(OnlineCCHandler): def _vm_action(self, query, method, *args, **kwargs): vms = self._server.list(query, show=set(('r', 'h'))) hypervisors = list(self._server.iter_connected_role('hv')) errs = Reporter() for hv in hypervisors: vm_to_start = [] for vm in vms: if vm['r'] != 'vm': continue errs.error(vm['id'], 'not a vm') elif vm['id'].split('.')[0] == hv.login: vm_to_start.append(vm['h']) errs.success(vm['id'], 'ok') if vm_to_start: hv.connection.call(method, vm_to_start, *args, **kwargs) return errs.get_dict() @listed def start(self, conn, query): self._check(conn, 'start', query) self._vm_action(query, 'vm_start') return self._vm_action(query, 'vm_start') @listed def stop(self, conn, query): self._check(conn, 'stop', query) self._vm_action(query, 'vm_stop', force=False) return self._vm_action(query, 'vm_stop', force=False) @listed def destroy(self, conn, query): self._check(conn, 'destroy', query) self._vm_action(query, 'vm_stop', force=True) return self._vm_action(query, 'vm_stop', force=True) @listed def pause(self, conn, query): self._check(conn, 'pause', query) self._vm_action(query, 'vm_suspend') return self._vm_action(query, 'vm_suspend') @listed def resume(self, conn, query): self._check(conn, 'resume', query) self._vm_action(query, 'vm_resume') return self._vm_action(query, 'vm_resume') @listed def passwd(self, conn, query, password, method='ssha'): Loading Loading
ccserver/handlers.py +9 −6 Original line number Diff line number Diff line Loading @@ -194,40 +194,43 @@ class CliHandler(OnlineCCHandler): def _vm_action(self, query, method, *args, **kwargs): vms = self._server.list(query, show=set(('r', 'h'))) hypervisors = list(self._server.iter_connected_role('hv')) errs = Reporter() for hv in hypervisors: vm_to_start = [] for vm in vms: if vm['r'] != 'vm': continue errs.error(vm['id'], 'not a vm') elif vm['id'].split('.')[0] == hv.login: vm_to_start.append(vm['h']) errs.success(vm['id'], 'ok') if vm_to_start: hv.connection.call(method, vm_to_start, *args, **kwargs) return errs.get_dict() @listed def start(self, conn, query): self._check(conn, 'start', query) self._vm_action(query, 'vm_start') return self._vm_action(query, 'vm_start') @listed def stop(self, conn, query): self._check(conn, 'stop', query) self._vm_action(query, 'vm_stop', force=False) return self._vm_action(query, 'vm_stop', force=False) @listed def destroy(self, conn, query): self._check(conn, 'destroy', query) self._vm_action(query, 'vm_stop', force=True) return self._vm_action(query, 'vm_stop', force=True) @listed def pause(self, conn, query): self._check(conn, 'pause', query) self._vm_action(query, 'vm_suspend') return self._vm_action(query, 'vm_suspend') @listed def resume(self, conn, query): self._check(conn, 'resume', query) self._vm_action(query, 'vm_resume') return self._vm_action(query, 'vm_resume') @listed def passwd(self, conn, query, password, method='ssha'): Loading