Control Neutron features via extension list

Registered by Akihiro Motoki on 2013-07-29

Neutron has many features and their support depends on a backend plugin.
Neutron features are implemented through the extension mechanism and we can determine which features are available through extension-list of the Neutron API.

The goal of this blueprint is to enable/disable Neutron related features based on the extension list from Neutron and remove Neutron related settings in local_settings.py.

The following features are related to this BP:
- Current features: Router, Load Balancer, Security Group
- Planned features: Firewall, VPN, Quota

This BP consists of the following works:
- Add is_extension_supported(extension-name) method to openstack_dashboard/api/neutron.py
- Enable neutron related panels according to the above method (router, loadbalancer, security_group)
- Remove the related configuration from local_settings.py

The question is whether we should keep the neutron-related configurations "enable_xxx" in local_settings.py.

Blueprint information

Status:
Complete
Approver:
Gabriel Hurley
Priority:
Medium
Drafter:
Akihiro Motoki
Direction:
Approved
Assignee:
Akihiro Motoki
Definition:
Approved
Series goal:
Accepted for juno
Implementation:
Implemented
Milestone target:
milestone icon 2014.2
Started by
Akihiro Motoki on 2014-08-07
Completed by
David Lyle on 2014-09-02

Whiteboard

[david-lyle 2014.07.14] Moving milestone to j-3

[amotoki 2014.08.06]
After investigating the code, panels cannot be controlled by neutron.is_extension_supported method now and we need additional change in horizon.Panel, for example Panel class has a method to check the panel can be accessed using extension_list from backend services like neutron.

blueprint separate-identity-dash is adding a new method to check if the panel can be accessed and it seems better this BP is implemented on top of blueprint separate-identity-dash.

Note that controlling "Router" related feature will be out of the scope of this work because "router" extension in neutron provides both router and floating IP features and the floating IP feature is essential in OpenStack. If we disable "router" feature, we also need to disable "floating IP" panel, but it seems a big change beyond the scope of this BP.

Gerrit topic: https://review.openstack.org/#q,topic:bp/neutron-feature-control-with-ext-list,n,z

Addressed by: https://review.openstack.org/114051
    Display Network panels based on neutron ext-list

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.