Re: how to change emulator path during live migration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



ah.. sorry for the mistake.

I find that on the source libvirt will also verify emulator binary, thus emulator must 
also exist on src. because in qemuMigrationBegin method, it will call qemuDomainDefCopy
and eventually validates emulator exists...

best,

Jiatong Shen

On Wed, Apr 27, 2022 at 4:03 PM Peter Krempa <pkrempa@xxxxxxxxxx> wrote:
[re-adding libvirt-users list]

Please always reply to the list so that the follow-up conversation is
archived and delivered to all subscribers.

On Wed, Apr 27, 2022 at 15:36:54 +0800, Jiatong Shen wrote:
> Thank you for the feedback!
>
> Is it ok if the source node does not contain a emulator path used by the
> dest node? for example, on src emulator path is /a/b/c, but
> on dest it is /a/b/d, and /a/b/d does not exist on src.

You can change the emulator path arbitrarily. The only limitation is
that the emulator you pick (the binary, not the path) must be able to
run the VM, but that will be validated during the migration.



--

Best Regards,

Jiatong Shen
(gdb) where
#0  virQEMUCapsNewForBinaryInternal (hostArch=VIR_ARCH_X86_64, binary=0x7fffe800d530 "/usr/bin/sjt-test", libDir=0x7fff94021dd0 "/var/lib/libvirt/qemu", runUid=0, runGid=0, microcodeVersion=1, 
    kernelVersion=0x7fff9400a7c0 "4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020", qmpOnly=false) at ../../src/qemu/qemu_capabilities.c:5262
#1  0x00007fffc3aacd95 in virQEMUCapsNewData (binary=<optimized out>, privData=<optimized out>) at ../../src/qemu/qemu_capabilities.c:5340
#2  0x00007ffff737a6e7 in virFileCacheNewData (name=0x7fffe800d530 "/usr/bin/sjt-test", cache=0x7fff940286d0) at ../../src/util/virfilecache.c:223
#3  virFileCacheValidate (cache=cache@entry=0x7fff940286d0, name=name@entry=0x7fffe800d530 "/usr/bin/sjt-test", data=data@entry=0x7ffff0b47410) at ../../src/util/virfilecache.c:294
#4  0x00007ffff737ab37 in virFileCacheLookup (cache=0x7fff940286d0, name=name@entry=0x7fffe800d530 "/usr/bin/sjt-test") at ../../src/util/virfilecache.c:327
#5  0x00007fffc3aad02e in virQEMUCapsCacheLookup (cache=<optimized out>, binary=0x7fffe800d530 "/usr/bin/sjt-test") at ../../src/qemu/qemu_capabilities.c:5477
#6  0x00007fffc3acc677 in qemuDomainPostParseDataAlloc (def=<optimized out>, caps=<optimized out>, parseFlags=<optimized out>, opaque=<optimized out>, parseOpaque=0x7ffff0b474b0) at ../../src/qemu/qemu_domain.c:4623
#7  0x00007ffff73a65a9 in virDomainDefPostParseInternal (def=def@entry=0x7fffe800cf20, caps=caps@entry=0x7fff94161560, parseFlags=parseFlags@entry=1026, xmlopt=xmlopt@entry=0x7fff94157830, 
    parseOpaque=parseOpaque@entry=0x0, bootHash=bootHash@entry=0x7fffe800d7e0) at ../../src/conf/domain_conf.c:5036
#8  0x00007ffff73bb6fd in virDomainDefParseXML (xml=xml@entry=0x7fffe800fcc0, root=root@entry=0x7fffe8003c40, ctxt=ctxt@entry=0x7fffe8006950, caps=caps@entry=0x7fff94161560, xmlopt=xmlopt@entry=0x7fff94157830, 
    parseOpaque=parseOpaque@entry=0x0, flags=1026) at ../../src/conf/domain_conf.c:19957
#9  0x00007ffff73bf11c in virDomainDefParseNode (xml=xml@entry=0x7fffe800fcc0, root=0x7fffe8003c40, caps=caps@entry=0x7fff94161560, xmlopt=xmlopt@entry=0x7fff94157830, parseOpaque=parseOpaque@entry=0x0, 
    flags=flags@entry=1026) at ../../src/conf/domain_conf.c:20144
#10 0x00007ffff73bf242 in virDomainDefParse (
    xmlStr=0x7fffe8010630 "<domain type='kvm'>\n  <name>sjt-test</name>\n  <uuid>c7a5fdbd-cdaf-9455-926a-d65c16db1809</uuid>\n  <memory unit='KiB'>220160</memory>\n  <currentMemory unit='KiB'>219200</currentMemory>\n  <vcpu placemen"..., filename=filename@entry=0x0, caps=caps@entry=0x7fff94161560, xmlopt=xmlopt@entry=0x7fff94157830, parseOpaque=parseOpaque@entry=0x0, flags=flags@entry=1026) at ../../src/conf/domain_conf.c:20088
#11 0x00007ffff73bf293 in virDomainDefParseString (xmlStr=<optimized out>, caps=caps@entry=0x7fff94161560, xmlopt=xmlopt@entry=0x7fff94157830, parseOpaque=parseOpaque@entry=0x0, flags=flags@entry=1026)
    at ../../src/conf/domain_conf.c:20104
#12 0x00007ffff73bf2f2 in virDomainDefCopy (src=src@entry=0x7fffe8010f20, caps=caps@entry=0x7fff94161560, xmlopt=0x7fff94157830, parseOpaque=parseOpaque@entry=0x0, migratable=<optimized out>)
    at ../../src/conf/domain_conf.c:27416
