You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by da...@apache.org on 2017/05/25 21:33:32 UTC
[1/2] incubator-trafficcontrol git commit: adds ability to assign
servers to ds
Repository: incubator-trafficcontrol
Updated Branches:
refs/heads/master 8b94aa191 -> bf10b8284
adds ability to assign servers to ds
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/4a142151
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/4a142151
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/4a142151
Branch: refs/heads/master
Commit: 4a142151e71431d4787675151a9dc09fef26c679
Parents: 8b94aa1
Author: Jeremy Mitchell <mi...@gmail.com>
Authored: Tue May 23 11:33:30 2017 -0600
Committer: Dan Kirkwood <da...@gmail.com>
Committed: Thu May 25 15:32:05 2017 -0600
----------------------------------------------------------------------
.../src/common/api/DeliveryServiceService.js | 13 ++++
.../ui/app/src/common/api/ServerService.js | 4 ++
.../TableDSServersUnassignedController.js | 70 ++++++++++++++++++++
.../TableDeliveryServiceServersController.js | 36 ++++++++--
.../table/deliveryServiceServers/index.js | 3 +-
.../table.deliveryServiceServers.tpl.html | 4 +-
.../table.dsServersUnassigned.tpl.html | 49 ++++++++++++++
.../configure/deliveryServices/servers/index.js | 2 +-
8 files changed, 171 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/4a142151/traffic_ops/experimental/ui/app/src/common/api/DeliveryServiceService.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/api/DeliveryServiceService.js b/traffic_ops/experimental/ui/app/src/common/api/DeliveryServiceService.js
index a83107e..7c35224 100644
--- a/traffic_ops/experimental/ui/app/src/common/api/DeliveryServiceService.js
+++ b/traffic_ops/experimental/ui/app/src/common/api/DeliveryServiceService.js
@@ -84,6 +84,19 @@ var DeliveryServiceService = function(Restangular, locationUtils, httpService, m
);
};
+ this.assignDeliveryServiceServers = function(dsServerMappings) {
+ return Restangular.service('deliveryserviceserver').post(dsServerMappings)
+ .then(
+ function() {
+ messageModel.setMessages([ { level: 'success', text: 'Servers linked to delivery service' } ], false);
+ },
+ function(fault) {
+ messageModel.setMessages(fault.data.alerts, false);
+ }
+ );
+ };
+
+
};
DeliveryServiceService.$inject = ['Restangular', 'locationUtils', 'httpService', 'messageModel', 'ENV'];
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/4a142151/traffic_ops/experimental/ui/app/src/common/api/ServerService.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/api/ServerService.js b/traffic_ops/experimental/ui/app/src/common/api/ServerService.js
index 07c9011..fd950fd 100644
--- a/traffic_ops/experimental/ui/app/src/common/api/ServerService.js
+++ b/traffic_ops/experimental/ui/app/src/common/api/ServerService.js
@@ -68,6 +68,10 @@ var ServerService = function($http, $q, Restangular, locationUtils, messageModel
return Restangular.one('deliveryservices', dsId).getList('servers');
};
+ this.getUnassignedDeliveryServiceServers = function(dsId) {
+ return Restangular.one('deliveryservices', dsId).getList('unassigned_servers');
+ };
+
this.queueServerUpdates = function(id) {
return Restangular.one("servers", id).customPOST( { action: "queue"}, "queue_update" )
.then(
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/4a142151/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDSServersUnassignedController.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDSServersUnassignedController.js b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDSServersUnassignedController.js
new file mode 100644
index 0000000..a73059c
--- /dev/null
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDSServersUnassignedController.js
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+var TableDSServersUnassignedController = function(deliveryService, servers, $scope, $uibModalInstance) {
+
+ var selectedServers = [];
+
+ $scope.deliveryService = deliveryService;
+
+ $scope.unassignedServers = servers;
+
+ var addServer = function(serverId) {
+ if (_.indexOf(selectedServers, serverId) == -1) {
+ selectedServers.push(serverId);
+ }
+ };
+
+ var removeServer = function(serverId) {
+ selectedServers = _.without(selectedServers, serverId);
+ };
+
+ $scope.updateServers = function($event, serverId) {
+ var checkbox = $event.target;
+ if (checkbox.checked) {
+ addServer(serverId);
+ } else {
+ removeServer(serverId);
+ }
+ };
+
+ $scope.submit = function() {
+ $uibModalInstance.close(selectedServers);
+ };
+
+ $scope.cancel = function () {
+ $uibModalInstance.dismiss('cancel');
+ };
+
+ angular.element(document).ready(function () {
+ $('#dsServersUnassignedTable').dataTable({
+ "aLengthMenu": [[25, 50, 100, -1], [25, 50, 100, "All"]],
+ "iDisplayLength": 25,
+ "order": [[ 1, 'asc' ]],
+ "columnDefs": [
+ { 'orderable': false, 'targets': 0 },
+ { "width": "5%", "targets": 0 }
+ ]
+ });
+ });
+
+};
+
+TableDSServersUnassignedController.$inject = ['deliveryService', 'servers', '$scope', '$uibModalInstance'];
+module.exports = TableDSServersUnassignedController;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/4a142151/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDeliveryServiceServersController.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDeliveryServiceServersController.js b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDeliveryServiceServersController.js
index 408d7a6..1a91c00 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDeliveryServiceServersController.js
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDeliveryServiceServersController.js
@@ -17,16 +17,12 @@
* under the License.
*/
-var TableDeliveryServiceServersController = function(deliveryService, servers, $scope, $state, locationUtils, serverUtils, deliveryServiceService) {
+var TableDeliveryServiceServersController = function(deliveryService, servers, $scope, $state, $uibModal, locationUtils, serverUtils, deliveryServiceService) {
$scope.deliveryService = deliveryService;
$scope.servers = servers;
- $scope.addServer = function() {
- alert('not hooked up yet: addServer to ds');
- };
-
$scope.removeServer = function(dsId, serverId) {
deliveryServiceService.deleteDeliveryServiceServer(dsId, serverId)
.then(
@@ -40,6 +36,34 @@ var TableDeliveryServiceServersController = function(deliveryService, servers, $
$state.reload(); // reloads all the resolves for the view
};
+ $scope.selectServers = function() {
+ var modalInstance = $uibModal.open({
+ templateUrl: 'common/modules/table/deliveryServiceServers/table.dsServersUnassigned.tpl.html',
+ controller: 'TableDSServersUnassignedController',
+ size: 'lg',
+ resolve: {
+ deliveryService: function() {
+ return deliveryService;
+ },
+ servers: function(serverService) {
+ return serverService.getUnassignedDeliveryServiceServers(deliveryService.id);
+ }
+ }
+ });
+ modalInstance.result.then(function(selectedServerIds) {
+ var serverAssignments = { dsId: deliveryService.id, servers: selectedServerIds };
+ deliveryServiceService.assignDeliveryServiceServers(serverAssignments)
+ .then(
+ function() {
+ $scope.refresh();
+ }
+ );
+ }, function () {
+ // do nothing
+ });
+ };
+
+
$scope.isOffline = serverUtils.isOffline;
$scope.offlineReason = serverUtils.offlineReason;
@@ -56,5 +80,5 @@ var TableDeliveryServiceServersController = function(deliveryService, servers, $
};
-TableDeliveryServiceServersController.$inject = ['deliveryService', 'servers', '$scope', '$state', 'locationUtils', 'serverUtils', 'deliveryServiceService'];
+TableDeliveryServiceServersController.$inject = ['deliveryService', 'servers', '$scope', '$state', '$uibModal', 'locationUtils', 'serverUtils', 'deliveryServiceService'];
module.exports = TableDeliveryServiceServersController;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/4a142151/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/index.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/index.js b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/index.js
index b4f353c..b1798bd 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/index.js
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/index.js
@@ -18,4 +18,5 @@
*/
module.exports = angular.module('trafficOps.table.deliveryServiceServers', [])
- .controller('TableDeliveryServiceServersController', require('./TableDeliveryServiceServersController'));
+ .controller('TableDeliveryServiceServersController', require('./TableDeliveryServiceServersController'))
+ .controller('TableDSServersUnassignedController', require('./TableDSServersUnassignedController'));
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/4a142151/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.deliveryServiceServers.tpl.html
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.deliveryServiceServers.tpl.html b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.deliveryServiceServers.tpl.html
index 38eb8b1..59de788 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.deliveryServiceServers.tpl.html
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.deliveryServiceServers.tpl.html
@@ -25,7 +25,7 @@ under the License.
<li class="active">Servers</li>
</ol>
<div class="pull-right">
- <button class="btn btn-primary" title="Link Server to Delivery Service" ng-click="addServer()"><i class="fa fa-link"></i></button>
+ <button class="btn btn-primary" title="Link Server to Delivery Service" ng-click="selectServers()"><i class="fa fa-link"></i></button>
<button class="btn btn-default" title="Refresh" ng-click="refresh()"><i class="fa fa-refresh"></i></button>
</div>
<div class="clearfix"></div>
@@ -72,7 +72,7 @@ under the License.
<td>{{::server.profile}}</td>
<td>{{::server.iloIpAddress}}</td>
<td>{{::server.iloIpGateway}}</td>
- <td><button type="button" class="btn btn-link" title="Unlink Server from Delivery Service" ng-show="server.type == 'EDGE'" ng-click="removeServer(deliveryService.id, server.id)"><i class="fa fa-chain-broken"></i></button></td>
+ <td><button type="button" class="btn btn-link" title="Remove Server from Delivery Service" ng-show="server.type.indexOf('EDGE') != -1" ng-click="removeServer(deliveryService.id, server.id)"><i class="fa fa-chain-broken"></i></button></td>
</tr>
</tbody>
</table>
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/4a142151/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.dsServersUnassigned.tpl.html
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.dsServersUnassigned.tpl.html b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.dsServersUnassigned.tpl.html
new file mode 100644
index 0000000..0e43889
--- /dev/null
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.dsServersUnassigned.tpl.html
@@ -0,0 +1,49 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+
+
+<div class="modal-header">
+ <button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
+ <h3 class="modal-title">Assign Servers to {{::deliveryService.xmlId}}</h3>
+</div>
+<div class="modal-body">
+ <table id="dsServersUnassignedTable" class="table responsive-utilities jambo_table" style="table-layout:fixed; width:100%;">
+ <thead>
+ <tr class="headings">
+ <th></th>
+ <th>hostName</th>
+ <th>cachegroup</th>
+ <th>profile</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr ng-repeat="server in ::unassignedServers">
+ <td><input type="checkbox" ng-click="updateServers($event, server.id)"></td>
+ <td>{{::server.hostName}}</td>
+ <td>{{::server.cachegroup}}</td>
+ <td>{{::server.profile}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div class="modal-footer">
+ <button class="btn btn-link" ng-click="cancel()">cancel</button>
+ <button class="btn btn-primary" ng-click="submit()">Submit</button>
+</div>
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/4a142151/traffic_ops/experimental/ui/app/src/modules/private/configure/deliveryServices/servers/index.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/modules/private/configure/deliveryServices/servers/index.js b/traffic_ops/experimental/ui/app/src/modules/private/configure/deliveryServices/servers/index.js
index f53525e..4b6bf57 100644
--- a/traffic_ops/experimental/ui/app/src/modules/private/configure/deliveryServices/servers/index.js
+++ b/traffic_ops/experimental/ui/app/src/modules/private/configure/deliveryServices/servers/index.js
@@ -31,7 +31,7 @@ module.exports = angular.module('trafficOps.private.configure.deliveryServices.s
return deliveryServiceService.getDeliveryService($stateParams.deliveryServiceId);
},
servers: function($stateParams, serverService) {
- return serverService.getServers({ dsId: $stateParams.deliveryServiceId });
+ return serverService.getDeliveryServiceServers($stateParams.deliveryServiceId);
}
}
}
[2/2] incubator-trafficcontrol git commit: This closes #604.
Posted by da...@apache.org.
This closes #604.
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/bf10b828
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/bf10b828
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/bf10b828
Branch: refs/heads/master
Commit: bf10b82849fa47400a35bfc333e758d47722a46a
Parents: 4a14215
Author: Dan Kirkwood <da...@gmail.com>
Authored: Thu May 25 15:33:23 2017 -0600
Committer: Dan Kirkwood <da...@gmail.com>
Committed: Thu May 25 15:33:23 2017 -0600
----------------------------------------------------------------------
----------------------------------------------------------------------