Disable Load Balancers panel when Octavias service is not deployed

This change ensures that the Load Balancers panel is enabled only when
Octavia service is actually deployed, so that operators don't need to
maintain enabled dashboards according to the enabled services.

Story: #2008446
Task: #41413
Change-Id: Ia93cb7520ff9c179a27e72719f1fd10524c57acb
This commit is contained in:
Takashi Kajinami 2020-12-14 13:40:56 +09:00
parent acd8c0f5c8
commit d778c62cf6
1 changed files with 16 additions and 0 deletions

View File

@ -16,8 +16,24 @@ from django.utils.translation import ugettext_lazy as _
import horizon
from openstack_dashboard.api import base
class NGLoadBalancers(horizon.Panel):
name = _("Load Balancers")
slug = 'load_balancer'
permissions = ('openstack.services.network',)
def allowed(self, context):
request = context['request']
if not base.is_service_enabled(request, 'load-balancer'):
return False
else:
return super(NGLoadBalancers, self).allowed(context)
def nav(self, context):
request = context['request']
if not base.is_service_enabled(request, 'load-balancer'):
return False
else:
return True