[Fuel UI] Multiple floating ranges are not supported when using Neutron

Bug #1371363 reported by Sam Stoelinga
28
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Triaged
Medium
Fuel Sustaining
Newton
Triaged
Medium
Fuel Sustaining

Bug Description

Steps to reproduce:
1. Create an environment using Neutron
2. In the Network settings define multiple floating ranges for floating ips
3. Deploy the environment

Current result:
Deployment succeeds but only a single allocation_pool gets allocated to the floating subnet

Expected result:
For all releases of Neutron that do not support fragmented floating ip ranges in a single subnet, disable this functionality from the UI. Or fix multiple floating allocation_pools in a single subnet

There are 2 fixes, for having fragmented floating IPs in a single subnet:
1. Divide them into different subnets, where every subnet has 1 allocation_pool
2. Bypass API and directly manipulate mysql db, seems risky! For more info see: http://samos-it.com/posts/neutron-multiple-allocation-pools-single-subnet.html

See related discussion:
https://<email address hidden>/msg09001.html

Changed in fuel:
milestone: none → 6.0
Revision history for this message
Irina Povolotskaya (ipovolotskaya) wrote :

Should this be included into Release Notes?
Can 2 abovementioned fixed be described as a possible workaround?

Revision history for this message
Aleksey Kasatkin (alekseyk-ru) wrote :
Changed in fuel:
assignee: nobody → Fuel Python Team (fuel-python)
importance: Undecided → High
Revision history for this message
Aleksey Kasatkin (alekseyk-ru) wrote :

But I'm not sure whether manifests support something different.

Changed in fuel:
status: New → Confirmed
Revision history for this message
Sam Stoelinga (sammiestoel) wrote :

I can take a look at this as soon as we confirm how to fix, my suggestion goes to only allow a single range when Neutron is choosen for now and add documentation for user how to solve this problem manually after deployment. It's too risky to include the fixes in Fuel untill there is an official fix in upstream.

Revision history for this message
Sam Stoelinga (sammiestoel) wrote :

I noticed that Neutron API also supports multiple allocation_pools per subnet but it requires using the python api instead of the CLI, please see the following script I created to update a subnet with multiple allocation_pools: http://paste.openstack.org/show/115423/

So instead of disabling it in UI i suggest using the python api to create the subnets which support multiple allocation_pools per subnet.

Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Sam Stoelinga (sammiestoel)
summary: - [Fuel UI] Multiple floating ranges not supported when using Neutron
+ [Fuel UI] Multiple floating ranges not working when using Neutron
Revision history for this message
Aleksey Kasatkin (alekseyk-ru) wrote : Re: [Fuel UI] Multiple floating ranges not working when using Neutron

Sergey V. suggestion is to disable this in UI as a quick solution. Seems it is not supported in library now.

Revision history for this message
Sam Stoelinga (sammiestoel) wrote :

So I did the initial code, but still need to get a development environment up to run the code.

Patch: https://review.openstack.org/#/c/126635/

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

Reviewed: https://review.openstack.org/126635
Committed: https://git.openstack.org/cgit/stackforge/fuel-web/commit/?id=e9d02599aebaf45fc0397b8ca1cae27d1a2e967c
Submitter: Jenkins
Branch: master

commit e9d02599aebaf45fc0397b8ca1cae27d1a2e967c
Author: Sam Stoelinga <email address hidden>
Date: Wed Oct 8 12:42:32 2014 -0700

    Disable multi floating ranges when using Neutron

    Currently fuel-library doesn't seem to support multiple
    floating ranges when using Neutron. Neutron it self does
    support multiple floating ranges when using the Python api
    although the CLI has no support for this.

    This patch will first disable it in the UI as a first step
    and the actual support for multiple floating ip ranges with Neutron
    in fuel will be added later. We should re-enable the functionality
    in UI as soon as we have support in Fuel.

    Hacky way - needs change after advanced networking implementation

    Related-bug: #1371363

    Change-Id: I7917f5b8419b4f36e80a9d1a59291d67c832a4bd

