From 536da0119a34e62d35bebe08f03019b963eb594a Mon Sep 17 00:00:00 2001 From: Jacky Hu Date: Tue, 14 Nov 2017 16:27:24 +0800 Subject: [PATCH] Able to change monitor address and port of member Change-Id: Ice27b281359342c99d6b5ac618feda6f24688b66 Story: 1713866 Task: 5372 --- octavia_dashboard/api/rest/lbaasv2.py | 10 +- .../locale/de/LC_MESSAGES/djangojs.po | 17 ---- .../locale/id/LC_MESSAGES/djangojs.po | 63 +++++++++--- .../locale/ja/LC_MESSAGES/djangojs.po | 9 -- .../locale/ru/LC_MESSAGES/djangojs.po | 16 ---- .../locale/zh_CN/LC_MESSAGES/djangojs.po | 14 --- .../dashboard/project/lbaasv2/lbaasv2.scss | 8 +- .../modal.controller.js | 33 +++++-- .../modal.controller.spec.js | 24 ++++- .../members/actions/edit-member/modal.html | 96 +++++++++++++++++++ .../modal.service.js | 14 +-- .../modal.service.spec.js | 6 +- .../members/actions/edit-weight/modal.html | 39 -------- .../members/actions/row-actions.service.js | 10 +- .../actions/row-actions.service.spec.js | 2 +- .../project/lbaasv2/members/detail.html | 4 + .../project/lbaasv2/members/table.html | 35 ++++++- .../workflow/members/members.help.html | 10 ++ .../lbaasv2/workflow/members/members.html | 52 +++++++++- .../project/lbaasv2/workflow/model.service.js | 6 +- 20 files changed, 324 insertions(+), 144 deletions(-) rename octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/{edit-weight => edit-member}/modal.controller.js (58%) rename octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/{edit-weight => edit-member}/modal.controller.spec.js (78%) create mode 100644 octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.html rename octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/{edit-weight => edit-member}/modal.service.js (88%) rename octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/{edit-weight => edit-member}/modal.service.spec.js (96%) delete mode 100644 octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.html diff --git a/octavia_dashboard/api/rest/lbaasv2.py b/octavia_dashboard/api/rest/lbaasv2.py index 797edfe9..6aa8ce06 100644 --- a/octavia_dashboard/api/rest/lbaasv2.py +++ b/octavia_dashboard/api/rest/lbaasv2.py @@ -245,12 +245,15 @@ def add_member(request, **kwargs): member = members[index] conn = _get_sdk_connection(request) + monitor_address = member.get('monitor_address') member = conn.load_balancer.create_member( pool_id, address=member['address'], protocol_port=member['port'], subnet_id=member['subnet'], - weight=member.get('weight')) + weight=member.get('weight'), + monitor_address=monitor_address if monitor_address else None, + monitor_port=member.get('monitor_port')) index += 1 if kwargs.get('members_to_add'): @@ -780,8 +783,11 @@ class Member(generic.View): """ data = request.DATA conn = _get_sdk_connection(request) + monitor_address = data.get('monitor_address') member = conn.load_balancer.update_member( - member_id, pool_id, weight=data['weight']) + member_id, pool_id, weight=data.get('weight'), + monitor_address=monitor_address if monitor_address else None, + monitor_port=data.get('monitor_port')) return _get_sdk_object_dict(member) diff --git a/octavia_dashboard/locale/de/LC_MESSAGES/djangojs.po b/octavia_dashboard/locale/de/LC_MESSAGES/djangojs.po index 3e1322f6..c127a46c 100644 --- a/octavia_dashboard/locale/de/LC_MESSAGES/djangojs.po +++ b/octavia_dashboard/locale/de/LC_MESSAGES/djangojs.po @@ -607,9 +607,6 @@ msgstr "Pool-ID" msgid "Pool Members" msgstr "Pool-Mitglieder" -msgid "Pool member weight has been updated." -msgstr "Pool-Mitglied Gewicht wurde aktualisiert." - msgid "Port" msgstr "Port" @@ -822,14 +819,6 @@ msgstr "Das Zeitlimit muss eine Zahl größer oder gleich 0 sein." msgid "The weight must be a number between 1 and 256." msgstr "Das Gewicht muss eine Zahl zwischen 1 und 256 sein." -msgid "" -"The weight of a member determines the portion of requests or connections it " -"services compared to the other members of the pool." -msgstr "" -"Das Gewicht eines Mitglieds bestimmt die Menge an Anfragen oder " -"Verbindungen, die es bedient, verglichen mit den anderen Mitgliedern des " -"Pools." - msgid "Timeout" msgstr "Zeitlimit" @@ -938,15 +927,9 @@ msgstr "Listener aktualisieren" msgid "Update Load Balancer" msgstr "Loadbalancer aktualisieren" -msgid "Update Member Weight" -msgstr "Mitglied-Gewicht aktualisieren" - msgid "Update Pool" msgstr "Pool aktualisieren" -msgid "Update Weight" -msgstr "Gewicht aktualisieren" - msgid "" "Use the key-manager service to create any certificate containers before " "creating the listener.\n" diff --git a/octavia_dashboard/locale/id/LC_MESSAGES/djangojs.po b/octavia_dashboard/locale/id/LC_MESSAGES/djangojs.po index f1ae38e2..dbaffa95 100644 --- a/octavia_dashboard/locale/id/LC_MESSAGES/djangojs.po +++ b/octavia_dashboard/locale/id/LC_MESSAGES/djangojs.po @@ -212,6 +212,24 @@ msgstr "" "akan menerima lebih banyak lalu lintas. Harus dalam \n" "   nomor 1 sampai 256." +msgid "" +"Monitor Address:\n" +" An alternate IP address used for health monitoring a backend member.\n" +" Default is null which monitors the member address." +msgstr "" +"Monitor Address:\n" +" An alternate IP address used for health monitoring a backend member.\n" +" Default is null which monitors the member address." + +msgid "" +"Monitor Port:\n" +" An alternate protocol port used for health monitoring a backend member.\n" +" Default is null which monitors the member protocol port." +msgstr "" +"Monitor Port:\n" +" An alternate protocol port used for health monitoring a backend member.\n" +" Default is null which monitors the member protocol port." + msgid "A new health monitor is being created." msgstr "Sebuah pemantauan kesehatan baru sedang dibuat." @@ -621,8 +639,8 @@ msgstr "Pool ID (ID kolam)" msgid "Pool Members" msgstr "Pool Members (anggota kolam)" -msgid "Pool member weight has been updated." -msgstr "Berat anggota kolam telah diperbarui." +msgid "Pool member has been updated." +msgstr "Pool member has been updated." msgid "Port" msgstr "Port" @@ -665,6 +683,9 @@ msgstr "Memberikan rincian untuk penyeimbang beban." msgid "Provide the details for the pool." msgstr "Memberikan rincian untuk kolam." +msgid "Provide the details for the member." +msgstr "Provide the details for the member." + msgid "Provider" msgstr "Provider (penyedia)" @@ -837,12 +858,11 @@ msgstr "Timeout harus berupa angka lebih besar dari atau sama dengan 0." msgid "The weight must be a number between 1 and 256." msgstr "Berat harus dalam angka antara 1 dan 256." -msgid "" -"The weight of a member determines the portion of requests or connections it " -"services compared to the other members of the pool." -msgstr "" -"Berat anggota menentukan porsi dari permintaan atau koneksi layanan IT " -"dibandingkan dengan anggota lain dari kolam." +msgid "The monitor address must be a vaid IP address." +msgstr "The monitor address must be a vaid IP address." + +msgid "The monitor port must be a number between 1 and 65535." +msgstr "The monitor port must be a number between 1 and 65535." msgid "Timeout" msgstr "Timeout (waktu habis)" @@ -952,15 +972,12 @@ msgstr "Update Listener (perbarui pendengar)" msgid "Update Load Balancer" msgstr "Update Load Balancer (perbarui penyeimbang beban)" -msgid "Update Member Weight" -msgstr "Update Member Weight" +msgid "Update Member" +msgstr "Update Member" msgid "Update Pool" msgstr "Update Pool (perbarui kolam)" -msgid "Update Weight" -msgstr "Update Weight (perbarui berat)" - msgid "Updated At" msgstr "Updated At" @@ -1006,6 +1023,12 @@ msgstr "" msgid "Weight" msgstr "Weight (berat)" +msgid "Monitor Address" +msgstr "Monitor Address" + +msgid "Monitor Port" +msgstr "Monitor Port" + msgid "" "Weight\n" " " @@ -1013,6 +1036,20 @@ msgstr "" "Weight (berat) \n" " " +msgid "" +"IP Address\n" +" " +msgstr "" +"IP Address\n" +" " + +msgid "" +"Protocol Port\n" +" " +msgstr "" +"Protocol Port\n" +" " + #, python-format msgid "" "You are about to disassociate the floating IP address from load balancer \"%s" diff --git a/octavia_dashboard/locale/ja/LC_MESSAGES/djangojs.po b/octavia_dashboard/locale/ja/LC_MESSAGES/djangojs.po index b78ad39c..f706729a 100644 --- a/octavia_dashboard/locale/ja/LC_MESSAGES/djangojs.po +++ b/octavia_dashboard/locale/ja/LC_MESSAGES/djangojs.po @@ -386,9 +386,6 @@ msgstr "プール ID" msgid "Pool Members" msgstr "プールメンバー" -msgid "Pool member weight has been updated." -msgstr "プールメンバーのウェイトが更新されました。" - msgid "Port" msgstr "ポート" @@ -623,15 +620,9 @@ msgstr "リスナーの更新" msgid "Update Load Balancer" msgstr "ロードバランサーの更新" -msgid "Update Member Weight" -msgstr "メンバーウェイトの更新" - msgid "Update Pool" msgstr "プールの更新" -msgid "Update Weight" -msgstr "ウェイトの更新" - msgid "Weight" msgstr "ウェイト" diff --git a/octavia_dashboard/locale/ru/LC_MESSAGES/djangojs.po b/octavia_dashboard/locale/ru/LC_MESSAGES/djangojs.po index 81b7ef8c..91ee1a1f 100644 --- a/octavia_dashboard/locale/ru/LC_MESSAGES/djangojs.po +++ b/octavia_dashboard/locale/ru/LC_MESSAGES/djangojs.po @@ -536,9 +536,6 @@ msgstr "ИД пула" msgid "Pool Members" msgstr "Участники пула" -msgid "Pool member weight has been updated." -msgstr "Весь элемента пула был изменен." - msgid "Port" msgstr "Порт" @@ -718,13 +715,6 @@ msgstr "Значение таймаута должно быть больше и msgid "The weight must be a number between 1 and 256." msgstr "Значение веса должно быть в диапозоне между 1 и 256." -msgid "" -"The weight of a member determines the portion of requests or connections it " -"services compared to the other members of the pool." -msgstr "" -"Вес участника определяет долю обслуживаемых запросов или соединений по " -"отношению к другим участникам пула." - msgid "Timeout" msgstr "Таймаут" @@ -833,15 +823,9 @@ msgstr "Обновить получатель" msgid "Update Load Balancer" msgstr "Обновить Балансировщик Нагрузки" -msgid "Update Member Weight" -msgstr "Обновить весь участника" - msgid "Update Pool" msgstr "Обновить пул" -msgid "Update Weight" -msgstr "Обновить вес" - msgid "Weight" msgstr "Вес" diff --git a/octavia_dashboard/locale/zh_CN/LC_MESSAGES/djangojs.po b/octavia_dashboard/locale/zh_CN/LC_MESSAGES/djangojs.po index bcdc9db5..4066e78c 100644 --- a/octavia_dashboard/locale/zh_CN/LC_MESSAGES/djangojs.po +++ b/octavia_dashboard/locale/zh_CN/LC_MESSAGES/djangojs.po @@ -581,9 +581,6 @@ msgstr "资源池ID" msgid "Pool Members" msgstr "资源池成员" -msgid "Pool member weight has been updated." -msgstr "负载均衡池成员权重已经更新。" - msgid "Port" msgstr "端口" @@ -775,11 +772,6 @@ msgstr "超时时限必须为一个大于等于0的整数。" msgid "The weight must be a number between 1 and 256." msgstr "权重必须为1到256的整数。" -msgid "" -"The weight of a member determines the portion of requests or connections it " -"services compared to the other members of the pool." -msgstr "成员的权重决定了它在服务中与其他池成员的请求和连接的占比。" - msgid "Timeout" msgstr "超时时限" @@ -887,15 +879,9 @@ msgstr "更新监听器" msgid "Update Load Balancer" msgstr "更新负载均衡器" -msgid "Update Member Weight" -msgstr "更新成员权重" - msgid "Update Pool" msgstr "更新资源池" -msgid "Update Weight" -msgstr "更新权重" - msgid "" "Use the key-manager service to create any certificate containers before " "creating the listener.\n" diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/lbaasv2.scss b/octavia_dashboard/static/dashboard/project/lbaasv2/lbaasv2.scss index 6e51091c..e20e7d64 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/lbaasv2.scss +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/lbaasv2.scss @@ -26,6 +26,12 @@ .member-address { width: 18em; } + .member-monitor-port { + width: 6em; + } + .member-monitor-address { + width: 18em; + } } /* The IP addresses list displayed when hovering over the IP address in the @@ -88,4 +94,4 @@ detail-status { text-align: center; margin-top: 10px; } -} \ No newline at end of file +} diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.controller.js b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.controller.js similarity index 58% rename from octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.controller.js rename to octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.controller.js index ec08f0e8..cd554f63 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.controller.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.controller.js @@ -18,11 +18,13 @@ angular .module('horizon.dashboard.project.lbaasv2.members') - .controller('EditWeightModalController', EditWeightModalController); + .controller('EditMemberModalController', EditMemberModalController); - EditWeightModalController.$inject = [ + EditMemberModalController.$inject = [ '$uibModalInstance', 'horizon.app.core.openstack-service-api.lbaasv2', + 'horizon.dashboard.project.lbaasv2.basePath', + 'horizon.dashboard.project.lbaasv2.patterns', 'horizon.framework.util.i18n.gettext', // Dependencies injected with resolve by $uibModal.open 'poolId', @@ -31,9 +33,9 @@ /** * @ngdoc controller - * @name EditWeightModalController + * @name EditMemberModalController * @description - * Controller used by the modal service for editing the weight of a pool member. + * Controller used by the modal service for editing a pool member. * * @param $uibModalInstance The angular bootstrap $uibModalInstance service. * @param api The LBaaS v2 API service. @@ -41,22 +43,37 @@ * @param poolId The pool ID. * @param member The pool member to update. * - * @returns The Edit Weight modal controller. + * @returns The Edit Member modal controller. */ - function EditWeightModalController($uibModalInstance, api, gettext, poolId, member) { + function EditMemberModalController($uibModalInstance, api, basePath, + patterns, gettext, poolId, member) { var ctrl = this; + // IP address validation pattern + ctrl.ipPattern = [patterns.ipv4, patterns.ipv6].join('|'); + + ctrl.address = member.address; + ctrl.protocol_port = member.protocol_port; ctrl.weight = member.weight; + ctrl.monitor_address = member.monitor_address; + ctrl.monitor_port = member.monitor_port; ctrl.cancel = cancel; ctrl.save = save; ctrl.saving = false; ctrl.weightError = gettext('The weight must be a number between 1 and 256.'); + ctrl.monitorAddressError = gettext('The monitor address must be a vaid IP address.'); + ctrl.monitorPortError = gettext('The monitor port must be a number between 1 and 65535.'); + + ctrl.helpUrl = basePath + 'workflow/members/members.help.html'; function save() { ctrl.saving = true; - return api.editMember(poolId, member.id, { weight: ctrl.weight }) - .then(onSuccess, onFailure); + return api.editMember(poolId, member.id, { + weight: ctrl.weight, + monitor_address: ctrl.monitor_address, + monitor_port: ctrl.monitor_port + }).then(onSuccess, onFailure); } function cancel() { diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.controller.spec.js b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.controller.spec.js similarity index 78% rename from octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.controller.spec.js rename to octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.controller.spec.js index 7395e31a..9753227b 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.controller.spec.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.controller.spec.js @@ -16,7 +16,7 @@ (function () { 'use strict'; - describe('LBaaS v2 Member Edit Weight Controller', function() { + describe('LBaaS v2 Member Edit Controller', function() { var ctrl, api, $controller, $uibModalInstance, $scope, $q; var fail = false; @@ -37,7 +37,11 @@ $provide.value('poolId', 'pool1'); $provide.value('member', { id: 'member1', - weight: 1 + address: '3.3.3.3', + protocol_port: '443', + weight: 1, + monitor_address: '1.1.1.1', + monitor_port: 80 }); $provide.value('horizon.app.core.openstack-service-api.lbaasv2', { editMember: function() { @@ -52,24 +56,34 @@ $uibModalInstance = $injector.get('$uibModalInstance'); $scope = $injector.get('$rootScope').$new(); $q = $injector.get('$q'); - ctrl = $controller('EditWeightModalController'); + ctrl = $controller('EditMemberModalController'); })); it('should define controller properties', function() { expect(ctrl.cancel).toBeDefined(); expect(ctrl.save).toBeDefined(); expect(ctrl.saving).toBe(false); + expect(ctrl.address).toBeDefined(); + expect(ctrl.protocol_port).toBeDefined(); expect(ctrl.weight).toBe(1); + expect(ctrl.ipPattern).toBeDefined(); + expect(ctrl.helpUrl).toBeDefined(); expect(ctrl.weightError).toBe('The weight must be a number between 1 and 256.'); + expect(ctrl.monitorAddressError).toBe('The monitor address must be a vaid IP address.'); + expect(ctrl.monitorPortError).toBe('The monitor port must be a number between 1 and 65535.'); }); - it('should edit member weight', function() { + it('should edit member weight, monitor address and port', function() { spyOn(api, 'editMember').and.callThrough(); spyOn($uibModalInstance, 'close'); ctrl.save(); $scope.$apply(); expect(ctrl.saving).toBe(true); - expect(api.editMember).toHaveBeenCalledWith('pool1', 'member1', { weight: 1 }); + expect(api.editMember).toHaveBeenCalledWith('pool1', 'member1', { + weight: 1, + monitor_address: '1.1.1.1', + monitor_port: 80 + }); expect($uibModalInstance.close).toHaveBeenCalled(); }); diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.html b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.html new file mode 100644 index 00000000..7b659238 --- /dev/null +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.html @@ -0,0 +1,96 @@ + + + diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.service.js b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.service.js similarity index 88% rename from octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.service.js rename to octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.service.js index 32396dbb..d26c973b 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.service.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.service.js @@ -18,7 +18,7 @@ angular .module('horizon.dashboard.project.lbaasv2.members') - .factory('horizon.dashboard.project.lbaasv2.members.actions.edit-weight.modal.service', + .factory('horizon.dashboard.project.lbaasv2.members.actions.edit-member.modal.service', modalService); modalService.$inject = [ @@ -33,10 +33,10 @@ /** * @ngdoc service - * @ngname horizon.dashboard.project.lbaasv2.members.actions.edit-weight.modal.service + * @ngname horizon.dashboard.project.lbaasv2.members.actions.edit-member.modal.service * * @description - * Provides the service for the pool member Edit Weight action. + * Provides the service for the pool member Edit Member action. * * @param $q The angular service for promises. * @param $uibModal The angular bootstrap $uibModal service. @@ -46,7 +46,7 @@ * @param toastService The horizon toast service. * @param gettext The horizon gettext function for translation. * - * @returns The Edit Weight modal service. + * @returns The Edit Member modal service. */ function modalService( @@ -99,8 +99,8 @@ function open(item) { var spec = { backdrop: 'static', - controller: 'EditWeightModalController as modal', - templateUrl: basePath + 'members/actions/edit-weight/modal.html', + controller: 'EditMemberModalController as modal', + templateUrl: basePath + 'members/actions/edit-member/modal.html', resolve: { poolId: function() { return poolId; @@ -114,7 +114,7 @@ } function onModalClose() { - toastService.add('success', gettext('Pool member weight has been updated.')); + toastService.add('success', gettext('Pool member has been updated.')); $route.reload(); } diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.service.spec.js b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.service.spec.js similarity index 96% rename from octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.service.spec.js rename to octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.service.spec.js index 11bdf764..ea91cd97 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.service.spec.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-member/modal.service.spec.js @@ -16,7 +16,7 @@ (function () { 'use strict'; - describe('LBaaS v2 Member Edit Weight Service', function() { + describe('LBaaS v2 Member Edit Service', function() { var service, policy, $scope, $route, $uibModal, toast; var member = { id: 'member1' }; @@ -65,7 +65,7 @@ $route = $injector.get('$route'); $uibModal = $injector.get('$uibModal'); service = $injector.get( - 'horizon.dashboard.project.lbaasv2.members.actions.edit-weight.modal.service'); + 'horizon.dashboard.project.lbaasv2.members.actions.edit-member.modal.service'); service.init('pool1', fakePromise()); })); @@ -101,7 +101,7 @@ spyOn($route, 'reload'); service.perform(member); $scope.$apply(); - expect(toast.add).toHaveBeenCalledWith('success', 'Pool member weight has been updated.'); + expect(toast.add).toHaveBeenCalledWith('success', 'Pool member has been updated.'); expect($route.reload).toHaveBeenCalled(); }); diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.html b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.html deleted file mode 100644 index 1d2452ed..00000000 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/edit-weight/modal.html +++ /dev/null @@ -1,39 +0,0 @@ - - - diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/row-actions.service.js b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/row-actions.service.js index e031f89c..948b01a0 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/row-actions.service.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/row-actions.service.js @@ -23,7 +23,7 @@ rowActions.$inject = [ 'horizon.framework.util.i18n.gettext', 'horizon.dashboard.project.lbaasv2.loadbalancers.service', - 'horizon.dashboard.project.lbaasv2.members.actions.edit-weight.modal.service' + 'horizon.dashboard.project.lbaasv2.members.actions.edit-member.modal.service' ]; /** @@ -35,11 +35,11 @@ * * @param gettext The horizon gettext function for translation. * @param loadBalancersService The LBaaS v2 load balancers service. - * @param editWeight The LBaaS v2 pool member edit weight service. + * @param editMember The LBaaS v2 pool member edit service. * @returns Members row actions service object. */ - function rowActions(gettext, loadBalancersService, editWeight) { + function rowActions(gettext, loadBalancersService, editMember) { var loadBalancerIsActionable, poolId; var service = { @@ -59,9 +59,9 @@ function actions() { return [{ - service: editWeight.init(poolId, loadBalancerIsActionable), + service: editMember.init(poolId, loadBalancerIsActionable), template: { - text: gettext('Update Weight') + text: gettext('Edit') } }]; } diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/row-actions.service.spec.js b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/row-actions.service.spec.js index 1e7e55ac..b0450240 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/row-actions.service.spec.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/members/actions/row-actions.service.spec.js @@ -36,7 +36,7 @@ it('should define correct table row actions', function() { expect(actions.length).toBe(1); - expect(actions[0].template.text).toBe('Update Weight'); + expect(actions[0].template.text).toBe('Edit'); }); it('should have the "allowed" and "perform" functions', function() { diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/members/detail.html b/octavia_dashboard/static/dashboard/project/lbaasv2/members/detail.html index 812c3970..b450bcd7 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/members/detail.html +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/members/detail.html @@ -33,6 +33,10 @@
{$ ctrl.member.subnet_id $}
Weight
{$ ctrl.member.weight $}
+
Monitor Address
+
{$ ::ctrl.member.monitor_address | noValue:('None' | translate) $}
+
Monitor Port
+
{$ ::ctrl.member.monitor_port | noValue:('None' | translate) $}
Created At
{$ ::ctrl.member.created_at $}
Updated At
diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/members/table.html b/octavia_dashboard/static/dashboard/project/lbaasv2/members/table.html index bf4cb861..a948613b 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/members/table.html +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/members/table.html @@ -35,6 +35,8 @@ + + ID IP Address Protocol Port @@ -54,7 +56,7 @@ Include action-col if you want to perform actions. rsp-p1 rsp-p2 are responsive priority as user resizes window. --> - @@ -62,6 +64,12 @@ ng-model="tCtrl.selections[item.id].checked" hz-select="item"> + + + + {$ ::item.id $} {$ ::item.address $} {$ ::item.protocol_port $} @@ -77,7 +85,30 @@ - + + + + +
+
+
Monitor Address
+
{$ ::item.monitor_address | noValue:('None' | translate) $}
+
+
+
Monitor Port
+
{$ ::item.monitor_port | noValue:('None' | translate) $}
+
+
+ + + + + + + +
+
+
Monitor Address
+
+ +
+
+
+
Monitor Port
+
+ +
+
+
+ + + + + + diff --git a/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/model.service.js b/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/model.service.js index 4404d860..91bb77f1 100644 --- a/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/model.service.js +++ b/octavia_dashboard/static/dashboard/project/lbaasv2/workflow/model.service.js @@ -501,7 +501,9 @@ members.push({ id: server.id, name: server.name, - weight: 1 + weight: 1, + monitor_address: null, + monitor_port: null }); } }); @@ -661,6 +663,8 @@ subnet: mapSubnetObj(member.subnet_id), port: member.protocol_port, weight: member.weight, + monitor_address: member.monitor_address, + monitor_port: member.monitor_port, allocatedMember: true }); });