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:
parent
713d565a2d
commit
fec59b1dd7
37 changed files with 1106 additions and 517 deletions
|
|
@ -1,33 +1,31 @@
|
|||
import json
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
from django.contrib import messages
|
||||
from django.http import HttpResponseRedirect, HttpResponse
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.urls import reverse
|
||||
from django.contrib import messages
|
||||
from libvirt import libvirtError
|
||||
|
||||
from admin.decorators import superuser_only
|
||||
from computes.models import Compute
|
||||
from appsettings.models import AppSettings
|
||||
from storages.forms import AddStgPool, AddImage, CloneImage
|
||||
from vrtManager.storage import wvmStorage, wvmStorages
|
||||
|
||||
|
||||
@superuser_only
|
||||
def storages(request, compute_id):
|
||||
"""
|
||||
:param request:
|
||||
:param 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 +46,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 +64,7 @@ def storages(request, compute_id):
|
|||
return render(request, 'storages.html', locals())
|
||||
|
||||
|
||||
@superuser_only
|
||||
def storage(request, compute_id, pool):
|
||||
"""
|
||||
:param request:
|
||||
|
|
@ -75,10 +72,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 +84,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()
|
||||
|
|
@ -226,11 +215,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:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue