mirror of
https://github.com/retspen/webvirtcloud
synced 2025-07-31 12:41:08 +00:00
Compare commits
9 commits
fb108f9ac9
...
4646597b39
Author | SHA1 | Date | |
---|---|---|---|
|
4646597b39 | ||
|
659a6edb73 | ||
|
099769d305 | ||
|
120f406b48 | ||
|
fd54c68e6b | ||
|
34f08fc555 | ||
|
8bca7db917 | ||
|
f26fa3d050 | ||
|
8c4f1d9fe8 |
6 changed files with 19 additions and 16 deletions
|
@ -1,7 +1,7 @@
|
||||||
[](https://gitpod.io/#https://github.com/retspen/webvirtcloud)
|
[](https://gitpod.io/#https://github.com/retspen/webvirtcloud)
|
||||||
|
|
||||||
# WebVirtCloud
|
# WebVirtCloud
|
||||||
###### Python 3.x & Django 4.2 LTS
|
###### Python >=3.11 & Django 4.2 LTS
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
* QEMU/KVM Hypervisor Management
|
* QEMU/KVM Hypervisor Management
|
||||||
|
|
|
@ -2,25 +2,26 @@ Django==4.2.20
|
||||||
django_bootstrap5==25.1
|
django_bootstrap5==25.1
|
||||||
django-bootstrap-icons==0.9.0
|
django-bootstrap-icons==0.9.0
|
||||||
django-login-required-middleware==0.9.0
|
django-login-required-middleware==0.9.0
|
||||||
django-otp==1.5.4
|
django-otp==1.6.0
|
||||||
django-qr-code==4.1.0
|
django-qr-code==4.1.0
|
||||||
django-auth-ldap==5.1.0
|
django-auth-ldap==5.1.0
|
||||||
djangorestframework==3.15.2
|
djangorestframework==3.16.0
|
||||||
drf-nested-routers==0.94.1
|
drf-nested-routers==0.94.1
|
||||||
drf-yasg==1.21.10
|
drf-yasg==1.21.10
|
||||||
eventlet==0.39.1
|
eventlet==0.39.1
|
||||||
gunicorn==23.0.0
|
gunicorn==23.0.0
|
||||||
libsass==0.23.0
|
libsass==0.23.0
|
||||||
libvirt-python==11.1.0
|
libvirt-python==11.2.0
|
||||||
lxml==5.3.1
|
lxml==5.4.0
|
||||||
ldap3==2.9.1
|
ldap3==2.9.1
|
||||||
markdown==3.6
|
markdown==3.6
|
||||||
#psycopg2-binary
|
#psycopg2-binary
|
||||||
python-engineio==4.11.2
|
python-engineio==4.12.0
|
||||||
python-socketio==5.12.1
|
python-socketio==5.13.0
|
||||||
qrcode==8.0
|
qrcode==8.2
|
||||||
rwlock==0.0.7
|
rwlock==0.0.7
|
||||||
tzdata
|
tzdata
|
||||||
websockify==0.12.0
|
websockify==0.12.0
|
||||||
whitenoise==6.9.0
|
whitenoise==6.9.0
|
||||||
zipp==3.21.0
|
zipp==3.21.0
|
||||||
|
crypt-r==3.13.1
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
-r ../conf/requirements.txt
|
-r ../conf/requirements.txt
|
||||||
coverage==7.6.12
|
coverage==7.8.0
|
||||||
django-debug-toolbar==5.0.1
|
django-debug-toolbar==5.2.0
|
||||||
django-debug-toolbar-template-profiler
|
django-debug-toolbar-template-profiler
|
||||||
pycodestyle==2.12.1
|
pycodestyle==2.13.0
|
||||||
pyflakes==3.2.0
|
pyflakes==3.3.2
|
||||||
pylint==3.3.5
|
pylint==3.3.6
|
||||||
yapf==0.43.0
|
yapf==0.43.0
|
||||||
black==25.1.0
|
black==25.1.0
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import crypt
|
import crypt_r
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
@ -476,7 +476,7 @@ def set_root_pass(request, pk):
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
passwd = request.POST.get("passwd", None)
|
passwd = request.POST.get("passwd", None)
|
||||||
if passwd:
|
if passwd:
|
||||||
passwd_hash = crypt.crypt(passwd, "$6$kgPoiREy")
|
passwd_hash = crypt_r.crypt(passwd, "$6$kgPoiREy")
|
||||||
data = {"action": "password", "passwd": passwd_hash, "vname": instance.name}
|
data = {"action": "password", "passwd": passwd_hash, "vname": instance.name}
|
||||||
|
|
||||||
if instance.proxy.get_status() == 5:
|
if instance.proxy.get_status() == 5:
|
||||||
|
|
|
@ -631,7 +631,7 @@ class wvmInstance(wvmConnect):
|
||||||
dev_type = dev.get("type")
|
dev_type = dev.get("type")
|
||||||
dev_device = dev.get("device")
|
dev_device = dev.get("device")
|
||||||
|
|
||||||
if dev_type == "file":
|
if dev_type == "file" or (dev_device == "disk" and dev_type == "network"):
|
||||||
dev_target = dev.find("target").get("dev")
|
dev_target = dev.find("target").get("dev")
|
||||||
|
|
||||||
elif dev_type == "network":
|
elif dev_type == "network":
|
||||||
|
|
|
@ -34,6 +34,8 @@ class wvmStorages(wvmConnect):
|
||||||
stg = wvmStorage(self.host, self.login, self.passwd, self.conn, pool_name)
|
stg = wvmStorage(self.host, self.login, self.passwd, self.conn, pool_name)
|
||||||
if stg.get_target_path() == target:
|
if stg.get_target_path() == target:
|
||||||
return self.get_storage(pool_name)
|
return self.get_storage(pool_name)
|
||||||
|
if stg.get_type() == "rbd" and stg.get_source_name() == target:
|
||||||
|
return self.get_storage(pool_name)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def create_storage(self, stg_type, name, source, target):
|
def create_storage(self, stg_type, name, source, target):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue