libvirt-back/index.py

52 lines
1.6 KiB
Python
Raw Normal View History

2021-03-24 22:33:00 +03:00
#!/usr/bin/python3
from bottle import run, route, request, template,get ,post
import libvirt
session = libvirt.open('qemu:///system')
def listVDS():
VdsListVar = list()
for i in session.listDefinedDomains():
VdsListVar.append(i)
return VdsListVar
@route('/')
def index():
# return 'Привет, мир!'
2021-03-24 22:37:58 +03:00
return str(listVDS())
2021-03-24 22:33:00 +03:00
@get('/action') # or @route('/login')
def login():
return '''
<form action="/action" method="post">
VDS Name: <input name="username" type="text" /> <br>
Action (start/stop): <br>
<input type="radio" name="act" value="start"> Start<Br>
<input type="radio" name="act" value="stop"> Stop<Br>
2021-03-24 22:37:58 +03:00
<input type="radio" name="act" value="destroy"> destroy<Br>
<input value="Name" type="submit" />
2021-03-24 22:33:00 +03:00
</form>
'''
@post('/action') # or @route('/login', method='POST')
def do_action():
act = request.forms.get('act')
dom = session.lookupByName(request.forms.get('username'))
if (act == "start"):
dom.create()
2021-03-24 22:46:29 +03:00
return "<p>Started "+request.forms.get('username')+" succesfully!</p><a href='/action'>back</a>"
2021-03-24 22:33:00 +03:00
elif (act == "stop"):
dom.shutdown()
2021-03-24 22:46:29 +03:00
return "<p>Stopped "+request.forms.get('username')+"</p> <a href='/action'>back</a>"
2021-03-24 22:37:58 +03:00
elif (act == "destroy"):
dom.destroy()
2021-03-24 22:46:29 +03:00
return "<p>Destroyed "+request.forms.get('username')+"</p> <a href='/action'>back</a>"
2021-03-24 22:33:00 +03:00
else:
return "Error"
if __name__ == '__main__':
run(host='0.0.0.0', port=5000, debug=True)