Make it possible to pxeboot ports.

Registered by Robert Collins on 2013-01-18

Nova baremetal needs to send PXE boot instructions to machines. It currently runs its own dnsmasq process to accomplish this, but this is listening on the same broadcast domain as the quantum dhcp-agent's dnsmasq (or equally that of nova-network). This makes booting very unreliable.

I discussed this on the list a few times - http://lists.openstack.org/pipermail/openstack-dev/2013-January/004363.html is a decent summary / entry point.

What I propose to do is to add a pxeboot extension (extensions?) to quantum that allow nova to specify the pxe boot details when it creates or updates a port. Guidance on exactly what that looks like in code appreciated :)

Overall arc looks like:
 - teach quantum ports to store pxe boot details
 - teach the dhcp agent to configure that (see list reference for how that should look on disk)
 - teach quantumclient to drive this api
 - teach nova to ask the hypervisor for pxe details as part of network setup

We can assume that any pxe details for a port are reachable via the network the port is on (e.g. it is not quantums problem to ensure a sane setup).

Blueprint information

Status:
Complete
Approver:
Mark McClain
Priority:
High
Drafter:
None
Direction:
Approved
Assignee:
dkehn
Definition:
Approved
Series goal:
Accepted for havana
Implementation:
Implemented
Milestone target:
milestone icon 2013.2
Started by
Thierry Carrez on 2013-07-30
Completed by
Mark McClain on 2013-09-03

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/Make,n,z

Addressed by: https://review.openstack.org/30441
    blueprint pxeboot-ports

Gerrit topic: https://review.openstack.org/#q,topic:bp/pxeboot-port,n,z

Addressed by: https://review.openstack.org/44564
    bp: pxeboot-port, provide pxeboot on ports

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.