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

Compare commits

...

9 commits

Author SHA1 Message Date
catborise
4646597b39
Merge pull request #668 from catborise/master
update minimum python3 requirements. python3 >= 3.11
2025-05-02 10:25:20 +03:00
catborise
659a6edb73 update minimum python3 requirements. python3 >= 3.11 2025-05-02 10:23:51 +03:00
catborise
099769d305
Merge pull request #666 from liangsuilong/master
crypt-r replaces crypt stdlib, support python-3.13
2025-05-02 10:10:40 +03:00
catborise
120f406b48
Merge pull request #667 from catborise/master
update requirements
2025-05-02 10:10:18 +03:00
catborise
fd54c68e6b
Merge pull request #664 from fangebee/master
Some fixes regarding Ceph/RBD volumes handling
2025-05-02 10:07:48 +03:00
catborise
34f08fc555 update requirements 2025-05-02 10:06:09 +03:00
Liang Suilong
8bca7db917 crypt-r replaces crypt stdlib, support python-3.13 2025-03-30 10:33:51 +08:00
fangebee
f26fa3d050
Detect RDB pools too 2025-03-14 10:31:40 +01:00
fangebee
8c4f1d9fe8
Workaround issue #663
do not confuse a network volume with a network interface
2025-03-13 18:17:21 +01:00
6 changed files with 19 additions and 16 deletions

View file

@ -1,7 +1,7 @@
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/retspen/webvirtcloud)
# WebVirtCloud
###### Python 3.x & Django 4.2 LTS
###### Python >=3.11 & Django 4.2 LTS
## Features
* QEMU/KVM Hypervisor Management

View file

@ -2,25 +2,26 @@ Django==4.2.20
django_bootstrap5==25.1
django-bootstrap-icons==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-auth-ldap==5.1.0
djangorestframework==3.15.2
djangorestframework==3.16.0
drf-nested-routers==0.94.1
drf-yasg==1.21.10
eventlet==0.39.1
gunicorn==23.0.0
libsass==0.23.0
libvirt-python==11.1.0
lxml==5.3.1
libvirt-python==11.2.0
lxml==5.4.0
ldap3==2.9.1
markdown==3.6
#psycopg2-binary
python-engineio==4.11.2
python-socketio==5.12.1
qrcode==8.0
python-engineio==4.12.0
python-socketio==5.13.0
qrcode==8.2
rwlock==0.0.7
tzdata
websockify==0.12.0
whitenoise==6.9.0
zipp==3.21.0
crypt-r==3.13.1

View file

@ -1,9 +1,9 @@
-r ../conf/requirements.txt
coverage==7.6.12
django-debug-toolbar==5.0.1
coverage==7.8.0
django-debug-toolbar==5.2.0
django-debug-toolbar-template-profiler
pycodestyle==2.12.1
pyflakes==3.2.0
pylint==3.3.5
pycodestyle==2.13.0
pyflakes==3.3.2
pylint==3.3.6
yapf==0.43.0
black==25.1.0

View file

@ -1,4 +1,4 @@
import crypt
import crypt_r
import json
import os
import re
@ -476,7 +476,7 @@ def set_root_pass(request, pk):
if request.method == "POST":
passwd = request.POST.get("passwd", None)
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}
if instance.proxy.get_status() == 5:

View file

@ -631,7 +631,7 @@ class wvmInstance(wvmConnect):
dev_type = dev.get("type")
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")
elif dev_type == "network":

View file

@ -34,6 +34,8 @@ class wvmStorages(wvmConnect):
stg = wvmStorage(self.host, self.login, self.passwd, self.conn, pool_name)
if stg.get_target_path() == target:
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
def create_storage(self, stg_type, name, source, target):