Jump to: navigation, search

Nova/Blueprints/pxe-boot-instance

< Nova
Revision as of 23:32, 4 December 2013 by Rdo (talk | contribs) (Assumptions)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

PXE Boot Instance [DRAFT]

  • Launchpad entries:
    • TBD: pxe-boot-instance-base
    • TBD: pxe-boot-instance-libvirt
    • TBD: diskless-instance
  • Created: 25 Nov 2013
  • Contributors: Stephen Gordon, Rhys Oxenham

Summary

Currently, compute instances must be booted from images (or snapshots) stored in Glance or volumes stored in Cinder. This specification and the associated blueprints aim to provide a design for booting compute instances from a PXE boot server, i.e. bypassing the image/snapshot/volume requirement. It is intended that users would also be able to pick which NIC to use for PXE boot where more than one is attached to an instance. Ultimately it is intended that this would allow for the creation of diskless instances, ones that boot from PXE continually; the default configuration would likely create an ephemeral disk as per the flavor, however an additional API flag to disable the creation would assist with this requirement.

Rationale

Traditional and virtualized environments frequently distribute installation media or even stateless operating system images using a PXE server. Whilst it's possible to boot from PXE if an empty disk is provided, this is not an efficient way to support network booting, nor would it allow for PXE to be the primary boot device (e.g. in circumstances where PXE is always the required boot source).

Reference Material

User Stories

Detailed Design

Requirements

  • Ability to select "network" as a boot device when launching an instance.
  • Ability to select the vNIC to use as a boot device when more than one is present.
  • Ability to optionally disable the creation of ephemeral/persistent storage for the instance (based on flavor type)

Assumptions

  • The PXE boot service is managed externally via another machine within a tenant/provider network, this Wiki entry is not defining a "PXE-as-a-Service" offering.
  • Once PXE/Network booting is selected by the user as the instance boot source, this will always be the default boot option for the instance's entire lifecycle. i.e. it won't just PXE boot one-time and then revert back to default disk booting. The management and responsibility of ensuring that the instance isn't stuck in a PXE-boot loop (or indeed a reinstall every reboot) would need to reside with the PXE server itself.

Migration

Test/Demo Plan

Implementation

nova (base)

Nova (Libvirt Driver)

  • New boot device should be entered into the Libvirt XML attributes where required (i.e. <boot dev='network'/>)

python-novaclient

Horizon

  • Requirement for new entry in "Instance Boot Source" for network booting, e.g. "Boot from Network"
  • Upon selection of above, UI elements to allow the disabling of disk creation should appear

Release Notes

Comments and Discussion