1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-09 03:36:48 +00:00
Commit graph

272 commits

Author SHA1 Message Date
catborise
5def4e41fd fix(instances): NIC edits keep their settings; edits keep metadata
- change_network detached the NIC and attached one built from scratch,
  dropping its QoS, link state and other settings. It now edits the NIC
  of the persistent definition in place and defines once; a running VM
  gets the change at its next start, as the UI already says.
- add_network, delete_network and set_link_state did nothing on a
  paused VM, and set_link_state rewrote the persistent NIC from the live
  XML. They now update the running definition when the VM is active and
  the persistent one always, each from its own XML.
- Boot and console edits used xml.etree, which renamed the namespace
  prefixes of other tools' metadata (<app:info> became <ns0:info>); they
  use lxml now.
- The NIC table and the clone form are filled from the persistent
  definition (Instance.config_networks, config_disks), so a pending NIC
  change is shown and can be edited again.

A live test runs 18 domain edits on stopped, running and paused VMs
whose definition has elements WebVirtCloud does not manage, and checks
for each the effect, that nothing else in the persistent definition
changed, and that persistent-only edits leave the running VM alone.
2026-10-04 01:08:11 +03:00
catborise
e5fda79f5a feat(console): VNC is the only console type
SPICE was removed earlier; its leftovers and the console type choice go
too:
- the console settings form, update_console and the backend no longer
  offer or change the type; an invalid console form now shows its
  errors instead of being ignored;
- the create form, the API serializer and create_instance no longer take
  a graphics type, new VMs get VNC; get_graphics_types and the graphics
  entries of the domain capabilities are gone;
- migration appsettings.0013 deletes QEMU_CONSOLE_DEFAULT_TYPE;
- a VM defined elsewhere with another graphics type gets "Console type
  ... is not supported".

The locale catalogs still reference the deleted SPICE templates in
source comments; regenerating them is left to the translation work.
2026-10-04 01:08:11 +03:00
catborise
fbc6c4976f fix(instances): change the edited NIC instead of adding a new one
The edit form posts net-*-<n> fields for NIC n and carries only the
new MAC. The backend read index 0 and looked the NIC up by the new MAC,
so editing a MAC detached nothing and attached a second NIC, and edits
of any NIC but the first were applied with empty values.

The form now also posts the current MAC (net-old-mac-<n>). The view
reads the submitted NIC's fields, validates the new MAC and reports
errors. The backend replaces the NIC with the old MAC, refuses an
unknown one, and on a failed attach restores the old NIC and raises
instead of reporting success.

The view crashed with a TypeError without a Referer header; it now
returns to the instance page, and a Referer from another site is
ignored.
2026-10-04 01:08:11 +03:00
catborise
e76149c71a fix: serve compute JSON endpoints as application/json, build chipset list safely
compute_graph (text/javascript) and the machine type, disk bus, video
model and domain capability views (text/html) return JSON; send it as
application/json. create_instance_w1.html builds the chipset <option>
elements with .val().text() instead of string concatenation.
2026-10-02 22:34:05 +03:00
catborise
34851b8dc2 Merge branch 'fix/wave0-staff-console-password' into wave0-integration 2026-10-02 22:14:40 +03:00
catborise
8e23699987 fix(instances): show console settings and the VNC password only to console managers
The console settings form on the VM detail page renders the VNC password
(PasswordInput(render_value=True)) and was shown to every is_staff user.
A staff user with the global view_instances permission, or a staff owner
without is_vnc, could read the VNC password of every VM they could see.

Add instances.utils.can_manage_console (active superuser, or an active
owner with is_change and is_vnc), which matches what update_console
already enforced. The detail view only builds the form, and so only puts
the password into the page, when it returns True; the template and
update_console use the same rule.
2026-10-02 22:04:05 +03:00
catborise
4546653b5a fix: serve JSON endpoints as application/json and build DOM safely
Several views returned json.dumps() output through HttpResponse, i.e. as
text/html, and guess_mac_address reflects the URL's vname into it
(reflected XSS). Templates filled the log table and volume dropdowns by
concatenating server data into HTML strings, and log messages contain
user-entered snapshot/disk/clone names (stored XSS that runs when a
superuser opens the Logs tab).

- Use JsonResponse in guess_mac_address, random_mac_address,
  guess_clone_name, sshkeys, storages.get_volumes,
  datasource.os_metadata_json and logs.vm_logs; sshkeys?plain=true is
  served as text/plain.
- stats_tab.html builds log rows with .text(); instance.html and
  create_instance_w2.html build <option> elements with .val().text().
