Testing on Mitaka and confirming this is still very messy. I'd be interested to know why the relevant code seems to have moved from create_instance.py to Javascript as eblock has pointed out.
For some reason I haven't figured out yet, eblock's latest patch is not working for me, though a similar patch to the function below (setFinalSpecBootFromVolumeDevice) works for the volume->volume case (attached).
Here is some relevant info while it's fresh in my mind:
* Both image->volume and volume->volume appear to work via the API but not Horizon, so this is absolutely a Horizon problem imo.
* Reading the docs on Nova BDM specifiying the device name as Horizon currently does (vda) is not recommended, so eblock's patch should be the correct approach.
* setFinalSpecBootFromVolumeDevice seems to be hardcoded to use BDM v1, I'm not sure if there's a reason for this, but updating it to use v2 as in my patch seems to work ok for both KVM and Xen.
Testing on Mitaka and confirming this is still very messy. I'd be interested to know why the relevant code seems to have moved from create_instance.py to Javascript as eblock has pointed out.
For some reason I haven't figured out yet, eblock's latest patch is not working for me, though a similar patch to the function below (setFinalSpecBo otFromVolumeDev ice) works for the volume->volume case (attached).
Here is some relevant info while it's fresh in my mind:
* Both image->volume and volume->volume appear to work via the API but not Horizon, so this is absolutely a Horizon problem imo.
* Reading the docs on Nova BDM specifiying the device name as Horizon currently does (vda) is not recommended, so eblock's patch should be the correct approach.
* setFinalSpecBoo tFromVolumeDevi ce seems to be hardcoded to use BDM v1, I'm not sure if there's a reason for this, but updating it to use v2 as in my patch seems to work ok for both KVM and Xen.