63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import unicode_literals
|
|
|
|
from django.http import HttpResponse, JsonResponse
|
|
from django.shortcuts import render
|
|
import json
|
|
import requests
|
|
|
|
def status():
|
|
with open('conf.json') as conf:
|
|
status = json.load(conf)["api"] + '/status'
|
|
try: res = requests.get(status).content
|
|
except: res = 'connection can\'t be established'
|
|
return res
|
|
|
|
def get_status(request):
|
|
my_status = status()
|
|
return JsonResponse(my_status, safe=False)
|
|
|
|
def mount(request):
|
|
if request.method == 'POST':
|
|
data = request.POST.dict()
|
|
#s = mount(data)
|
|
with open('conf.json') as conf:
|
|
url = json.load(conf)["api"] + '/mount'
|
|
res = requests.post(url, json.dumps(data))
|
|
print res
|
|
return JsonResponse(res.content, safe=False)
|
|
|
|
def unmount(request):
|
|
print request.GET.dict()
|
|
with open('conf.json') as conf:
|
|
url = json.load(conf)["api"] + '/umount'
|
|
#data = json.dumps({'node': 'ceph1', 'mountpoint': '/mnt', 'block': 'rbd0'})
|
|
data = request.GET.dict()
|
|
try: res = requests.post(url, json.dumps(data)).content
|
|
except: res = 'connection can\'t be established'
|
|
return JsonResponse(res, safe=False)
|
|
|
|
def resolve():
|
|
with open('conf.json') as conf:
|
|
url = json.load(conf)["api"] + '/resolve'
|
|
data = request.GET.dict()
|
|
res = requests.post(metrics, json.dumps(data))
|
|
return JsonResponse(res.content, safe=False)
|
|
|
|
def get_metrics():
|
|
with open('conf.json') as conf:
|
|
metrics = json.load(conf)["api"] + '/metrics'
|
|
try: res = requests.get(metrics).content
|
|
except: res = 'connection can\'t be established'
|
|
return res
|
|
|
|
def panel(request):
|
|
with open('conf.json') as conf:
|
|
ws = json.load(conf)["ws"]
|
|
metrics = json.loads(get_metrics())
|
|
my_status = status()
|
|
return render(request, 'rbmd/index.html', {'ws' : ws, 'metrics' : metrics, 'status' : my_status})
|
|
|
|
|
|
|