2026-10-02 18:29:11 +03:00
catborise
73d8fd71fb fix(instances): guard mutations and refresh lists after sync 2026-09-28 14:56:19 +03:00
catborise
b3e6fb2b7a feat(security): enforce require_POST on power actions, prevent open redirects, and isolate instance permissions 2026-09-27 13:20:45 +03:00
catborise
e980aca2ff feat(console): remove deprecated SPICE support in favor of noVNC
- Remove obsolete spice-html5 static assets and SPICE console templates
- Restrict default console types to VNC with migration 0012
- Filter out SPICE in VM creation form and backend capabilities
- Return friendly deprecation notice if legacy VM is opened with SPICE
- Clean up docs, architecture references, and libvirt-bootstrap scripts
2026-09-26 22:43:40 +03:00
Jan Krcmar
80541239ec fix template clone icon replaced with copy icon 2026-04-15 17:29:08 +02:00
catborise
3f23acbb9d
Merge pull request #638 from catborise/master
fix default nic type problem
2024-02-28 08:18:08 +03:00
catborise
a048adef8e do not show warning message when instance is shutdown 2024-02-28 08:13:08 +03:00
catborise
9ee1571f5b
Merge pull request #634 from catborise/master
fix user machine for listing
2024-02-13 14:35:03 +03:00
catborise
81b96b6512 fix listing vms for normal users 2024-02-13 14:24:38 +03:00
catborise
1f90a6c8c9
Merge pull request #631 from catborise/master
update requirements
2024-01-17 10:24:13 +03:00
catborise
9a05c182cc fix chevron up down icons 2024-01-17 10:19:03 +03:00
Wang Hong
c58d6f484d Corrected untranslated items 2023-12-13 14:00:02 +08:00
MisterBlueBear
7e8c05fff9 Global setting for NIC type 2023-11-01 18:08:38 -04:00
catborise
cf6f74f6c3 fix sr-only toggle dropdown to hide 2023-08-23 09:26:39 +03:00
cserma
f2222a6ea8 change name for network model to nic type 2023-08-17 13:22:18 +03:00
cserma
7d1cfb69b0 network interface model selection added for new instance and new interface 2023-08-16 09:13:11 +03:00
catborise
b47ec2e8f9 bootstrap icon conversion fixes 2023-08-11 09:40:38 +03:00
Emre Serdengeçti
1cbdf76df6
logger updates (#31)
* Log for failed login attempts

* Logger configuration for logging to file

* interface fixes

* login log fix, added logged in too

* bootstrap icons setup

* font-awesome icons replaced with bootstrap icons

* replaced i-tags with django_bootstrap_icons

* removed icons library from project

* bug fix

---------

Co-authored-by: catborise <catborise@gmail.com>
2023-08-09 09:20:18 +03:00
catborise
c0513f7c6b change progress bar color & fix typo 2023-05-12 11:18:17 +03:00
cserma
2941840f0d 'create new instance' screen improvements 2023-05-12 10:15:01 +03:00
cserma
3cd4212cdd modified 'create new instance' screen with compute details 2023-05-10 13:59:13 +03:00
cserma
3403d21fea log i18n fixes 2023-05-10 13:57:01 +03:00
cserma
907d47ab78 snapshots tab improvements 2023-05-10 13:57:01 +03:00
catborise
012bc97a59 add showPleasewait dialog while starting instance. 2023-04-24 14:39:22 +03:00
catborise
33d49a68a7 experimental: external snapshot fixes 2023-04-13 12:25:42 +03:00
cserma
fd6b2ec4bf external snapshot implementation 2023-04-13 12:25:42 +03:00
catborise
bea6b1454b fix grouped non grouped instance view 2023-03-13 11:22:40 +03:00
catborise
e3fb820b50 update bootstrap&bootswatch 5.0.2 -> 5.2.2. Seperate bootswatch overrides for future update easiness 2023-01-23 08:25:44 +03:00
catborise
c9f1a7d7c5 add description to snapshots. Stress out live snapshot risks 2022-09-19 15:44:57 +03:00
catborise
481c110f01 make adding input devices optional. give bus control for input devices whie instance creating 2022-09-08 08:02:49 +03:00
catborise
5f5bd379af make adding cd-rom optional while vm creating. Add default value for cd-rom bus 2022-09-07 13:46:50 +03:00
catborise
afffaa8589 fix linter warnings/error 2022-08-24 15:15:27 +03:00
catborise
6d3550bb24 console_listen_address not in the context, it's instance.console_listen_address. fixed by @wadefelix 2022-08-23 08:40:36 +03:00
catborise
cfce71ec2b
Rest framework (#24)
* Add rest framework for API: First Commit

* modify some shell scripts to make variable references safer; modify some python scripts to reduce the code complexity and cyclomatic complexity of functions.

* Add REST API for some webvirtcloud functions. Instance list/delete/create, compute list/delete/create, storages-network list/retrieve. Add swagger and redoc for API interface

* update requirements

Co-authored-by: herengui <herengui@uniontech.com>
2022-08-22 15:12:33 +03:00
Info-IIG
421f17d5ca Added VM DRBD Status to appsettings 2022-06-29 15:08:07 +02:00
Info-IIG
052610dd21 Added permission can snapshot instances 2022-06-16 14:55:08 +02:00
Info-IIG
02b02d3321 Added DRBD status 2022-06-15 13:51:56 +02:00
Info-IIG
c817d3e61a Add permission can view instances 2022-06-13 09:58:46 +02:00
catborise
86723a8271 add missing pipe mark after snapshot icon 2021-12-10 14:39:56 +03:00
catborise
5c9a5daedc remove eval for security concerns 2021-12-06 09:22:02 +03:00
catborise
c354393685 add MAC address inputs for instance create methods 2021-12-03 16:41:50 +03:00
catborise
4d21a3184b fix: please wait dialog. 2021-10-04 16:18:36 +03:00
catborise
890f592148 also show add flavor button if there is not any 2021-09-13 10:51:43 +03:00
catborise
536caacc80 add title info to vm which list under computes 2021-09-13 10:51:28 +03:00