1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 19:26:48 +00:00
webvirtcloud/instances
catborise 75fcc6f6c0 feat(instances): a running VM gets its root password and SSH key through its guest agent
The Access tab's Root Password and SSH Keys worked only on a shut-off
VM, through gstfsd on the compute. A running VM whose QEMU guest agent
is connected now gets them through the agent: guest-set-user-password
with the SHA-512 crypt hash, and guest-ssh-add-authorized-keys adding
the key to root's keys. A shut-off VM still goes through gstfsd; any
other VM is refused with "Shut the VM down, or start its QEMU guest
agent, and try again", and the buttons are disabled.

Each is one agent command with a 10 s timeout. libvirt's own calls for
them (setUserPassword, authorizedSSHKeysSet) wait for a hung agent
indefinitely, holding a worker and the VM's lock, and the domain's
agent timeout would change every other agent call of the VM too.

The agent's or libvirt's error is shown as is through error_text, so
users who do not see the hosts get no connection details, and the
attempt is logged as failed. The README names the SELinux boolean a
RHEL-family guest needs before its agent may add SSH keys.
2026-10-25 15:37:37 +03:00
..
api feat(logs): changes to users, groups, owners, flavors and settings are logged 2026-10-23 11:10:24 +03:00
fixtures Instances overhaul 2020-07-13 15:33:09 +06:00
migrations fix(computes): VM ownership survives a move or a short absence 2026-10-04 01:08:11 +03:00
templates feat(instances): a running VM gets its root password and SSH key through its guest agent 2026-10-25 15:37:37 +03:00
templatetags feat(instances): a new VM is made on one form in three steps 2026-10-23 23:26:28 +03:00
tests feat(instances): a running VM gets its root password and SSH key through its guest agent 2026-10-25 15:37:37 +03:00
__init__.py Fixe migrations for new deployments 2020-05-28 18:19:25 +06:00
addresses.py fix(instances): a paused VM's guest agent counts as not read 2026-10-24 22:54:44 +03:00
apps.py format python code with black 2022-11-02 08:54:35 +03:00
forms.py fix(instances): a new VM's vCPUs, memory and disk size are at least 1 2026-10-24 09:31:12 +03:00
jobs.py feat(logs): every VM operation writes an audit row the VM's Logs tab finds by UUID 2026-10-24 14:14:53 +03:00
models.py feat(instances): a running VM's XML can be edited for its next start 2026-10-24 20:03:20 +03:00
report.py feat(instances): a report of every VM with its addresses and OS, as an Excel file 2026-10-24 22:30:07 +03:00
states.py fix(instances): every VM state has a label and the actions it allows 2026-10-05 19:34:30 +03:00
urls.py feat(instances): a report of every VM with its addresses and OS, as an Excel file 2026-10-24 22:30:07 +03:00
utils.py feat(logs): every VM operation writes an audit row the VM's Logs tab finds by UUID 2026-10-24 14:14:53 +03:00
views.py feat(instances): a running VM gets its root password and SSH key through its guest agent 2026-10-25 15:37:37 +03:00