Implement in-use volume migrate to the rbd backend

Registered by xianming mao

So far ,the openstack only support volume's cold-migrate for RBD (e.g. an available LVM volume to an RBD backend)

At present, volume's online-migrate does not support for RBD backend

the in-use volume's migration is calling the blockRebase function of libvirt to achieve (/nova/virt/libvirt/driver.py)

domain.blockRebase(disk_path, new_path, 0,
                           libvirt.VIR_DOMAIN_BLOCK_REBASE_COPY |
                           libvirt.VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT |
                           libvirt.VIR_DOMAIN_BLOCK_REBASE_COPY_DEV)

Parameter description:
    disk_path: The source volume's drive letter in the virtual machine, for example:'vdb'

    new_path: The new volume's path on the physical nodes, for example: 'dev/disk/by-path/ip-172.10.150.152:3260-iscsi......'

ipsan volume:
    call connect_volume function (in nova.virt.libvirt.volume.LibvirtISCSIVolumeDriver) to mount volumes to a physical node. so will get the value of new_path.

rbd volume:
    nova.virt.libvirt.volume.LibvirtNetVolumeDriver does not implement connect_volume and Base class LibvirtBaseVolumeDriver implementation is pass. source the value of new_path is none.

This bp is aim to implement in-use volume migrate to the rbd backend.

Blueprint information

Status:
Not started
Approver:
Sean McGinnis
Priority:
Low
Drafter:
xianming mao
Direction:
Approved
Assignee:
xianming mao
Definition:
Drafting
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/in-use-volume-migrate-rbd,n,z

Addressed by: https://review.openstack.org/424538
    Add support for live-migrate to backend ceph

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.