1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 19:26:48 +00:00
webvirtcloud/instances/tests
catborise ab5ed59ea1 feat(instances): a new VM is made on one form in three steps
The create page had three tabs (flavor, custom, template), each with its
own copy of the same create form; every flavor rendered one more copy in
a dialog, and fixes had to be made in each copy. All of them posted the
same form to the same job, differing only in where the disk comes from.

The page is now one form in sections: name and size, disk, networks and
an Advanced section. The disk section offers three sources as radio
cards (a new disk, existing volumes, a copy of a template); only the
chosen source's fields are shown, and the others are disabled, so they
are neither sent nor validated. A template's copy goes into the
template's pool unless another is picked. Flavors are presets that fill
vCPU, memory and disk size and pick a new disk; they are added and
deleted in a dialog outside the form. Every source uses the
per-interface network rows, so a new disk no longer requires a MAC:
libvirt gives an interface without one its address, as it did for the
other sources. A refused form comes back with its source, volumes,
template and networks, and the focus on its first error. Without a
storage pool or a network the page shows why instead of the form, and a
host that cannot be read is a message, not a 500.

The host dialog and the machine page share the form's look: hosts are
rows with their CPU and memory use, the machine page is a card with
Cancel/Next and the XML way is a collapsible section. All three steps
show the same step indicator, done steps linking back.

The create job refuses more than one disk source (the page sends one; a
crafted request could send two, and the job would have used the first).
A field with help text is described by its help and its error.

Frontend review fixes: the presets and the disclosure buttons show a
focus ring for keyboard users; a disclosure spans its card and its
chevron turns while open; a preset says it picks a new disk; numeric
fields bring a numeric keyboard and MAC fields no autocorrection; the
machine page's Next waits for a machine type. Tom Select's control
keeps the text colour of the select it replaces: its own fixed colour
made typed text invisible on dark Bootswatch themes, on every page that
uses it.
2026-10-23 23:26:28 +03:00
..
__init__.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
create_page.py fix(instances): a refused VM create form comes back with what was entered 2026-10-20 08:12:25 +03:00
livetest.py docs: a running VM can be cloned 2026-10-16 16:52:38 +03:00
test_audit_rows.py feat(logs): changes to users, groups, owners, flavors and settings are logged 2026-10-23 11:10:24 +03:00
test_change_network.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_change_xml.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_clone_disks.py feat(instances): VM clone runs as a job 2026-10-15 09:28:43 +03:00
test_clone_job.py feat(instances): a running VM can be cloned 2026-10-16 16:52:38 +03:00
test_clone_permission.py feat(instances): VM clone runs as a job 2026-10-15 09:28:43 +03:00
test_console_listener.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_console_rule.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_console_settings_access.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_create_dialog_cpu.py feat(instances): a new VM is made on one form in three steps 2026-10-23 23:26:28 +03:00
test_create_form_input.py feat(instances): a new VM is made on one form in three steps 2026-10-23 23:26:28 +03:00
test_create_instance.py fix(instances): a custom VM gets the MAC addresses its create form shows 2026-10-19 22:24:57 +03:00
test_create_job.py feat(instances): VM create runs as a job, also in the API 2026-10-15 09:28:43 +03:00
test_create_page_js.py feat(instances): a new VM is made on one form in three steps 2026-10-23 23:26:28 +03:00
test_create_rollback.py feat(instances): VM create runs as a job, also in the API 2026-10-15 09:28:43 +03:00
test_create_wizard_url.py feat(instances): a new VM is made on one form in three steps 2026-10-23 23:26:28 +03:00
test_destroy.py refactor(computes): the lock helpers take claims instead of file locks 2026-10-14 23:27:57 +03:00
test_detail_reads.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_detail_unreachable.py feat(operations): jobs page 2026-10-14 23:27:57 +03:00
test_disk_isolation.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_drbd_target.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_error_handling.py feat(instances): migration runs as a job 2026-10-16 07:57:02 +03:00
test_gstfsd.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_index.py fix(instances): the grouped instance list without computes has a table body 2026-10-19 15:57:09 +03:00
test_index_host_alerts.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_list_rpc.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_list_unreachable.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_live_clone.py docs: a running VM can be cloned 2026-10-16 16:52:38 +03:00
test_live_create.py feat(instances): VM create runs as a job, also in the API 2026-10-15 09:28:43 +03:00
test_live_dataloss.py docs: snapshot create and revert run as jobs 2026-10-15 14:21:32 +03:00
test_live_disk_resize.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_live_guest.py docs: snapshot create and revert run as jobs 2026-10-15 14:21:32 +03:00
test_live_iscsi.py test: a LUN of an iSCSI pool attaches live as a block disk 2026-10-18 21:32:52 +03:00
test_live_iso.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_live_jobs.py feat(instances): a shut-off UEFI VM can be migrated 2026-10-16 21:05:23 +03:00
test_live_lvm.py fix(instances): a disk on an LVM pool is not resized, the page says so instead of failing 2026-10-18 21:10:06 +03:00
test_live_snapshots.py feat(instances): external snapshot delete runs as a job 2026-10-14 23:27:57 +03:00
test_live_xml.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_live_xml_effects.py feat(instances): choose VNC or the serial console on the VM page 2026-10-17 19:48:58 +03:00
test_migrate_form.py feat(instances): migration runs as a job 2026-10-16 07:57:02 +03:00
test_migrate_job.py feat(instances): a running migration can be cancelled; its time limit goes 2026-10-16 07:57:02 +03:00
test_migration_bookkeeping.py feat(instances): a running migration can be cancelled; its time limit goes 2026-10-16 07:57:02 +03:00
test_migration_log.py feat(instances): migration runs as a job 2026-10-16 07:57:02 +03:00
test_missing_fields.py feat(logs): admin changes and logins are recorded on the Logs page 2026-10-23 10:30:48 +03:00
test_moved_while_waiting.py feat(instances): VM clone runs as a job 2026-10-15 09:28:43 +03:00
test_new_disk_name.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_page_controls.py feat(instances): a running VM can be cloned 2026-10-16 16:52:38 +03:00
test_pending_edits.py feat(instances): external snapshots use libvirt's snapshot API 2026-10-12 15:25:44 +03:00
test_quota.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_quota_lock.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_root_pass.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_security_mutations.py feat(instances): migration runs as a job 2026-10-16 07:57:02 +03:00
test_snapshot_delete_job.py feat(logs): admin changes and logins are recorded on the Logs page 2026-10-23 10:30:48 +03:00
test_snapshot_jobs.py feat(instances): snapshot revert runs as a job 2026-10-15 14:21:32 +03:00
test_snapshot_views.py docs: snapshot create and revert run as jobs 2026-10-15 14:21:32 +03:00
test_states.py fix(instances): the VM lists ask before a forced power off or power cycle 2026-10-21 21:01:25 +03:00
test_stats_sample.py build: Chart.js 4.5.1 2026-10-17 13:19:43 +03:00
test_template_flag.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_template_quota.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_template_rules.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
test_update_console.py feat(instances): choose VNC or the serial console on the VM page 2026-10-17 19:48:58 +03:00
test_views.py docs: snapshot create and revert run as jobs 2026-10-15 14:21:32 +03:00
test_xss.py refactor(computes): drop the unused domain capabilities endpoint 2026-10-21 09:01:25 +03:00