1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 11:16:47 +00:00
webvirtcloud/computes
catborise 5c22fc8436 fix(instances): a finished migration is recorded, and a stale request does not migrate
What migrate_instance did around the migration itself:

- It checked the destination with a 1 s TCP probe of the libvirt port,
  which passes while libvirt is down or refuses the login. It now uses
  the compute's connection status, as the rest of the app does.
- Two requests for the same VM waited for the compute locks one after
  the other; the second then migrated with the VM's old location. The
  VM's record is read again under the locks, and the request is
  refused when the VM is no longer on the source.
- Restoring autostart on the destination came after the migration but
  before the database move; when it failed, the VM ran on the
  destination while the app recorded it on the source. Autostart is
  now read from libvirt and a failure to restore it is only logged.
- A database failure after a successful migration was logged as
  nothing; the log now says the VM migrated and recording it failed.
- When the destination's list had already made a record for the VM,
  the merge kept the owners but dropped the template mark.
2026-10-06 15:52:32 +03:00
..
api feat(computes): a compute names the address migrations reach it on 2026-10-06 15:05:40 +03:00
migrations feat(computes): a compute names the address migrations reach it on 2026-10-06 15:05:40 +03:00
templates fix(instances): every VM state has a label and the actions it allows 2026-10-05 19:34:30 +03:00
__init__.py Initial commit 2015-02-27 10:53:51 +02:00
apps.py fix: track migrations; installs apply them instead of generating them 2026-10-04 01:08:11 +03:00
forms.py feat(computes): a compute names the address migrations reach it on 2026-10-06 15:05:40 +03:00
models.py feat(computes): a compute names the address migrations reach it on 2026-10-06 15:05:40 +03:00
test_api_security.py fix(instances): disk edits keep their XML; changes lock per VM 2026-10-04 01:08:11 +03:00
test_compute_password.py fix(computes): editing a compute keeps its password unless a new one is given 2026-10-06 13:58:55 +03:00
test_migration_address.py fix(instances): a finished migration is recorded, and a stale request does not migrate 2026-10-06 15:52:32 +03:00
test_operation_locks.py fix(instances): disk edits keep their XML; changes lock per VM 2026-10-04 01:08:11 +03:00
test_overview_status.py fix(computes): overview state comes from the connection 2026-10-05 11:10:01 +03:00
test_ownership.py fix(vrtManager): libvirt connections open within a time limit 2026-10-05 09:06:52 +03:00
test_quota_down_host.py fix(instances): the quota counts every VM and refuses what it cannot verify 2026-10-05 12:26:57 +03:00
test_reconciliation.py fix(computes): instance sync asks libvirt outside the DB transaction 2026-10-05 10:47:35 +03:00
tests.py feat(accounts): failed logins lock a user for the address they come from 2026-10-06 11:05:03 +03:00
urls.py chore: drop references to the local roadmap from code and tests 2026-10-04 11:09:25 +03:00
utils.py fix(computes): instance sync asks libvirt outside the DB transaction 2026-10-05 10:47:35 +03:00
validators.py feat(computes): a compute names the address migrations reach it on 2026-10-06 15:05:40 +03:00
views.py fix(computes): overview state comes from the connection 2026-10-05 11:10:01 +03:00