Re: [openstack-dev] [nova] discussion of an implementation detail for boot from network feature
Hi Daniel, referring to this discussion we had some weeks ago, there is a blueprint and spec up for review now, describing the boot device prioritization feature you proposed: https://blueprints.launchpad.net/nova/+spec/boot-order-for-instance https://review.openstack.org/#/c/133254/ It would be great if you could have a look and add your comments. Regards, Ondrej On 10/02/2014 11:56 AM, Daniel P. Berrange wrote: 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. bootindex=NNN 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. Regards, Daniel ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
[openstack-dev] [nova] discussion of an implementation detail for boot from network feature
Hi all, This is related to the following blueprint: https://blueprints.launchpad.net/nova/+spec/pxe-boot-instance I would like to discuss here briefly an implementation detail and collect some feedback. 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, documentation, etc). 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. Ondrej ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [nova] discussion of an implementation detail for boot from network feature
On Thu, Oct 02, 2014 at 11:45:54AM +0200, Ondrej Wisniewski wrote: Hi all, This is related to the following blueprint: https://blueprints.launchpad.net/nova/+spec/pxe-boot-instance I would like to discuss here briefly an implementation detail and collect some feedback. 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, documentation, etc). 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. bootindex=NNN 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. Regards, Daniel -- |: http://berrange.com -o-http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [nova] discussion of an implementation detail for boot from network feature
On 10/02/2014 11:56 AM, Daniel P. Berrange wrote: On Thu, Oct 02, 2014 at 11:45:54AM +0200, Ondrej Wisniewski wrote: Hi all, This is related to the following blueprint: https://blueprints.launchpad.net/nova/+spec/pxe-boot-instance I would like to discuss here briefly an implementation detail and collect some feedback. 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, documentation, etc). 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. bootindex=NNN 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. Regards, Daniel Hi Daniel, 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 OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev