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 bd5f48ca18
commit a2b0626d7a
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