mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-11 12:46:49 +00:00
feat(computes): a compute names the address migrations reach it on
Migration is client-driven: libvirt sends the VM's memory to the destination's own host name unless a migration URI is given, and the app never gave one. Where the hosts cannot resolve each other's names (or the names point at a management network) every migration failed with "Unable to resolve address '<host name>' service '49152'". A compute now has an optional migration address (an IP address or a host name, no scheme or port), editable in the compute form and the API. A VM migrating to that compute is sent to tcp://<address> (bracketed for IPv6). Empty, the default for existing computes, keeps the previous behavior. The compute's host name is not reused, because for SSH computes it can be an ssh_config alias. The migration log entry names the address when one is set.
This commit is contained in:
parent
25b3671c33
commit
5a523befbd
10 changed files with 158 additions and 3 deletions
|
|
@ -191,6 +191,7 @@ def migrate_instance(
|
|||
autoconverge,
|
||||
compress,
|
||||
postcopy,
|
||||
uri=new_compute.migration_uri,
|
||||
)
|
||||
finally:
|
||||
if conn_migrate is not None:
|
||||
|
|
|
|||
|
|
@ -687,6 +687,8 @@ def migrate(request, pk):
|
|||
"hostname": target_host.hostname,
|
||||
"method": migration_method,
|
||||
}
|
||||
if target_host.migration_address:
|
||||
msg = _("%(msg)s via %(address)s") % {"msg": msg, "address": target_host.migration_address}
|
||||
addlogmsg(request.user.username, current_host, instance.name, msg)
|
||||
|
||||
return get_safe_redirect(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue