Cinder now has copy/paste code from Nova's libvirt to do attach of a volume to the cinder node. This is done so cinder can copy volume contents into an image and then stuff the image into glance. This currently only works for iSCSI, but we need the same capability for Fibre Channel.
We shouldn't copy/paste the code from Nova's libvirt code. We should look at migrating the attach code from Nova into oslo and reuse that code both in Nova and Cinder
Other options are using a worker VM to do the copying or a library in cinder.