diff --git a/README.rst b/README.rst index 0a40dc18..c11dd63b 100644 --- a/README.rst +++ b/README.rst @@ -35,7 +35,7 @@ Howto install on the horizon machine or within horizon's python virtual environment. -2. Copy ``_1481_project_ng_loadbalancersv2_panel.py`` in +2. Copy ``_1482_project_load_balancer_panel.py`` in ``octavia_dashboard/enabled`` directory to ``openstack_dashboard/local/enabled``. diff --git a/devstack/settings b/devstack/settings index 13a67c36..66ec74d9 100644 --- a/devstack/settings +++ b/devstack/settings @@ -1,5 +1,5 @@ OCTAVIA_DASHBOARD_DIR=$DEST/octavia-dashboard -OCTAVIA_DASHBOARD_ENABLE_FILE_NAME=_1481_project_ng_loadbalancersv2_panel.py +OCTAVIA_DASHBOARD_ENABLE_FILE_NAME=_1482_project_load_balancer_panel.py OCTAVIA_DASHBOARD_ENABLE_FILE_PATH=$OCTAVIA_DASHBOARD_DIR/octavia_dashboard/enabled/$OCTAVIA_DASHBOARD_ENABLE_FILE_NAME diff --git a/octavia_dashboard/dashboards/project/ngloadbalancersv2/__init__.py b/octavia_dashboard/dashboards/project/load_balancer/__init__.py similarity index 100% rename from octavia_dashboard/dashboards/project/ngloadbalancersv2/__init__.py rename to octavia_dashboard/dashboards/project/load_balancer/__init__.py diff --git a/octavia_dashboard/dashboards/project/ngloadbalancersv2/panel.py b/octavia_dashboard/dashboards/project/load_balancer/panel.py similarity index 53% rename from octavia_dashboard/dashboards/project/ngloadbalancersv2/panel.py rename to octavia_dashboard/dashboards/project/load_balancer/panel.py index 959b4abe..6fa7ebc9 100644 --- a/octavia_dashboard/dashboards/project/ngloadbalancersv2/panel.py +++ b/octavia_dashboard/dashboards/project/load_balancer/panel.py @@ -18,27 +18,10 @@ 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") - slug = 'ngloadbalancersv2' + slug = 'load_balancer' permissions = ('openstack.services.network',) - - def allowed(self, context): - 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) diff --git a/octavia_dashboard/dashboards/project/ngloadbalancersv2/templates/ngloadbalancersv2/index.html b/octavia_dashboard/dashboards/project/load_balancer/templates/load_balancer/index.html similarity index 100% rename from octavia_dashboard/dashboards/project/ngloadbalancersv2/templates/ngloadbalancersv2/index.html rename to octavia_dashboard/dashboards/project/load_balancer/templates/load_balancer/index.html diff --git a/octavia_dashboard/dashboards/project/ngloadbalancersv2/urls.py b/octavia_dashboard/dashboards/project/load_balancer/urls.py similarity index 90% rename from octavia_dashboard/dashboards/project/ngloadbalancersv2/urls.py rename to octavia_dashboard/dashboards/project/load_balancer/urls.py index b531f7ac..bbae102b 100644 --- a/octavia_dashboard/dashboards/project/ngloadbalancersv2/urls.py +++ b/octavia_dashboard/dashboards/project/load_balancer/urls.py @@ -14,7 +14,7 @@ from django.conf.urls import url -from octavia_dashboard.dashboards.project.ngloadbalancersv2 import views +from octavia_dashboard.dashboards.project.load_balancer import views urlpatterns = [ diff --git a/octavia_dashboard/dashboards/project/ngloadbalancersv2/views.py b/octavia_dashboard/dashboards/project/load_balancer/views.py similarity index 92% rename from octavia_dashboard/dashboards/project/ngloadbalancersv2/views.py rename to octavia_dashboard/dashboards/project/load_balancer/views.py index 83978d96..0402b8ed 100644 --- a/octavia_dashboard/dashboards/project/ngloadbalancersv2/views.py +++ b/octavia_dashboard/dashboards/project/load_balancer/views.py @@ -16,5 +16,5 @@ from horizon.views import HorizonTemplateView class IndexView(HorizonTemplateView): - template_name = 'project/ngloadbalancersv2/index.html' + template_name = 'project/load_balancer/index.html' page_title = 'Load Balancers' diff --git a/octavia_dashboard/enabled/_1481_project_ng_loadbalancersv2_panel.py b/octavia_dashboard/enabled/_1482_project_load_balancer_panel.py similarity index 92% rename from octavia_dashboard/enabled/_1481_project_ng_loadbalancersv2_panel.py rename to octavia_dashboard/enabled/_1482_project_load_balancer_panel.py index 484e4526..0a8a9730 100644 --- a/octavia_dashboard/enabled/_1481_project_ng_loadbalancersv2_panel.py +++ b/octavia_dashboard/enabled/_1482_project_load_balancer_panel.py @@ -13,7 +13,7 @@ # limitations under the License. # The slug of the panel to be added to HORIZON_CONFIG. Required. -PANEL = 'ngloadbalancersv2' +PANEL = 'load_balancer' # The slug of the dashboard the PANEL is associated with. Required. PANEL_DASHBOARD = 'project' # The slug of the panel group the PANEL is associated with. @@ -21,7 +21,7 @@ PANEL_GROUP = 'network' # Python panel class of the PANEL to be added. ADD_PANEL = ( - 'octavia_dashboard.dashboards.project.ngloadbalancersv2.panel' + 'octavia_dashboard.dashboards.project.load_balancer.panel' '.NGLoadBalancers') ADD_INSTALLED_APPS = ['octavia_dashboard'] diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/create/create.action.service.js b/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/create/create.action.service.js index 3a0891b4..0fe6d742 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/create/create.action.service.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/create/create.action.service.js @@ -80,7 +80,7 @@ function onCreate(response) { var healthMonitorId = response.data.id; - $location.path('project/ngloadbalancersv2/' + loadbalancerId + '/listeners/' + + $location.path('project/load_balancer/' + loadbalancerId + '/listeners/' + listenerId + '/pools/' + poolId + '/healthmonitors/' + healthMonitorId); } diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/create/create.action.service.spec.js b/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/create/create.action.service.spec.js index 1030317e..4070c684 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/create/create.action.service.spec.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/create/create.action.service.spec.js @@ -98,7 +98,7 @@ init('loadbalancer1', 'listener1', loadBalancerState.promise).create.allowed({id: 'pool1'}); service.create.perform(); expect($location.path).toHaveBeenCalledWith( - 'project/ngloadbalancersv2/loadbalancer1/listeners/listener1/pools/pool1/' + + 'project/load_balancer/loadbalancer1/listeners/listener1/pools/pool1/' + 'healthmonitors/healthmonitor1'); }); diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/delete/delete.action.service.js b/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/delete/delete.action.service.js index b3d6e816..6e56543b 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/delete/delete.action.service.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/delete/delete.action.service.js @@ -106,7 +106,7 @@ $route.reload(); } else { // Success, go back to pool details page - var path = 'project/ngloadbalancersv2/' + loadbalancerId + + var path = 'project/load_balancer/' + loadbalancerId + '/listeners/' + listenerId + '/pools/' + poolId; $location.path(path); diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/delete/delete.action.service.spec.js b/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/delete/delete.action.service.spec.js index 326376d9..70a17f1c 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/delete/delete.action.service.spec.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/actions/delete/delete.action.service.spec.js @@ -143,7 +143,7 @@ }); it('should return to pool details after delete', function() { - var path = 'project/ngloadbalancersv2/1/listeners/2/pools/3'; + var path = 'project/load_balancer/1/listeners/2/pools/3'; spyOn($location, 'path'); spyOn(toast, 'add'); service.perform(monitor); diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/detail.html b/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/detail.html index fe1b9651..26df07c9 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/detail.html +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/healthmonitors/detail.html @@ -3,10 +3,10 @@
- \ No newline at end of file + diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/lbaasv2.module.js b/octavia_dashboard/static/dashboard/project/lbaasv2/lbaasv2.module.js index c4225cdf..4026802f 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/lbaasv2.module.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/lbaasv2.module.js @@ -57,7 +57,7 @@ var basePath = $windowProvider.$get().STATIC_URL + 'dashboard/project/lbaasv2/'; $provide.constant('horizon.dashboard.project.lbaasv2.basePath', basePath); - var loadbalancers = '/project/ngloadbalancersv2'; + var loadbalancers = '/project/load_balancer'; var listener = loadbalancers + '/:loadbalancerId/listeners/:listenerId'; var pool = listener + '/pools/:poolId'; var member = pool + '/members/:memberId'; diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/lbaasv2.module.spec.js b/octavia_dashboard/static/dashboard/project/lbaasv2/lbaasv2.module.spec.js index ead904e3..5cbb7bec 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/lbaasv2.module.spec.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/lbaasv2.module.spec.js @@ -105,7 +105,7 @@ }); it('should route URLs', function () { - var loadbalancers = '/project/ngloadbalancersv2'; + var loadbalancers = '/project/load_balancer'; var listener = loadbalancers + '/:loadbalancerId/listeners/:listenerId'; var pool = listener + '/pools/:poolId'; var member = pool + '/members/:memberId'; diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/batch-actions.service.js b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/batch-actions.service.js index 1a039562..5d3b1537 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/batch-actions.service.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/batch-actions.service.js @@ -100,7 +100,7 @@ function onCreate(response) { var id = response.data.id; - $location.path('project/ngloadbalancersv2/' + loadBalancerId + '/listeners/' + id); + $location.path('project/load_balancer/' + loadBalancerId + '/listeners/' + id); } } diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/batch-actions.service.spec.js b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/batch-actions.service.spec.js index 4f190ec5..35ec5a62 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/batch-actions.service.spec.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/batch-actions.service.spec.js @@ -98,7 +98,7 @@ it('should redirect after create', function() { spyOn($location, 'path').and.callThrough(); actions[0].service.perform(); - expect($location.path).toHaveBeenCalledWith('project/ngloadbalancersv2/1234/listeners/5678'); + expect($location.path).toHaveBeenCalledWith('project/load_balancer/1234/listeners/5678'); }); }); diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/delete/delete.action.service.js b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/delete/delete.action.service.js index eee835d4..fba8caf8 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/delete/delete.action.service.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/delete/delete.action.service.js @@ -115,11 +115,11 @@ } else { // If the user is on the listeners table then just reload the page, otherwise they // are on the details page and we return to the table. - var regex = new RegExp('project\/ngloadbalancersv2\/' + loadbalancerId + '(\/)?$'); + var regex = new RegExp('project\/load_balancer\/' + loadbalancerId + '(\/)?$'); if (regex.test($location.path())) { $route.reload(); } else { - $location.path('project/ngloadbalancersv2/' + loadbalancerId); + $location.path('project/load_balancer/' + loadbalancerId); } } } diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/delete/delete.action.service.spec.js b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/delete/delete.action.service.spec.js index e6960045..43904dce 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/delete/delete.action.service.spec.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/actions/delete/delete.action.service.spec.js @@ -144,7 +144,7 @@ }); it('should reload table after delete', function() { - path = 'project/ngloadbalancersv2/1'; + path = 'project/load_balancer/1'; spyOn($route, 'reload'); service.perform(items); $scope.$apply(); @@ -152,12 +152,12 @@ }); it('should return to table after delete if on detail page', function() { - path = 'project/ngloadbalancersv2/1/listeners/2'; + path = 'project/load_balancer/1/listeners/2'; spyOn($location, 'path'); spyOn(toast, 'add'); service.perform(items[0]); $scope.$apply(); - expect($location.path).toHaveBeenCalledWith('project/ngloadbalancersv2/1'); + expect($location.path).toHaveBeenCalledWith('project/load_balancer/1'); expect(toast.add).toHaveBeenCalledWith('success', 'Deleted listeners: First.'); }); diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/detail.html b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/detail.html index d24e60d5..121a1268 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/detail.html +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/detail.html @@ -3,8 +3,8 @@
- \ No newline at end of file + diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/table.html b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/table.html index d31ae2fe..4376051b 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/table.html +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/listeners/table.html @@ -68,7 +68,7 @@ duration="200"> - {$ ::(item.name || item.id) $} + {$ ::(item.name || item.id) $} {$ ::item.description | noValue $} {$ ::item.protocol$} {$ ::item.protocol_port$} @@ -121,4 +121,4 @@ --> - \ No newline at end of file + diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/batch-actions.service.js b/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/batch-actions.service.js index fbe01786..5684733f 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/batch-actions.service.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/batch-actions.service.js @@ -86,7 +86,7 @@ } function onCreate(response) { - $location.path('project/ngloadbalancersv2/' + response.data.id); + $location.path('project/load_balancer/' + response.data.id); } } diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/batch-actions.service.spec.js b/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/batch-actions.service.spec.js index c83d036f..8095b4b2 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/batch-actions.service.spec.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/batch-actions.service.spec.js @@ -76,7 +76,7 @@ it('should redirect after create', function() { spyOn($location, 'path').and.callThrough(); actions[0].service.perform(); - expect($location.path).toHaveBeenCalledWith('project/ngloadbalancersv2/1'); + expect($location.path).toHaveBeenCalledWith('project/load_balancer/1'); }); }); diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/delete/delete.action.service.js b/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/delete/delete.action.service.js index 29d027cb..26b765ac 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/delete/delete.action.service.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/delete/delete.action.service.js @@ -142,10 +142,10 @@ } else { // If the user is on the load balancers table then just reload the page, otherwise they // are on the details page and we return to the table. - if (/\/ngloadbalancersv2(\/)?$/.test($location.path())) { + if (/\/load_balancer(\/)?$/.test($location.path())) { $route.reload(); } else { - $location.path('project/ngloadbalancersv2'); + $location.path('project/load_balancer'); } } } diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/delete/delete.action.service.spec.js b/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/delete/delete.action.service.spec.js index 372d7b6a..86a5c840 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/delete/delete.action.service.spec.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/actions/delete/delete.action.service.spec.js @@ -156,7 +156,7 @@ }); it('should reload table after delete', function() { - path = 'project/ngloadbalancersv2'; + path = 'project/load_balancer'; spyOn($route, 'reload'); service.perform(items); $scope.$apply(); @@ -164,12 +164,12 @@ }); it('should return to table after delete if on detail page', function() { - path = 'project/ngloadbalancersv2/1'; + path = 'project/load_balancer/1'; spyOn($location, 'path'); spyOn(toast, 'add'); service.perform(items[0]); $scope.$apply(); - expect($location.path).toHaveBeenCalledWith('project/ngloadbalancersv2'); + expect($location.path).toHaveBeenCalledWith('project/load_balancer'); expect(toast.add).toHaveBeenCalledWith('success', 'Deleted load balancers: First.'); }); diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/detail.html b/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/detail.html index 74c25724..158b2ff0 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/detail.html +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/detail.html @@ -3,7 +3,7 @@
-
\ No newline at end of file + diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/table.html b/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/table.html index e4cecb08..03d93e30 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/table.html +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/loadbalancers/table.html @@ -72,7 +72,7 @@ duration="200"> - {$ ::(item.name || item.id) $} + {$ ::(item.name || item.id) $} {$ ::item.description | noValue $} {$ ::item.operating_status | decode:table.operatingStatus $} {$ ::item.provisioning_status | decode:table.provisioningStatus $} @@ -152,4 +152,4 @@ --> - \ No newline at end of file + diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/members/detail.html b/octavia_dashboard/static/dashboard/project/lbaasv2/members/detail.html index ebb40791..16c2f17d 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/members/detail.html +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/members/detail.html @@ -3,10 +3,10 @@