--- a/virtualization/univention-virtual-machine-manager-daemon/src/univention/uvmm/node.py +++ a/virtualization/univention-virtual-machine-manager-daemon/src/univention/uvmm/node.py @@ -39,6 +39,7 @@ import libvirt import time import logging import math +from uuid import UUID from .helpers import TranslatableException, ms, tuple2version, N_ as _, uri_encode, FQDN from .uvmm_ldap import ldap_annotation, LdapError, LdapConnectionError, ldap_modify import univention.admin.uexceptions @@ -1747,6 +1748,10 @@ def domain_migrate(source_uri, domain, target_uri): time.sleep(1) target_node = node_query(target_uri) target_conn = target_node.conn + target_sysinfo = ET.fromstring(target_conn.getSysinfo()) + target_uuid = UUID(target_sysinfo.find("system/entry[@name='uuid']").text) + if target_uuid == UUID(domain): + raise NodeError('Migration into self detected: ABORT') if source_conn is None: # offline node domStat = source_node.domains[domain]