Revision history for this message
Matthew Mosesohn (raytrac3r) wrote : Re: [Fuel UI] Multiple floating ranges not working when using Neutron

Sam, can we close this bug?

Changed in fuel:
importance: High → Wishlist
Revision history for this message
Sam Stoelinga (sammiestoel) wrote : Re: [Bug 1371363] Re: [Fuel UI] Multiple floating ranges not working when using Neutron

I would prefer to have support for multiple floating ranges as Openstack
supports this. So we can keep this bug open to track that we are missing
this support in Fuel.
The current fix is a temporary workaround to just bluntly disable multiple
floating ips in the UI.

If somebody decides that we dont want to support multiple floating ranges
at all when using neutron in Fuel, you can just close it.

Changed in fuel:
assignee: Sam Stoelinga (sammiestoel) → nobody
Changed in fuel:
importance: Wishlist → Medium
milestone: 6.0 → 6.1
assignee: nobody → Fuel Python Team (fuel-python)
importance: Medium → Low
summary: - [Fuel UI] Multiple floating ranges not working when using Neutron
+ [Fuel UI] Multiple floating ranges are not supported when using Neutron
Dmitry Pyzhov (dpyzhov)
tags: added: feature
Changed in fuel:
milestone: 6.1 → 7.0
milestone: 7.0 → 6.1
Dmitry Pyzhov (dpyzhov)
tags: added: module-networks
Revision history for this message
Dmitry Pyzhov (dpyzhov) wrote :

Is it supported by puppet now?

Changed in fuel:
milestone: 6.1 → 7.0
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
milestone: 7.0 → 8.0
Revision history for this message
Vladimir Sharshov (vsharshov) wrote :

As i can see, we have workaround which used from 6.0 version. We kept it because we want to support for multiple floating ranges as Openstack supports in future. That is why we moved it to 8.0

Changed in fuel:
importance: Low → Medium
Changed in fuel:
status: Confirmed → Triaged
Dmitry Pyzhov (dpyzhov)
tags: added: area-python
Changed in fuel:
milestone: 8.0 → 9.0
Revision history for this message
Alexander Kislitsky (akislitsky) wrote :

We passed SCF in 8.0. Moving the bug to 9.0.

Revision history for this message
Dmitry Pyzhov (dpyzhov) wrote :

It's a feature and we passed SCF for 9.0. Moving to 10.0.

Changed in fuel:
milestone: 9.0 → 10.0
Revision history for this message
Aleksey Kasatkin (alekseyk-ru) wrote :

First, let's ensure that multiple floating is supported in fuel-library.

Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Fuel Library Team (fuel-library)
Revision history for this message
Michael Polenchuk (mpolenchuk) wrote :

multiple floating is supported in fuel-lib since Nov 4, 2015
https://review.openstack.org/235879

Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Fuel Python Team (fuel-python)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-library (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/310033

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

Reviewed: https://review.openstack.org/310033
Committed: https://git.openstack.org/cgit/openstack/fuel-library/commit/?id=41bbcb9db34efcfc0c5d87aac67d60ae3ae0aadb
Submitter: Jenkins
Branch: master

commit 41bbcb9db34efcfc0c5d87aac67d60ae3ae0aadb
Author: Michael Polenchuk <email address hidden>
Date: Mon Apr 25 20:49:48 2016 +0300

    Smooth down format_allocation_pools func

    * check cidr by way of ipaddr build-in method
    * take ranges as an array or string
    * go faster if cidr ain't provided
    * rewrite tests in 'expected' fashion

    Change-Id: Idbbeeeeaf952fa4f7bd9b520d819105537ba45c6
    Related-Bug: #1371363

Revision history for this message
Aleksey Kasatkin (alekseyk-ru) wrote :

So, just API and UI are affected.

tags: added: area-ui
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
assignee: Fuel Python (Deprecated) (fuel-python) → Fuel Sustaining (fuel-sustaining-team)
Changed in fuel:
milestone: 10.0 → 10.1
Changed in fuel:
milestone: 10.1 → 11.0
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.