← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1514810] [NEW] Turning on 'enable_dhcp' on subnet update cause request failure for pluggable IPAM

 

Public bug reported:

Bug reproducible only if pluggable IPAM is in effect.

Steps to reproduce:
1. Enable pluggable IPAM by setting ipam_driver to 'internal' (or another ipam driver).
2. Create Network.
3. Create Subnet with unchecked 'Enable DHCP' option.
4. Verify Subnet is created.
5. Edit Subnet and check 'Enable DHCP' option, press 'Save'

Observed error in UI:
"Error: Failed to update subnet "90.90.0.0/24": No more IP addresses available on network a9bb6abf-98ec-40d3-a79f-365703949b3b."

Error in neutron log:

2015-11-10 12:07:09.656 DEBUG neutron.api.v2.base [req-c585fc85-2143-4d09-95bb-615be2fac2da admin 507df20dc0be462db98373c6bcf6a88c] Request body: {u'subnet': {u'dns_nameservers': [], u'allocation_pools': [{u'start
': u'90.90.0.2', u'end': u'90.90.0.254'}], u'host_routes': [], u'name': u'niny', u'enable_dhcp': True}} from (pid=29244) prepare_request_body /opt/stack/neutron/neutron/api/v2/base.py:645
2015-11-10 12:07:09.754 INFO neutron.api.v2.resource [req-c585fc85-2143-4d09-95bb-615be2fac2da admin 507df20dc0be462db98373c6bcf6a88c] update failed (client error): No more IP addresses available on network a9bb6a
bf-98ec-40d3-a79f-365703949b3b.


Root cause:
Query in _validate_subnet is not compatible with pluggable IPAM.
It directly queries tables for built-in IPAM.

range_qry = context.session.query(models_v2.
                        IPAvailabilityRange).join(models_v2.IPAllocationPool)

https://github.com/openstack/neutron/blob/master/neutron/db/db_base_plugin_v2.py#L458

Need to reword this validation to support pluggable IPAM.

** Affects: neutron
     Importance: Undecided
     Assignee: Pavel Bondar (pasha117)
         Status: New


** Tags: l3-ipam-dhcp liberty-backport-potential

** Changed in: neutron
     Assignee: (unassigned) => Pavel Bondar (pasha117)

** Tags added: l3-ipam-dhcp

** Tags added: liberty-backport-potential

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

Title:
  Turning on 'enable_dhcp' on subnet update cause request failure for
  pluggable IPAM

Status in neutron:
  New

Bug description:
  Bug reproducible only if pluggable IPAM is in effect.

  Steps to reproduce:
  1. Enable pluggable IPAM by setting ipam_driver to 'internal' (or another ipam driver).
  2. Create Network.
  3. Create Subnet with unchecked 'Enable DHCP' option.
  4. Verify Subnet is created.
  5. Edit Subnet and check 'Enable DHCP' option, press 'Save'

  Observed error in UI:
  "Error: Failed to update subnet "90.90.0.0/24": No more IP addresses available on network a9bb6abf-98ec-40d3-a79f-365703949b3b."

  Error in neutron log:

  2015-11-10 12:07:09.656 DEBUG neutron.api.v2.base [req-c585fc85-2143-4d09-95bb-615be2fac2da admin 507df20dc0be462db98373c6bcf6a88c] Request body: {u'subnet': {u'dns_nameservers': [], u'allocation_pools': [{u'start
  ': u'90.90.0.2', u'end': u'90.90.0.254'}], u'host_routes': [], u'name': u'niny', u'enable_dhcp': True}} from (pid=29244) prepare_request_body /opt/stack/neutron/neutron/api/v2/base.py:645
  2015-11-10 12:07:09.754 INFO neutron.api.v2.resource [req-c585fc85-2143-4d09-95bb-615be2fac2da admin 507df20dc0be462db98373c6bcf6a88c] update failed (client error): No more IP addresses available on network a9bb6a
  bf-98ec-40d3-a79f-365703949b3b.

  
  Root cause:
  Query in _validate_subnet is not compatible with pluggable IPAM.
  It directly queries tables for built-in IPAM.

  range_qry = context.session.query(models_v2.
                          IPAvailabilityRange).join(models_v2.IPAllocationPool)

  https://github.com/openstack/neutron/blob/master/neutron/db/db_base_plugin_v2.py#L458

  Need to reword this validation to support pluggable IPAM.

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


Follow ups