Description of problem:
At present virDomainBlockRebase only allows the base backing image to be identified by a local file path on the system or by referencing the device[index] already present in the domain [1].
This is an issue when copying the entire chain to a new base image that is not yet connected to the host in question. For example with RBD volumes there should be no need to map these to the system prior to calling virDomainBlockRebase. It would be useful if virDomainBlockRebase would accept the connection details of a remote RBD volume as the base and then handle connecting to the volume before starting the rebase operation. This would allow Openstack Nova and other higher level services to avoid having to map RBD volumes etc to the host prior to calling for a rebase, simplifying the process greatly.
[1] https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainBlockRebase
The main problem here is with virDomainBlockCopy, which can also be reached (in a limited way) from the virDomainBlockRebase API. Using RBD natively will only be possible with the virDomainBlockCopy since only that allows to pass in a target specification via XML which is necessary for network storage.
Comment 15Jaroslav Suchanek
2019-04-09 12:18:15 UTC
This feature will be finished in the next major release of RHEL.