[RFE][DHCP][OVS] flow based DHCP

Bug #1900934 reported by LIU Yulong
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Wishlist
LIU Yulong

Bug Description

Add a new ovs agent extension to support fully distributed DHCP for VMs in compute nodes, especially for large scale cloud. We had some disscussions during Shanghai PTG:
https://etherpad.opendev.org/p/Shanghai-Neutron-Planning-restored
http://lists.openstack.org/pipermail/openstack-discuss/2019-November/010702.html
https://github.com/gotostack/shanghai_ptg/blob/master/shanghai_neutron_ptg_topics_liuyulong.pdf

Revision history for this message
LIU Yulong (dragon889) wrote :
tags: added: rfe
Changed in neutron:
importance: Undecided → Wishlist
Revision history for this message
Slawek Kaplonski (slaweq) wrote :

LIU: do You have any spec with details about this? So we can read it and discuss on the drivers team meeting? If so, please link it here.

LIU Yulong (dragon889)
Changed in neutron:
assignee: nobody → LIU Yulong (dragon889)
Revision history for this message
LIU Yulong (dragon889) wrote :
Revision history for this message
Slawek Kaplonski (slaweq) wrote :

Thx. Lets discuss that on the next drivers meeting.

tags: added: rfe-triaged
removed: rfe
Revision history for this message
Slawek Kaplonski (slaweq) wrote :

This rfe was discussed on last drivers meeting: http://eavesdrop.openstack.org/meetings/neutron_drivers/2021/neutron_drivers.2021-01-08-14.00.log.html#l-130 and we agreed to approve it.
Lets continue discussion about details of this proposal in review of the spec.

tags: added: l3-ipam-dhcp ovs rfe-approved
removed: rfe-triaged
Revision history for this message
LIU Yulong (dragon889) wrote :

Should we carete a BP for this?

Revision history for this message
LIU Yulong (dragon889) wrote :

I've created a bp for this RFE since it is approved:
https://blueprints.launchpad.net/neutron/+spec/distributed-dhcp-for-ml2-ovs

Revision history for this message
Slawek Kaplonski (slaweq) wrote :

Thx Liu for the BP

Changed in neutron:
milestone: none → wallaby-3
Changed in neutron:
milestone: wallaby-3 → none
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron (master)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/773282
Committed: https://opendev.org/openstack/neutron/commit/b0022c51fed2c824ab85c0ec8f5dc2b9f5a13c59
Submitter: "Zuul (22348)"
Branch: master

commit b0022c51fed2c824ab85c0ec8f5dc2b9f5a13c59
Author: LIU Yulong <email address hidden>
Date: Wed Jan 27 17:09:33 2021 +0800

    Add the DHCPReponder for IPv4

    This patch implements the responder for DHCPv4. The main
    work of the responder is to assemble the DHCP packet with
    its protocol required options based on the information of
    neutron Port/Subnet/Network.

    Partially-Implements: bp/distributed-dhcp-for-ml2-ovs
    Related-Bug: #1900934

    Change-Id: I8b0466263388085bb1949ea37f4788579c46093a

LIU Yulong (dragon889)
Changed in neutron:
milestone: none → xena-1
status: New → In Progress
Changed in neutron:
milestone: xena-1 → xena-2
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.opendev.org/c/openstack/neutron/+/773283
Committed: https://opendev.org/openstack/neutron/commit/a292bea168941acfce5c2b058c2f178e8ff5c1ae
Submitter: "Zuul (22348)"
Branch: master

commit a292bea168941acfce5c2b058c2f178e8ff5c1ae
Author: LIU Yulong <email address hidden>
Date: Wed Jan 27 17:11:02 2021 +0800

    Add the DHCPReponder for IPv6

    This patch implements the responder for DHCPv6. Same as
    the IPv4, this is to assemble the DHCPv6 packet with
    its related options based on the information of
    neutron Port/Subnet/Network.

    Partially-Implements: bp/distributed-dhcp-for-ml2-ovs
    Related-Bug: #1900934

    Change-Id: If3e96e667b31b039dd1f55b978321f96facfc3e1

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/776567
Committed: https://opendev.org/openstack/neutron/commit/56e8498a4dac9e4db6185cc5d97612d824c6e8d5
Submitter: "Zuul (22348)"
Branch: master

commit 56e8498a4dac9e4db6185cc5d97612d824c6e8d5
Author: LIU Yulong <email address hidden>
Date: Fri Jun 28 10:55:01 2019 +0800

    Add agent extension 'dhcp' for ovs agent

    Add a new ovs agent extension to support distributed DHCP for
    VMs in compute nodes directly. For large scale deployment, this
    can be used to reduce the number of neutron agents. Large scale
    cloud can benefit from it.

    From the perspective of virtual machine, this will reduce the
    probability of DHCP request failure. The VMs will get a higher
    level availability for DHCP R/R, no single point of failure
    permanently. If one host goes down, VMs in other hosts will not
    be influnced by it.

    For the perspective of network performance, after using this
    extension, the DHCP broadcasting packages will be limited
    to the host locally.

    Partially-Implements: bp/distributed-dhcp-for-ml2-ovs
    Closes-Bug: #1900934
    Change-Id: Id8a4c501daad7c2185e6d69441182666ef987e61

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron/+/798285

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/776568
Committed: https://opendev.org/openstack/neutron/commit/4b22eea4be54015c6b517257013597edbe725806
Submitter: "Zuul (22348)"
Branch: master

commit 4b22eea4be54015c6b517257013597edbe725806
Author: LIU Yulong <email address hidden>
Date: Wed Jan 27 09:49:56 2021 +0800

    Add fullstack test case for OVS DHCP extension

    This patch will create two fake VMs to verify the DHCP R/R
    for its NIC. Ping 4/6 will be run after the interface request
    and config the IP address via DHCPv4/6 by using dhclient.

    For fullstack test fake environment, setting enable_traditional_dhcp
    to False means enable DHCP extension for OVS agent automatically.

    Partially-Implements: bp/distributed-dhcp-for-ml2-ovs
    Closes-Bug: #1900934
    Change-Id: I40d6464953fbc4d4ca2c05a6051eba43cd05fedd

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron (master)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/798285
Committed: https://opendev.org/openstack/neutron/commit/1a99adb530343d594aeed0de1abf361cb58009b4
Submitter: "Zuul (22348)"
Branch: master

commit 1a99adb530343d594aeed0de1abf361cb58009b4
Author: LIU Yulong <email address hidden>
Date: Fri Apr 16 15:28:32 2021 +0800

    Refactor DHCP common config options

    Align the config with DHCP agent options `dhcp_renewal_time`
    and `dhcp_rebinding_time` for ovs-agent dhcp extension.

    Partially-Implements: bp/distributed-dhcp-for-ml2-ovs
    Related-Bug: #1900934

    Change-Id: I671f23fcb763b847b1dc2b1d2de0567569aba892

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron/+/803469

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron (master)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/803469
Committed: https://opendev.org/openstack/neutron/commit/ca2885889f5244d7bef037654551d66909091908
Submitter: "Zuul (22348)"
Branch: master

commit ca2885889f5244d7bef037654551d66909091908
Author: Slawek Kaplonski <email address hidden>
Date: Wed Aug 4 14:08:24 2021 +0200

    Add devstack plugin to enable ovs distributed dhcp service

    Partially-Implements: bp/distributed-dhcp-for-ml2-ovs
    Related-Bug: #1900934
    Change-Id: I5617a72fcd4ec0de9aa7d1444d515e713029fa76

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 19.0.0.0rc1

This issue was fixed in the openstack/neutron 19.0.0.0rc1 release candidate.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.