def virtual_machines(request, cluster_slug): """ Display all virtual machines in a cluster. Filtered by access the user has permissions for """ cluster = get_object_or_404(Cluster, slug=cluster_slug) user = request.user admin = True if user.is_superuser else user.has_perm('admin', cluster) if not admin: return render_403(request, _("You do not have sufficient privileges")) vms = cluster.virtual_machines.select_related('cluster').all() vms = render_vms(request, vms) return render_to_response("ganeti/virtual_machine/table.html", {'cluster': cluster, 'vms':vms}, context_instance=RequestContext(request))
def primary(request, cluster_slug, host, rest=False): """ Renders a list of primary VirtualMachines on the given node """ node, cluster = get_node_and_cluster_or_404(cluster_slug, host) user = request.user if not (user.is_superuser or user.has_any_perms(cluster, ['admin','migrate'])): if not rest: return render_403(request, _("You do not have sufficient privileges")) else: return {'error':'You do not have sufficient privileges'} vms = node.primary_vms.all() if not rest: vms = render_vms(request, vms) return render_to_response("ganeti/virtual_machine/table.html", {'tableID': 'table_primary', 'primary_node':True, 'node': node, 'vms':vms}, context_instance=RequestContext(request)) else: return vms