mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-08 19:26:48 +00:00
feat(instances): a VM's options in one list, each saved when it can be
Settings > Options was four forms under bold sentences, most of them disabled while the VM ran. The owner chose this layout from three rendered options: one list, each row a setting with its description on the left and its control on the right: VM details (title, description), Template, primary video model, QEMU guest agent. vCPU hot plug moved to Resize > CPU, next to the vCPU counts. Codex reviewed the four forms; these are fixed: - Title, description and the video model are saved while the VM runs: they are in the persistent definition, used at the next start. - The template flag has its own form and view, set_template, for superusers and staff, and only for a shut-off VM: a running VM made a template left the quota while it kept running. Turning a template back into a VM checks the quota there, and each change is audited. The title form no longer touches the flag. - A new video model stays the primary one; the old model's memory and head settings, which are its own, go with it. - The agent and vCPU hot plug forms show the persistent definition; they showed the running VM's, so a pending change looked undone. - Enabling the guest agent adds its channel only where it is missing: saving Enabled again failed, and a channel pending the next start kept a running VM from getting one. - The agent line tells a VM that is not running, one without a channel, and a connected or not connected agent apart.
This commit is contained in:
parent
46188d3230
commit
a993c12db0
13 changed files with 272 additions and 172 deletions
|
|
@ -110,6 +110,8 @@ CHANGE_VM = {
|
|||
# Also needs is_vnc (can_manage_console). Snapshots also need
|
||||
# instances.snapshot_instances, which no role here has: refused to all.
|
||||
CONSOLE_SETTINGS = {"instances:update_console"}
|
||||
# Also needs is_staff: whether the VM is a template.
|
||||
TEMPLATE_FLAG = {"instances:set_template"}
|
||||
DELETE_VM = {"instances:destroy"}
|
||||
|
||||
ROLE_EXPECTATIONS = {
|
||||
|
|
@ -123,7 +125,7 @@ ROLE_EXPECTATIONS = {
|
|||
True,
|
||||
False,
|
||||
{"is_change": True, "is_vnc": True},
|
||||
VIEW_VM | POWER_AND_CONSOLE | CHANGE_VM | CONSOLE_SETTINGS,
|
||||
VIEW_VM | POWER_AND_CONSOLE | CHANGE_VM | CONSOLE_SETTINGS | TEMPLATE_FLAG,
|
||||
),
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue