cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <>
Subject [jira] [Commented] (CLOUDSTACK-9142) Migrate VM changes xmlDesc in an unsafe way
Date Mon, 18 Jan 2016 17:19:39 GMT


ASF GitHub Bot commented on CLOUDSTACK-9142:

GitHub user DaanHoogland opened a pull request:

    CLOUDSTACK-9142 Migrate VM changes xmlDesc in a safe way

    The problem arises when the origin hypervisor has an ip addres that ends with 1, like
'' and the VM is having a disk on an NFS share that has that as part of its address,
'' for instance.
    now migrating to '' will change both addresses in the xml description file
for qemu. It is fixed and unit tests are added. I am not sure yet how to integration test
this. Regression will probably work so creating a PR now.

You can merge this pull request into a Git repository by running:

    $ git pull CLOUDSTACK-9142

Alternatively you can review and apply these changes as the patch at:

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1348
commit 2df0379d8ca3754fe926c168e304e2ff70f5e204
Author: Daan Hoogland <>
Date:   2016-01-18T16:43:43Z

    CLOUDSTACK-9142 Migrate VM changes xmlDesc in a safe way


> Migrate VM changes xmlDesc in an unsafe way
> -------------------------------------------
>                 Key: CLOUDSTACK-9142
>                 URL:
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: KVM, Management Server
>    Affects Versions: 4.6.0, 4.7.0
>            Reporter: David Amorim Faria
>            Priority: Critical
> This issue appears with commit
> where xmlDesc has some content replaced: {code}
> xmlDesc = dm.getXMLDesc(xmlFlag).replace(libvirtComputingResource.getPrivateIp(), command.getDestinationIp());
> {code}
> This line from was refactored into
in commit
> Example, node1 is, node2 is, rbd mon_host is
> VM is running on kvm node1 and this happened when migrating a VM from node1 to node2,
where the kvm nodes and the RBD mon nodes (mon_host) use IP addresses in the same range, and
the mon_host has an ip address that partially matches the ip address (string) of the first
kvm node.
> In the process list one can see that the mon_host changes from to
in the destination host, blocking the migration after a timeout due to primary storage not
being available.
> {code}
> root     25206  1.8  0.0 440184 17188 ?        Sl   13:33   0:00 /usr/libexec/qemu-kvm
-name r-74-VM -S -machine pc-i440fx-rhel7.0.0,accel=kvm,usb=off -cpu host,+rdtscp,+pdpe1gb,+dca,+pcid,+pdcm,+xtpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pclmuldq,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme
-m 256 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 1a32b655-0acf-424b-8722-9e7f507a3070
-smbios type=1,manufacturer=Apache Software Foundation,product=CloudStack KVM Hypervisor,uuid=1a32b655-0acf-424b-8722-9e7f507a3070
-no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-r-74-VM/monitor.sock,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on
-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6
-drive file=rbd:rbd/15ea00f9-e52e-43cf-9e5e-62188e9da5d2:id=cloudstack:key=XXXXXXXX==:auth_supported=cephx\;none:mon_host=\:6789,if=none,id=drive-virtio-disk0,format=raw,serial=15ea00f9e52e43cf9e5e,cache=none
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2
-drive file=/usr/share/cloudstack-common/vms/systemvm.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw,cache=none
-device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 -netdev tap,fd=32,id=hostnet0,vhost=on,vhostfd=33
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=11:11:11:11:11:11,bus=pci.0,addr=0x3,rombar=0,romfile=
-netdev tap,fd=34,id=hostnet1,vhost=on,vhostfd=35 -device virtio-net-pci,netdev=hostnet1,id=net1,mac=22:22:22:22:22:22,bus=pci.0,addr=0x4,rombar=0,romfile=
-netdev tap,fd=36,id=hostnet2,vhost=on,vhostfd=37 -device virtio-net-pci,netdev=hostnet2,id=net2,mac=33:33:33:33:33:33,bus=pci.0,addr=0x5,rombar=0,romfile=
-chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/r-74-VM.agent,server,nowait
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=r-74-VM.vport
-device usb-tablet,id=input0 -vnc,password -vga cirrus -incoming tcp:[::]:49152
-msg timestamp=on
> {code}

This message was sent by Atlassian JIRA

View raw message