from django.http import HttpResponseRedirect from django.core.urlresolvers import reverse from django.shortcuts import render from computes.models import Compute from vrtManager.hostdetails import wvmHostDetails from vrtManager.connection import connection_manager from libvirt import libvirtError def computes(request): """ :param request: :return: """ if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('index')) if not request.user.is_superuser: return HttpResponseRedirect(reverse('index')) def get_hosts_status(computes): """ Function return all hosts all vds on host """ compute_data = [] for compute in computes: compute_data.append({'id': compute.id, 'name': compute.name, 'hostname': compute.hostname, 'status': connection_manager.host_is_up(compute.type, compute.hostname), 'type': compute.type, 'login': compute.login, 'password': compute.password }) return compute_data computes = Compute.objects.filter() computes_info = get_hosts_status(computes) return render(request, 'computes.html', locals()) def overview(request, compute_id): """ :param request: :return: """ if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('index')) if not request.user.is_superuser: return HttpResponseRedirect(reverse('index')) error_messages = [] compute = Compute.objects.get(id=compute_id) try: conn = wvmHostDetails(compute.hostname, compute.login, compute.password, compute.type) hostname, host_arch, host_memory, logical_cpu, model_cpu, uri_conn = conn.get_node_info() hypervisor = conn.hypervisor_type() mem_usage = conn.get_memory_usage() conn.close() except libvirtError as lib_err: error_messages.append(lib_err) return render(request, 'overview.html', locals())