Implement in-use volume migrate to the rbd backend

Registered by Ji.Wei

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

and also support volume's live-migrate (e.g. a in-use RBD volume to a LVM backend without detaching the volume)

At present, volume's live-migrate does not support migrate to the 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:
Complete
Approver:
Sean McGinnis
Priority:
Low
Drafter:
Ji.Wei
Direction:
Approved
Assignee:
Ji.Wei
Definition:
Superseded
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Sean McGinnis

Related branches

Sprints

Whiteboard

"At present, the available volume can be migrate to the rbd backend and fail to migrate the volumes of the in-use state to the RBD backend." - do you mean in cinder you can migrate, e.g. an available LVM volume to an RBD Cinder storage backend if you're using multiple storage backends? Or is this an operation with migrating instances that have volumes attached which are in ceph storage? Please clarify the use case and problem description. -- mriedem 20160601

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.