mirror of
https://github.com/retspen/webvirtcloud
synced 2024-12-25 15:45:23 +00:00
eliminate code repetition with class structure
This commit is contained in:
parent
a1eab70e2d
commit
e2a15d926c
1 changed files with 92 additions and 90 deletions
|
@ -138,30 +138,9 @@ def compute_graph(request, compute_id):
|
||||||
:param compute_id:
|
:param compute_id:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
compute = get_object_or_404(Compute, pk=compute_id)
|
comp_mgr = ComputeManager(compute_id)
|
||||||
try:
|
data = comp_mgr.compute_graph()
|
||||||
conn = wvmHostDetails(
|
|
||||||
compute.hostname,
|
|
||||||
compute.login,
|
|
||||||
compute.password,
|
|
||||||
compute.type,
|
|
||||||
)
|
|
||||||
current_time = timezone.now().strftime("%H:%M:%S")
|
|
||||||
cpu_usage = conn.get_cpu_usage()
|
|
||||||
mem_usage = conn.get_memory_usage()
|
|
||||||
conn.close()
|
|
||||||
except libvirtError:
|
|
||||||
cpu_usage = {"usage": 0}
|
|
||||||
mem_usage = {"usage": 0}
|
|
||||||
current_time = 0
|
|
||||||
|
|
||||||
data = json.dumps(
|
|
||||||
{
|
|
||||||
"cpudata": cpu_usage["usage"],
|
|
||||||
"memdata": mem_usage,
|
|
||||||
"timeline": current_time,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
response = HttpResponse()
|
response = HttpResponse()
|
||||||
response["Content-Type"] = "text/javascript"
|
response["Content-Type"] = "text/javascript"
|
||||||
response.write(data)
|
response.write(data)
|
||||||
|
@ -177,31 +156,8 @@ def get_compute_disk_buses(request, compute_id, arch, machine, disk):
|
||||||
:param disk:
|
:param disk:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
data = dict()
|
comp_mgr = ComputeManager(compute_id)
|
||||||
compute = get_object_or_404(Compute, pk=compute_id)
|
return HttpResponse(comp_mgr.get_disk_buses(arch, machine, disk))
|
||||||
try:
|
|
||||||
conn = wvmConnect(
|
|
||||||
compute.hostname,
|
|
||||||
compute.login,
|
|
||||||
compute.password,
|
|
||||||
compute.type,
|
|
||||||
)
|
|
||||||
|
|
||||||
disk_device_types = conn.get_disk_device_types(arch, machine)
|
|
||||||
|
|
||||||
if disk in disk_device_types:
|
|
||||||
if disk == "disk":
|
|
||||||
data["bus"] = sorted(disk_device_types)
|
|
||||||
elif disk == "cdrom":
|
|
||||||
data["bus"] = ["ide", "sata", "scsi"]
|
|
||||||
elif disk == "floppy":
|
|
||||||
data["bus"] = ["fdc"]
|
|
||||||
elif disk == "lun":
|
|
||||||
data["bus"] = ["scsi"]
|
|
||||||
except libvirtError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
return HttpResponse(json.dumps(data))
|
|
||||||
|
|
||||||
|
|
||||||
def get_compute_machine_types(request, compute_id, arch):
|
def get_compute_machine_types(request, compute_id, arch):
|
||||||
|
@ -211,20 +167,8 @@ def get_compute_machine_types(request, compute_id, arch):
|
||||||
:param arch:
|
:param arch:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
data = dict()
|
comp_mgr = ComputeManager(compute_id)
|
||||||
try:
|
return HttpResponse(comp_mgr.get_machine_types(arch))
|
||||||
compute = get_object_or_404(Compute, pk=compute_id)
|
|
||||||
conn = wvmConnect(
|
|
||||||
compute.hostname,
|
|
||||||
compute.login,
|
|
||||||
compute.password,
|
|
||||||
compute.type,
|
|
||||||
)
|
|
||||||
data["machines"] = conn.get_machine_types(arch)
|
|
||||||
except libvirtError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
return HttpResponse(json.dumps(data))
|
|
||||||
|
|
||||||
|
|
||||||
def get_compute_video_models(request, compute_id, arch, machine):
|
def get_compute_video_models(request, compute_id, arch, machine):
|
||||||
|
@ -235,20 +179,8 @@ def get_compute_video_models(request, compute_id, arch, machine):
|
||||||
:param machine:
|
:param machine:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
data = dict()
|
comp_mgr = ComputeManager(compute_id)
|
||||||
try:
|
return HttpResponse(comp_mgr.get_video_models(arch, machine))
|
||||||
compute = get_object_or_404(Compute, pk=compute_id)
|
|
||||||
conn = wvmConnect(
|
|
||||||
compute.hostname,
|
|
||||||
compute.login,
|
|
||||||
compute.password,
|
|
||||||
compute.type,
|
|
||||||
)
|
|
||||||
data["videos"] = conn.get_video_models(arch, machine)
|
|
||||||
except libvirtError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
return HttpResponse(json.dumps(data))
|
|
||||||
|
|
||||||
|
|
||||||
def get_dom_capabilities(request, compute_id, arch, machine):
|
def get_dom_capabilities(request, compute_id, arch, machine):
|
||||||
|
@ -259,18 +191,88 @@ def get_dom_capabilities(request, compute_id, arch, machine):
|
||||||
:param machine:
|
:param machine:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
data = dict()
|
comp_mgr = ComputeManager(compute_id)
|
||||||
try:
|
return HttpResponse(comp_mgr.get_dom_capabilities(arch, machine))
|
||||||
compute = get_object_or_404(Compute, pk=compute_id)
|
|
||||||
conn = wvmConnect(
|
|
||||||
compute.hostname,
|
|
||||||
compute.login,
|
|
||||||
compute.password,
|
|
||||||
compute.type,
|
|
||||||
)
|
|
||||||
data["videos"] = conn.get_disk_device_types(arch, machine)
|
|
||||||
data["bus"] = conn.get_disk_device_types(arch, machine)
|
|
||||||
except libvirtError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
return HttpResponse(json.dumps(data))
|
|
||||||
|
class ComputeManager:
|
||||||
|
def __init__(self, compute_id):
|
||||||
|
self.compute = get_object_or_404(Compute, pk=compute_id)
|
||||||
|
self.conn = wvmConnect(
|
||||||
|
self.compute.hostname,
|
||||||
|
self.compute.login,
|
||||||
|
self.compute.password,
|
||||||
|
self.compute.type,
|
||||||
|
)
|
||||||
|
|
||||||
|
def get_video_models(self, arch, machine):
|
||||||
|
data = dict()
|
||||||
|
try:
|
||||||
|
data["videos"] = self.conn.get_video_models(arch, machine)
|
||||||
|
except libvirtError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return json.dumps(data)
|
||||||
|
|
||||||
|
def get_dom_capabilities(self, arch, machine):
|
||||||
|
data = dict()
|
||||||
|
try:
|
||||||
|
data["videos"] = self.conn.get_disk_device_types(arch, machine)
|
||||||
|
data["bus"] = self.conn.get_disk_device_types(arch, machine)
|
||||||
|
except libvirtError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return json.dumps(data)
|
||||||
|
|
||||||
|
def get_machine_types(self, arch):
|
||||||
|
data = dict()
|
||||||
|
try:
|
||||||
|
data["machines"] = self.conn.get_machine_types(arch)
|
||||||
|
except libvirtError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return json.dumps(data)
|
||||||
|
|
||||||
|
def get_disk_buses(self, arch, machine, disk):
|
||||||
|
data = dict()
|
||||||
|
try:
|
||||||
|
disk_device_types = self.conn.get_disk_device_types(arch, machine)
|
||||||
|
|
||||||
|
if disk in disk_device_types:
|
||||||
|
if disk == "disk":
|
||||||
|
data["bus"] = sorted(disk_device_types)
|
||||||
|
elif disk == "cdrom":
|
||||||
|
data["bus"] = ["ide", "sata", "scsi"]
|
||||||
|
elif disk == "floppy":
|
||||||
|
data["bus"] = ["fdc"]
|
||||||
|
elif disk == "lun":
|
||||||
|
data["bus"] = ["scsi"]
|
||||||
|
except libvirtError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return json.dumps(data)
|
||||||
|
|
||||||
|
def compute_graph(self):
|
||||||
|
try:
|
||||||
|
conn = wvmHostDetails(
|
||||||
|
self.compute.hostname,
|
||||||
|
self.compute.login,
|
||||||
|
self.compute.password,
|
||||||
|
self.compute.type,
|
||||||
|
)
|
||||||
|
current_time = timezone.now().strftime("%H:%M:%S")
|
||||||
|
cpu_usage = conn.get_cpu_usage()
|
||||||
|
mem_usage = conn.get_memory_usage()
|
||||||
|
conn.close()
|
||||||
|
except libvirtError:
|
||||||
|
cpu_usage = {"usage": 0}
|
||||||
|
mem_usage = {"usage": 0}
|
||||||
|
current_time = 0
|
||||||
|
|
||||||
|
return json.dumps(
|
||||||
|
{
|
||||||
|
"cpudata": cpu_usage["usage"],
|
||||||
|
"memdata": mem_usage,
|
||||||
|
"timeline": current_time,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
Loading…
Reference in a new issue