def specific_task(request, lab_name="", job_id="", task_id=""): lab_token = request.META.get('HTTP_AUTH_TOKEN') LabManagerTracker.get( lab_name, lab_token) # Authorize caller, but we dont need the result if request.method == "POST": task = get_task(task_id) if 'status' in request.POST: task.status = request.POST.get('status') if 'message' in request.POST: task.message = request.POST.get('message') if 'lab_token' in request.POST: task.lab_token = request.POST.get('lab_token') task.save() NotificationHandler.task_updated(task) d = {} d['task'] = task.config.get_delta() m = {} m['status'] = task.status m['job'] = str(task.job) m['message'] = task.message d['meta'] = m return JsonResponse(d, safe=False) elif request.method == "GET": return JsonResponse(get_task(task_id).config.get_delta())
def specific_job(request, lab_name="", job_id=""): lab_token = request.META.get('HTTP_AUTH_TOKEN') lab_manager = LabManagerTracker.get(lab_name, lab_token) if request.method == "POST": return JsonResponse(lab_manager.update_job(job_id, request.POST), safe=False) return JsonResponse(lab_manager.get_job(job_id), safe=False)
def update_host_bmc(request, lab_name="", host_id=""): lab_token = request.META.get('HTTP_AUTH_TOKEN') lab_manager = LabManagerTracker.get(lab_name, lab_token) if request.method == "POST": # update / create RemoteInfo for host return JsonResponse(lab_manager.update_host_remote_info( request.POST, host_id), safe=False)
def lab_host(request, lab_name="", host_id=""): lab_token = request.META.get('HTTP_AUTH_TOKEN') lab_manager = LabManagerTracker.get(lab_name, lab_token) if request.method == "GET": return JsonResponse(lab_manager.get_host(host_id), safe=False) if request.method == "POST": return JsonResponse(lab_manager.update_host(host_id, request.POST), safe=False)
def lab_profile(request, lab_name=""): lab_token = request.META.get('HTTP_AUTH_TOKEN') lab_manager = LabManagerTracker.get(lab_name, lab_token) return JsonResponse(lab_manager.get_profile(), safe=False)
def lab_status(request, lab_name=""): lab_token = request.META.get('HTTP_AUTH_TOKEN') lab_manager = LabManagerTracker.get(lab_name, lab_token) if request.method == "POST": return JsonResponse(lab_manager.set_status(request.POST), safe=False) return JsonResponse(lab_manager.get_status(), safe=False)
def get_idf(request, lab_name="", booking_id=""): lab_token = request.META.get('HTTP_AUTH_TOKEN') lab_manager = LabManagerTracker.get(lab_name, lab_token) return HttpResponse(lab_manager.get_idf(booking_id), content_type="text/plain")