#!/usr/bin/python3 from bottle import run, route, request, template,get ,post import libvirt session = libvirt.open('qemu:///system') def listVDS(): VdsListVar = list() for domain in session.listAllDomains(0): VdsListVar.append(dict(name=domain.name(),state=domain.isActive())) return VdsListVar @route('/') def index(): return str(listVDS()) @get('/action') # or @route('/login') def login(): return '''
VDS Name:
Action (start/stop):
Start
Stop
destroy
''' @post('/action') # or @route('/login', method='POST') def do_action(): act = request.forms.get('act') dom = session.lookupByName(request.forms.get('name')) if (act == "start"): dom.create() return dict(name=request.forms.get('name'),state="started") elif (act == "stop"): dom.shutdown() return dict(name=request.forms.get('name'),state="shutdown") elif (act == "destroy"): dom.destroy() return dict(name=request.forms.get('name'),state="destroyed") else: return dict(state="error") if __name__ == '__main__': run(host='0.0.0.0', port=5000, debug=True)