← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1678104] Re: DHCP may not work on a dualstack network

 

Reviewed:  https://review.openstack.org/452195
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=6ad855a934e44e0fdc6a70c7dac9901ac9eafb5b
Submitter: Jenkins
Branch:    master

commit 6ad855a934e44e0fdc6a70c7dac9901ac9eafb5b
Author: Oleg Bondarev <obondarev@xxxxxxxxxxxx>
Date:   Fri Mar 31 16:27:44 2017 +0400

    Handle auto-address subnets on port update
    
    The patch handles the case when a port is updated
    with an IP from a new IPv6 auto-address subnet
    
    See bug for details on how the issue can affect DHCP
    functionality.
    
    Closes-Bug: #1678104
    Change-Id: If2473f2db3ca16b5f46d3280e79a49756d1c098a


** Changed in: neutron
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1678104

Title:
  DHCP may not work on a dualstack network

Status in neutron:
  Fix Released

Bug description:
  There might be race between ipv6 auto-address subnet create and
  network dhcp port create.

  Neutron server adds an ipv6 address to a dhcp port in two cases:

   1) network already has ipv6 subnet by the time dhcp agent requests dhcp port creation - in this case agent includes both subnets into requested IPs of the port and both get allocated;
   2) ipv6 subnet is created after the network already has dhcp port existing - ipv6 IP then gets allocated on the dhcp port as part of subnet creation on the server side;

  The bug is with the third case:
   3) ipv6 subnet and dhcp port are created at the same time: so no ipv6 IP is requested for dhcp port by dhcp agent, as well as no ipv6 address is added to dhcp port as part of subnet creation;

  In this case dhcp agent tries to reprocess network after subnet/port
  creation and updates IPs on the dhcp port:

   2017-03-24 01:51:40.528 5235 DEBUG neutron.api.rpc.handlers.dhcp_rpc
  [req-16627de0-3069-4aa8-bfe1-3db559811c53 - - - - -] Update dhcp port
  {u'port': {u'network_id': u'560fd076-9a6b-4edc-85be-1083db94c931',
  'binding:host_id': u'node-1.test.domain.local', u'fixed_ips':
  [{u'subnet_id': u'869f4abf-c440-4b65-a9be-074776fadaf1',
  u'ip_address': u'192.168.100.2'}, {u'subnet_id':
  u'f22021f4-c876-4d94-be93-d24ccb6b0e31'}]}, 'id': u'798cefef-c4c1
  -482e-bbc0-acea52e6490d'}

  Server ignores ipv6 auto-address subnets in this request. So agent
  says:

   2017-03-24 01:51:41.661 28865 DEBUG neutron.agent.linux.dhcp [req-16627de0-3069-4aa8-bfe1-3db559811c53 - - - - -] Requested DHCP port with IPs on subnets set([u'f22021f4-c876-4d94-be93-d24ccb6b0e31', u'869f4abf-c440-4b65-a9be-074776fadaf1']) but only got IPs on subnets set([u'869f4abf-c440-4b65-a9be-074776fadaf1'])
  ...
   2017-03-24 01:51:41.775 28865 DEBUG neutron.agent.dhcp.agent [req-16627de0-3069-4aa8-bfe1-3db559811c53 - - - - -] Error configuring DHCP port, scheduling resync: Subnet on port 798cefef-c4c1-482e-bbc0-acea52e6490d does not match the requested subnet f22021f4-c876-4d94-be93-d24ccb6b0e31. call_driver /usr/lib/python2.7/dist-packages/neutron/agent/dhcp/agent.py:124

  DHCP agent keeps trying, dhcp doesn't work.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1678104/+subscriptions


References