Hide load balancers v2 panel if not enabled
This adds the "allowed" check to the Load Balancers panel so that it's not displayed if the extension is not enabled or if the horizon config explicitly disables it. Partially-Implements: blueprint horizon-lbaas-v2-ui Change-Id: I7b384c2f78aa0aa622d23b8b4ee317dd99f396e0
This commit is contained in:
parent
06ed719b69
commit
95433d718e
@ -12,10 +12,16 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import logging
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
import horizon
|
||||
|
||||
from openstack_dashboard.api import neutron
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class NGLoadBalancers(horizon.Panel):
|
||||
name = _("Load Balancers")
|
||||
@ -23,20 +29,16 @@ class NGLoadBalancers(horizon.Panel):
|
||||
permissions = ('openstack.services.network',)
|
||||
|
||||
def allowed(self, context):
|
||||
# TODO(jpomero) temporarily enabling panel for any user
|
||||
# request = context['request']
|
||||
# if not request.user.has_perms(self.permissions):
|
||||
# return False
|
||||
# try:
|
||||
# if not neutron.is_service_enabled(request,
|
||||
# config_name='enable_lb',
|
||||
# ext_name='lbaas'):
|
||||
# return False
|
||||
# except Exception:
|
||||
# LOG.error("Call to list enabled services failed. This is likely "
|
||||
# "due to a problem communicating with the Neutron "
|
||||
# "endpoint. Load Balancers panel will not be displayed")
|
||||
# return False
|
||||
# if not super(LoadBalancer, self).allowed(context):
|
||||
# return False
|
||||
return True
|
||||
request = context['request']
|
||||
try:
|
||||
if not neutron.is_service_enabled(request,
|
||||
config_name='enable_lb',
|
||||
ext_name='lbaasv2'):
|
||||
return False
|
||||
except Exception:
|
||||
LOG.error("Call to list enabled services failed. This is likely "
|
||||
"due to a problem communicating with the Neutron "
|
||||
"endpoint. Load Balancers v2 panel will not be "
|
||||
"displayed")
|
||||
return False
|
||||
return super(NGLoadBalancers, self).allowed(context)
|
||||
|
Loading…
x
Reference in New Issue
Block a user