This is an automated email from the ASF dual-hosted git repository.

dangogh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git


The following commit(s) were added to refs/heads/master by this push:
     new c868679  TP: removes hard coding of 'Edge' from clone ds functionality 
because TO … (#3522)
c868679 is described below

commit c868679f058cbe76855fd692974b1a41b31bf939
Author: Jeremy Mitchell <[email protected]>
AuthorDate: Thu May 23 11:45:06 2019 -0600

    TP: removes hard coding of 'Edge' from clone ds functionality because TO … 
(#3522)
    
    * removes hard coding of 'Edge' from clone ds functionality because TO 
allows you to create servers of type EDGE_* for example and those types were 
excluded from the clone ds assignment feature in TP.
    
    also, added a change log entry when a bulk assignment of ds's to a server 
occurs.
    
    * adds change log entry for ability to clone ds assignments from one cache 
to another cache of the same type.
---
 CHANGELOG.md                                                        | 1 +
 traffic_ops/traffic_ops_golang/server/servers_assignment.go         | 6 ++++++
 .../serverDeliveryServices/TableServerDeliveryServicesController.js | 6 +++---
 .../serverDeliveryServices/table.serverDeliveryServices.tpl.html    | 2 +-
 4 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index f0fc2e9..a14f8b7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -28,6 +28,7 @@ The format is based on [Keep a 
Changelog](http://keepachangelog.com/en/1.0.0/).
 - Added a context menu in place of the "Actions" column from the following 
tables in Traffic Portal: cache group tables, CDN tables, delivery service 
tables, parameter tables, profile tables, server tables.
 - Traffic Portal standalone Dockerfile
 - In Traffic Portal, removes the need to specify line breaks using 
`__RETURN__` in delivery service edge/mid header rewrite rules, regex remap 
expressions, raw remap text and traffic router additional request/response 
headers.
+- In Traffic Portal, provides the ability to clone delivery service 
assignments from one cache to another cache of the same type. Issue #2963.
 
 ### Changed
 - Traffic Router, added TLS certificate validation on certificates imported 
from Traffic Ops
diff --git a/traffic_ops/traffic_ops_golang/server/servers_assignment.go 
b/traffic_ops/traffic_ops_golang/server/servers_assignment.go
index f576b94..5be31f4 100644
--- a/traffic_ops/traffic_ops_golang/server/servers_assignment.go
+++ b/traffic_ops/traffic_ops_golang/server/servers_assignment.go
@@ -67,6 +67,12 @@ func AssignDeliveryServicesToServerHandler(w 
http.ResponseWriter, r *http.Reques
                api.HandleErr(w, r, inf.Tx.Tx, http.StatusInternalServerError, 
nil, err)
                return
        }
+
+       if err := api.CreateChangeLogRawErr(api.ApiChange, "Assigned 
"+strconv.Itoa(len(assignedDSes))+" delivery services to server id: 
"+strconv.Itoa(server) , inf.User, inf.Tx.Tx); err != nil {
+               api.HandleErr(w, r, inf.Tx.Tx, http.StatusInternalServerError, 
nil, errors.New("error writing to change log: " + err.Error()))
+               return
+       }
+
        api.WriteRespAlertObj(w, r, tc.SuccessLevel, "successfully assigned 
dses to server", tc.AssignedDsResponse{server, assignedDSes, replace})
 }
 
diff --git 
a/traffic_portal/app/src/common/modules/table/serverDeliveryServices/TableServerDeliveryServicesController.js
 
b/traffic_portal/app/src/common/modules/table/serverDeliveryServices/TableServerDeliveryServicesController.js
index bd76a85..5cb52f5 100644
--- 
a/traffic_portal/app/src/common/modules/table/serverDeliveryServices/TableServerDeliveryServicesController.js
+++ 
b/traffic_portal/app/src/common/modules/table/serverDeliveryServices/TableServerDeliveryServicesController.js
@@ -48,10 +48,10 @@ var TableServerDeliveryServicesController = 
function(server, deliveryServices, $
 
        $scope.isEdge = serverUtils.isEdge;
 
-       $scope.cloneDsAssignments = function() {
+       $scope.cloneDsAssignments = function(server) {
                var params = {
                        title: 'Clone Delivery Service Assignments',
-                       message: "Please select an edge cache to assign these " 
+ deliveryServices.length + " delivery services to.<br><br>Warning - Any 
delivery services currently assigned to the selected edge cache will be lost 
and replaced with these delivery service assignments...",
+                       message: "Please select an " + server.type + " cache to 
assign these " + deliveryServices.length + " delivery services 
to.<br><br>Warning - Any delivery services currently assigned to the target 
cache will be lost and replaced with these delivery service assignments...",
                        labelFunction: function(item) { return item['hostName'] 
+ '.' + item['domainName'] }
                };
                var modalInstance = $uibModal.open({
@@ -63,7 +63,7 @@ var TableServerDeliveryServicesController = function(server, 
deliveryServices, $
                                        return params;
                                },
                                collection: function(serverService) {
-                                       return serverService.getServers({ type: 
'EDGE', orderby: 'hostName' });
+                                       return serverService.getServers({ type: 
server.type, orderby: 'hostName' });
                                }
                        }
                });
diff --git 
a/traffic_portal/app/src/common/modules/table/serverDeliveryServices/table.serverDeliveryServices.tpl.html
 
b/traffic_portal/app/src/common/modules/table/serverDeliveryServices/table.serverDeliveryServices.tpl.html
index 5ec2ab9..1599dff 100644
--- 
a/traffic_portal/app/src/common/modules/table/serverDeliveryServices/table.serverDeliveryServices.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/table/serverDeliveryServices/table.serverDeliveryServices.tpl.html
@@ -33,7 +33,7 @@ under the License.
                     <span class="caret"></span>
                 </button>
                 <ul class="dropdown-menu-right dropdown-menu" 
uib-dropdown-menu>
-                    <li><a ng-click="cloneDsAssignments()">Clone Delivery 
Service Assignments</a></li>
+                    <li><a ng-click="cloneDsAssignments(server)">Clone 
Delivery Service Assignments</a></li>
                 </ul>
             </div>
         </div>

Reply via email to