Quantum Multi-host DHCP and L3

Registered by dan wendlandt

Goal here is to have a DHCP implementation that provides the same properties as nova-network's "multi_host" functionality, where the DHCP server for a particular VM runs directly on the same hypervisor as the VM itself (with the exception of when a VM migrates).

The main goal of this approach is that you don't need to worry about providing HA for a centralized DHCP agent.

Note: the downside of this approach is that each DHCP instance consumes an IP, meaning it can reduce the number of available IPs on a subnet (i.e., it probably makes sense to double or triple the size of the subnet when using multi_host, assuming subnets are using "free" RFC 1918 space).

Blueprint information

Status:
Complete
Approver:
dan wendlandt
Priority:
Medium
Drafter:
None
Direction:
Needs approval
Assignee:
yong sheng gong
Definition:
Obsolete
Series goal:
None
Implementation:
Needs Code Review
Milestone target:
milestone icon next
Started by
yong sheng gong
Completed by
Armando Migliaccio

Related branches

Sprints

Whiteboard

4-Sep: Moving to next since this will not merge in H3.

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

Addressed by: https://review.openstack.org/24771
    multi-host feature

I don't read the code yet.
Is it possible in Quantum that each compute node has the same ip address for dhcp?
Related traffic would be isolated to the node itself. So only one ip address is needed for dhcp.
Like what we did in nova-network:
https://blueprints.launchpad.net/nova/+spec/shared-dhcp-ip
-- Jian Wen

Discussed with yong sheng gong. It is worth a try. I will create a new blueprint to avoid too many IP addresses are used by DHCP servers after this blueprint is merged. -- Jian Wen

Dan pointed out that you can easily see what is using a port/ip already by specifying the columns to be shown in port-list, like so: quantum port-list -c fixed_ips -c device_owner, so my previous comment is moot -- Kevin Bringard

Addressed by: https://review.openstack.org/37919
    Enable multihost network with DHCP agent, use host-id and device-owner=compute: to decide the VMs for each dhcp agents, which seems to couple with Nova. We will add following patches to fix it.

(?)

Work Items