On 10/02/2014 11:56 AM, Daniel P. Berrange wrote:
On Thu, Oct 02, 2014 at 11:45:54AM +0200, Ondrej Wisniewski wrote:
This is related to the following blueprint:
I would like to discuss here briefly an implementation detail and collect
With this new feature, the boot option "boot from network" will be added to
the existing options "boot from disk" and "boot from volume". The first
approach to implement this was to define a specific IMAGE_ID_TOKEN which
will be used to handle the "boot from network" option as a special case of
"boot from disk" option. This is a simple solution and has the advantage of
avoiding changes to the Nova REST API.
The second option would be to introduce the new "boot from network" option
in the Nova REST API with all the consequences of an API change (test,
Any thoughts on these two alternatives? This is a preliminary investigation
in order to avoid wasting time on an implementation which would be rejected
during review due to wrong design decisions.
When booting from the network there is potentially a choice of multiple
NICs from which todo PXE.
With KVM you are not restricted to saying disk or network as exclusive
choices, but rather you can setup arbitrary prioritization of boot order
across devices, whether disk, nic or PCI assigned device.
So we should really consider this broader problem of boot device
prioritization not merely a PXE flag. IOW, we should extend the Nova
boot command so that the --block-device-mapping and --nic args both
allow for an integer boot priority value to be specified per device.
And likewise allow it to be set for PCI assigned devices.
Hypervisors that don't support such fine grained ordering, can simply
ignore anything except the device with bootindex=1.
your proposal sounds reasonable to me. Implementing the possibility to
choose the boot order priority from all available block devices and NICS
(and possibly also PCI devices) would certainly cover more use cases
then just the network boot. As you mentioned, some hypervisors like KVM
support this, so we need to analyse what it takes to make the
appropriate changes in OpenStack to pass the needed information down the
chain. It will most likely involve Rest API changes but we need to do
some digging into the Nova code here.
Thanks so far, Ondrej
OpenStack-dev mailing list