diff --git a/octavia_dashboard/api/rest/lbaasv2.py b/octavia_dashboard/api/rest/lbaasv2.py index 2b70563c..b04705bb 100644 --- a/octavia_dashboard/api/rest/lbaasv2.py +++ b/octavia_dashboard/api/rest/lbaasv2.py @@ -28,6 +28,7 @@ try: except ImportError: from os_client_config import config as occ +from openstack_dashboard.api import base from openstack_dashboard.api import neutron from openstack_dashboard.api.rest import urls from openstack_dashboard.api.rest import utils as rest_utils @@ -675,6 +676,10 @@ def add_floating_ip_info(request, loadbalancers): lb['floating_ip'] = floating_ip +def is_load_balancer_service_enabled(request): + return base.is_service_enabled(request, 'load-balancer') + + @urls.register class LoadBalancers(generic.View): """API for load balancers. diff --git a/octavia_dashboard/dashboards/project/load_balancer/panel.py b/octavia_dashboard/dashboards/project/load_balancer/panel.py index 14759eb7..0bedfbb2 100644 --- a/octavia_dashboard/dashboards/project/load_balancer/panel.py +++ b/octavia_dashboard/dashboards/project/load_balancer/panel.py @@ -13,6 +13,7 @@ # under the License. from django.utils.translation import ugettext_lazy as _ +from octavia_dashboard.api.rest import lbaasv2 import horizon @@ -21,3 +22,7 @@ class NGLoadBalancers(horizon.Panel): name = _("Load Balancers") slug = 'load_balancer' permissions = ('openstack.services.load-balancer',) + + def allowed(self, context): + request = context['request'] + return lbaasv2.is_load_balancer_service_enabled(request)