#13 0x00007fffc3ad7bca in qemuDomainDefFormatBufInternal (driver=driver@entry=0x7fff94034de0, def=def@entry=0x7fffe8010f20, origCPU=origCPU@entry=0x0, flags=flags@entry=9, buf=buf@entry=0x7ffff0b47870)
    at ../../src/qemu/qemu_domain.c:5246
#14 0x00007fffc3ad815a in qemuDomainDefFormatXMLInternal (driver=driver@entry=0x7fff94034de0, def=def@entry=0x7fffe8010f20, origCPU=origCPU@entry=0x0, flags=flags@entry=9) at ../../src/qemu/qemu_domain.c:5432
#15 0x00007fffc3ad8196 in qemuDomainDefFormatXML (driver=driver@entry=0x7fff94034de0, def=def@entry=0x7fffe8010f20, flags=flags@entry=9) at ../../src/qemu/qemu_domain.c:5444
#16 0x00007fffc3ad81bd in qemuDomainDefCopy (driver=driver@entry=0x7fff94034de0, src=src@entry=0x7fffe8010f20, flags=flags@entry=9) at ../../src/qemu/qemu_domain.c:5218
#17 0x00007fffc3ad8345 in qemuDomainCheckABIStability (driver=driver@entry=0x7fff94034de0, vm=vm@entry=0x7fff940ebbd0, dst=dst@entry=0x7fffe8010f20) at ../../src/qemu/qemu_domain.c:7098
#18 0x00007fffc3b09066 in qemuMigrationBeginPhase (driver=driver@entry=0x7fff94034de0, vm=<optimized out>, 
    xmlin=xmlin@entry=0x7fffe80059a0 "<domain type='kvm'>\n  <name>sjt-test</name>\n  <uuid>c7a5fdbd-cdaf-9455-926a-d65c16db1809</uuid>\n  <memory unit='KiB'>220160</memory>\n  <currentMemory unit='KiB'>219200</currentMemory>\n  <vcpu placemen"..., dname=dname@entry=0x0, cookieout=cookieout@entry=0x7ffff0b47ba8, cookieoutlen=cookieoutlen@entry=0x7ffff0b47b9c, nmigrate_disks=0, migrate_disks=0x0, flags=328)
    at ../../src/qemu/qemu_migration.c:2120
#19 0x00007fffc3b09911 in qemuMigrationBegin (conn=0x7fffd4000d50, vm=<optimized out>, 
    xmlin=0x7fffe80059a0 "<domain type='kvm'>\n  <name>sjt-test</name>\n  <uuid>c7a5fdbd-cdaf-9455-926a-d65c16db1809</uuid>\n  <memory unit='KiB'>220160</memory>\n  <currentMemory unit='KiB'>219200</currentMemory>\n  <vcpu placemen"..., dname=0x0, cookieout=cookieout@entry=0x7ffff0b47ba8, cookieoutlen=cookieoutlen@entry=0x7ffff0b47b9c, nmigrate_disks=0, migrate_disks=0x0, flags=328) at ../../src/qemu/qemu_migration.c:2177
#20 0x00007fffc3b41280 in qemuDomainMigrateBegin3Params (domain=0x7fffe8001e60, params=<optimized out>, nparams=2, cookieout=0x7ffff0b47ba8, cookieoutlen=0x7ffff0b47b9c, flags=<optimized out>)
    at ../../src/qemu/qemu_driver.c:12389
#21 0x00007ffff741abe9 in virDomainMigrateBegin3Params (domain=domain@entry=0x7fffe8001e60, params=<optimized out>, nparams=2, cookieout=cookieout@entry=0x7ffff0b47ba8, cookieoutlen=cookieoutlen@entry=0x7ffff0b47b9c, 
    flags=328) at ../../src/libvirt-domain.c:4832
#22 0x000055555557cec8 in remoteDispatchDomainMigrateBegin3Params (server=0x55555581ef70, msg=0x5555558666b0, ret=0x7fffe8001a30, args=0x7fffe8006910, rerr=0x7ffff0b47ca0, client=<optimized out>)
    at ../../daemon/remote.c:5212
#23 remoteDispatchDomainMigrateBegin3ParamsHelper (server=0x55555581ef70, client=<optimized out>, msg=0x5555558666b0, rerr=0x7ffff0b47ca0, args=0x7fffe8006910, ret=0x7fffe8001a30) at ../../daemon/remote_dispatch.h:7421
#24 0x00007ffff748639c in virNetServerProgramDispatchCall (msg=0x5555558666b0, client=0x555555864260, server=0x55555581ef70, prog=0x55555583e7e0) at ../../src/rpc/virnetserverprogram.c:436
#25 virNetServerProgramDispatch (prog=0x55555583e7e0, server=server@entry=0x55555581ef70, client=0x555555864260, msg=0x5555558666b0) at ../../src/rpc/virnetserverprogram.c:307
---Type <return> to continue, or q <return> to quit---
#26 0x00005555555a8088 in virNetServerProcessMsg (msg=<optimized out>, prog=<optimized out>, client=<optimized out>, srv=0x55555581ef70) at ../../src/rpc/virnetserver.c:148
#27 virNetServerHandleJob (jobOpaque=<optimized out>, opaque=0x55555581ef70) at ../../src/rpc/virnetserver.c:169
#28 0x00007ffff736dba1 in virThreadPoolWorker (opaque=opaque@entry=0x55555580fbd0) at ../../src/util/virthreadpool.c:167
#29 0x00007ffff736cf18 in virThreadHelper (data=<optimized out>) at ../../src/util/virthread.c:206
#30 0x00007ffff6e4d6db in start_thread (arg=0x7ffff0b48700) at pthread_create.c:463
#31 0x00007ffff6b7661f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

[Index of Archives]     [Virt Tools]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux