1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2025-07-31 12:41:08 +00:00

Added admin application

- Manage users
- Manage groups
- Manage logs
This commit is contained in:
Real-Gecko 2020-05-27 18:24:06 +06:00
parent 38befa4362
commit 27f62dff6c
38 changed files with 933 additions and 742 deletions

View file

@ -8,8 +8,10 @@ from vrtManager.storage import wvmStorage, wvmStorages
from libvirt import libvirtError
from django.contrib import messages
import json
from admin.decorators import superuser_only
@superuser_only
def storages(request, compute_id):
"""
:param request:
@ -17,17 +19,11 @@ def storages(request, compute_id):
:return:
"""
if not request.user.is_superuser:
return HttpResponseRedirect(reverse('index'))
error_messages = []
compute = get_object_or_404(Compute, pk=compute_id)
try:
conn = wvmStorages(compute.hostname,
compute.login,
compute.password,
compute.type)
conn = wvmStorages(compute.hostname, compute.login, compute.password, compute.type)
storages = conn.get_storages_info()
secrets = conn.get_secrets()
@ -48,12 +44,10 @@ def storages(request, compute_id):
error_messages.append(msg)
if not error_messages:
if data['stg_type'] == 'rbd':
conn.create_storage_ceph(data['stg_type'], data['name'],
data['ceph_pool'], data['ceph_host'],
conn.create_storage_ceph(data['stg_type'], data['name'], data['ceph_pool'], data['ceph_host'],
data['ceph_user'], data['secret'])
elif data['stg_type'] == 'netfs':
conn.create_storage_netfs(data['stg_type'], data['name'],
data['netfs_host'], data['source'],
conn.create_storage_netfs(data['stg_type'], data['name'], data['netfs_host'], data['source'],
data['source_format'], data['target'])
else:
conn.create_storage(data['stg_type'], data['name'], data['source'], data['target'])
@ -68,6 +62,7 @@ def storages(request, compute_id):
return render(request, 'storages.html', locals())
@superuser_only
def storage(request, compute_id, pool):
"""
:param request:
@ -75,10 +70,6 @@ def storage(request, compute_id, pool):
:param pool:
:return:
"""
if not request.user.is_superuser:
return HttpResponseRedirect(reverse('index'))
def handle_uploaded_file(path, f_name):
target = path + '/' + str(f_name)
destination = open(target, 'wb+')
@ -91,11 +82,7 @@ def storage(request, compute_id, pool):
meta_prealloc = False
try:
conn = wvmStorage(compute.hostname,
compute.login,
compute.password,
compute.type,
pool)
conn = wvmStorage(compute.hostname, compute.login, compute.password, compute.type, pool)
storages = conn.get_storages()
state = conn.is_active()
@ -216,11 +203,7 @@ def get_volumes(request, compute_id, pool):
data = {}
compute = get_object_or_404(Compute, pk=compute_id)
try:
conn = wvmStorage(compute.hostname,
compute.login,
compute.password,
compute.type,
pool)
conn = wvmStorage(compute.hostname, compute.login, compute.password, compute.type, pool)
conn.refresh()
data['vols'] = sorted(conn.get_volumes())
except libvirtError: