Support 'source_volume' source type in block device mapping v2 when booting.
Currently, we can boot from a volume or specify a volume attaching to an instance when booting instance, but it's not a good method for batch booting from volume, because one volume can't associate with multiple instances.
Block device mapping v2 support creating volume from image (source=image, dest=volume), creating volume from snapshot (source=snapshot, dest=volume), but don't support creating volume from volume.
We hope to implement a new bdm v2 source type 'source_volume' in order to support creating volume from volume, like this:
nova boot --block-device source=
The usage is as follows:
1. store the source volume id in bdm v2.
2. create volumeB from volumeA(source volume)
3. boot instance from volumeB.