feature: Prefix Delegation (PD) client to request a prefix for a subnet from a PD server

Bug #1908083 reported by Narinder Gupta
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Neutron API Charm
Triaged
High
Unassigned

Bug Description

Enable neutron feature Prefix Delegation (PD) client to request a prefix for a subnet from a PD server.

https://docs.openstack.org/neutron/latest/admin/config-ipv6.html

This request requesting is to add ipv6_pd_enabled = True in neutron so that network ipv6 can be scaled easily in the case of the provider network. our current method of using static routes isn't really scalable. As this will make allocating ipv6 for users a lot easier it will be like DHCP for their prefixes when assigning them one behind an OpenStack router. when adding subnets you can just use the default pool and it will have the router request a prefix from their router.

Revision history for this message
David Ames (thedac) wrote :

TRIAGE:

This will need a config option to turn on or off the feature defaulting to False and updates to the templates in neutron-api.

It would make a good onboarding task.

Changed in charm-neutron-api:
status: New → Triaged
importance: Undecided → High
milestone: none → 21.01
tags: added: onboarding
jarred wilson (jardon)
Changed in charm-neutron-api:
assignee: nobody → jarred wilson (jardon)
Revision history for this message
jarred wilson (jardon) wrote :

This feature request is going to take a bit of work. It is going to require the changes that David mentioned above, but also some work to create and to automate a test fixture for the feature. Currently, this will not work with OVN so there is some ground to be gained there.

I'm unassigning as the work is going to exceed what can be done with my remaining time.

Changed in charm-neutron-api:
assignee: jarred wilson (jardon) → nobody
Changed in charm-neutron-api:
milestone: 21.01 → none
tags: removed: onboarding
Revision history for this message
jarred wilson (jardon) wrote :

Just for the record, here is an email thread between Frode, David, and myself. Hopefully, this will help whoever picks this up.

On Fri, Jan 8, 2021 at 1:14 AM Frode Nordahl <email address hidden> wrote:
Hello David, Jarred, All,

Something in OpenStack / Neutron needs to send the DHCPv6 PD request
and act on the response, i.e. set up the delegated prefix on a
OpenStack subnet.

According to the spec [3] the client will be run in the router
namespace and there should be a plugin framework for which client that
would be, with dibbler being the one used in the initial
implementation.

I do not know what this looks like today, but I'm pretty sure we need
to add a selection of which client to use and take care of installing
the packages on n-ovs and n-gw units.

For testing I would suggest using ISC DHCPD [4] as a test fixture to
serve DHCPv6 PD requests; it is the most standard compliant, feature
complete and versatile DHCP server implementation out there still. We
also have a fair share of brain trust in Canonical through our use of
ISC DHCPD in MAAS.

[3] https://specs.openstack.org/openstack/neutron-specs/specs/liberty/ipv6-prefix-delegation.html
[4] https://www.isc.org/dhcp/

On Thu, Jan 7, 2021 at 11:43 PM David Ames <email address hidden> wrote:
>
> Hmm,
>
> So [1] and [2] seem to disagree about pd_dhcp_driver. So we may just
> want to add it as a config option.
>
> [1] https://docs.openstack.org/neutron/latest/configuration/neutron.html
> [2] https://docs.openstack.org/neutron/latest/admin/config-ipv6.html
>
> --
> David Ames
>
> On Thu, Jan 7, 2021 at 2:29 PM David Ames <email address hidden> wrote:
> >
> > Jarred (and FYI, everyone else),
> >
> > I found this excellent OpenStack Summit presentation on IPv6 that
> > specifically deals with prefix delegation [0]. The whole presentation
> > is well worth your time but the PD bits begin at around the 21:00
> > minute mark. A very useful graphic at the 24:15 mark makes it clear
> > that Dibbler is an external service. So, we do not need to worry about
> > Dibbler unless we use it as a "test-fixture" (a la slapd for
> > keystone-ldap).
> >
> > Per [1] it would seem Neutron has removed the pd_dhcp_driver config
> > option entirely. So I think all we need is the config option to enable
> > PD, ipv6_pd_enabled.
> >
> > The next task will be to create a functional test which will probably
> > need Dibbler as a test-fixture.
> >
> > [0] https://www.youtube.com/watch?v=j5hy11YlSOU
> > [1] https://docs.openstack.org/neutron/latest/configuration/neutron.html
> >
> > --
> > David Ames
> _______________________________________________
> openstack-crew mailing list -- <email address hidden>
> To unsubscribe send an email to <email address hidden>

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

Other bug subscribers

Remote bug watches

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