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

zrhoffman 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 5c45a95467 Minor tp bugfixes (#7879)
5c45a95467 is described below

commit 5c45a9546734814fd8281be574d0aa13ee3191be
Author: Rima Shah <[email protected]>
AuthorDate: Mon Dec 4 14:51:09 2023 -0700

    Minor tp bugfixes (#7879)
    
    * * Fixed broken capability links for DS
    
    * Updated CHANGELOG.md
    
    * Updated based on review comment as well as removed deleteServerCapability 
button(DS table) and menu-option(right click)
    
    * Updated TP field names based on TO changes from ATC PRs #7806, #7718
    
    Updated TP field name (cdn) in server capability and updated changelog
    
    * Updated broken links in DS's right click menu
---
 CHANGELOG.md                                       |  3 +-
 docs/source/api/v5/deliveryservices.rst            | 76 +++++++++++-----------
 .../deliveryservice/deliveryservices.go            |  9 ++-
 .../app/src/common/api/DeliveryServiceService.js   | 24 +------
 .../app/src/common/api/ServerCapabilityService.js  |  2 +-
 .../cdnFederations/table.cdnFederations.tpl.html   |  2 +-
 .../TableDeliveryServicesController.js             |  9 ++-
 .../TableServerCapabilitiesController.js           |  4 +-
 ...leServerCapabilityDeliveryServicesController.js | 33 +---------
 ...table.serverCapabilityDeliveryServices.tpl.html |  6 +-
 .../TableAssignServersPerCapabilityController.js   |  2 +-
 .../table.topologyCacheGroupServers.tpl.html       |  2 +-
 .../test/integration/Data/deliveryservices.ts      |  6 +-
 .../integration/specs/DeliveryServices.spec.ts     |  4 +-
 14 files changed, 71 insertions(+), 111 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8fb537fc69..7bd8157e96 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,7 +15,6 @@ The format is based on [Keep a 
Changelog](http://keepachangelog.com/en/1.0.0/).
 
 ### Fixed
 - [#7846](https://github.com/apache/trafficcontrol/pull/7846) *Traffic Portal* 
Increase State character limit
-- [#7878](https://github.com/apache/trafficcontrol/pull/7878) *Traffic Ops, 
Traffic Portal* Fixed the case where TO was failing to assign delivery services 
to a server, due to a bug in the way the list of preexisting delivery services 
was being returned.
 
 ## [8.0.0] - 2023-09-20
 ### Added
@@ -99,6 +98,8 @@ The format is based on [Keep a 
Changelog](http://keepachangelog.com/en/1.0.0/).
 - [#7814](https://github.com/apache/trafficcontrol/issues/7814) All Go 
components: Updated the module path to 
[`github.com/apache/trafficcontrol/v8`](https://pkg.go.dev/github.com/apache/trafficcontrol/v8).
 Module https://pkg.go.dev/github.com/apache/trafficcontrol will not receive 
further updates.
 
 ### Fixed
+- [#7879](https://github.com/comcast-cdn/trafficcontrol/pull/7879) *Traffic 
Ops, Traffic Portal*: Fixed broken capability links for delivery service and 
added required capability as a column in DS table.
+- [#7878](https://github.com/apache/trafficcontrol/pull/7878) *Traffic Ops, 
Traffic Portal*: Fixed the case where TO was failing to assign delivery 
services to a server, due to a bug in the way the list of preexisting delivery 
services was being returned.
 - [#7819](https://github.com/apache/trafficcontrol/pull/7819) *Traffic Ops*: 
API v5 routes should not use `privLevel` comparisons.
 - [#7802](https://github.com/apache/trafficcontrol/pull/7802) *Traffic Control 
Health Client*: Fixed ReadMe.md typos and duplicates.
 - [#7764](https://github.com/apache/trafficcontrol/pull/7764) *Traffic Ops*: 
Collapsed DB migrations.
diff --git a/docs/source/api/v5/deliveryservices.rst 
b/docs/source/api/v5/deliveryservices.rst
index 21a0c01799..a74672e648 100644
--- a/docs/source/api/v5/deliveryservices.rst
+++ b/docs/source/api/v5/deliveryservices.rst
@@ -32,43 +32,45 @@ Request Structure
 -----------------
 .. table:: Request Query Parameters
 
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | Name              | Required | Description                            
                                                                                
                 |
-       
+===================+==========+=========================================================================================================================================+
-       | cdn               | no       | Show only the :term:`Delivery 
Services` belonging to the :ref:`ds-cdn` identified by this integral, unique 
identifier                   |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | id                | no       | Show only the :term:`Delivery Service` 
that has this integral, unique identifier                                       
                 |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | logsEnabled       | no       | Show only the :term:`Delivery 
Services` that have :ref:`ds-logs-enabled` set or not based on this boolean     
                          |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | profile           | no       | Return only :term:`Delivery Services` 
using the :term:`Profile` that has this :ref:`profile-id`                       
                  |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | tenant            | no       | Show only the :term:`Delivery 
Services` belonging to the :term:`Tenant` identified by this integral, unique 
identifier                  |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | topology          | no       | Show only the :term:`Delivery 
Services` assigned to the :term:`Topology` identified by this unique name       
                          |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | type              | no       | Return only :term:`Delivery Services` 
of the :term:`Delivery Service` :ref:`ds-types` identified by this integral, 
unique identifier    |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | accessibleTo      | no       | Return the :term:`Delivery Services` 
accessible from a :term:`Tenant` *or it's children* identified by this 
integral, unique identifier |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | serviceCategory   | no       | Show only the :term:`Delivery 
Services` belonging to the :term:`Service Category` that has this name          
                          |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | xmlId             | no       | Show only the :term:`Delivery Service` 
that has this text-based, unique identifier                                     
                 |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | orderby           | no       | Choose the ordering of the results - 
must be the name of one of the fields of the objects in the ``response``        
                   |
-       |                   |          | array                                  
                                                                                
                 |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | sortOrder         | no       | Changes the order of sorting. Either 
ascending (default or "asc") or descending ("desc")                             
                   |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | limit             | no       | Choose the maximum number of results 
to return                                                                       
                   |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | offset            | no       | The number of results to skip before 
beginning to return results. Must use in conjunction with limit                 
                   |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | page              | no       | Return the n\ :sup:`th` page of 
results, where "n" is the value of this parameter, pages are ``limit`` long and 
the first page is 1.    |
-       |                   |          | If ``offset`` was defined, this query 
parameter has no effect. ``limit`` must be defined to make use of ``page``.     
                  |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
-       | active            | no       | Show only the :term:`Delivery 
Services` that have :ref:`ds-active` set or not based on this boolean (whether 
or not they are active)    |
-       
+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | Name                  | Required | Description                        
                                                                                
                     |
+       
+=======================+==========+=========================================================================================================================================+
+       | cdn                   | no       | Show only the :term:`Delivery 
Services` belonging to the :ref:`ds-cdn` identified by this integral, unique 
identifier                   |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | id                    | no       | Show only the :term:`Delivery 
Service` that has this integral, unique identifier                              
                          |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | logsEnabled           | no       | Show only the :term:`Delivery 
Services` that have :ref:`ds-logs-enabled` set or not based on this boolean     
                          |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | profile               | no       | Return only :term:`Delivery 
Services` using the :term:`Profile` that has this :ref:`profile-id`             
                            |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | tenant                | no       | Show only the :term:`Delivery 
Services` belonging to the :term:`Tenant` identified by this integral, unique 
identifier                  |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | topology              | no       | Show only the :term:`Delivery 
Services` assigned to the :term:`Topology` identified by this unique name       
                          |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | type                  | no       | Return only :term:`Delivery 
Services` of the :term:`Delivery Service` :ref:`ds-types` identified by this 
integral, unique identifier    |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | accessibleTo          | no       | Return the :term:`Delivery 
Services` accessible from a :term:`Tenant` *or it's children* identified by 
this integral, unique identifier |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | serviceCategory       | no       | Show only the :term:`Delivery 
Services` belonging to the :term:`Service Category` that has this name          
                          |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | requiredCapability    | no       | Return the :term:`Delivery 
Services` belonging to the :term:`Server Capability` identified by this unique 
name                          |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | xmlId                 | no       | Show only the :term:`Delivery 
Service` that has this text-based, unique identifier                            
                          |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | orderby               | no       | Choose the ordering of the results 
- must be the name of one of the fields of the objects in the ``response``      
                     |
+       |                       |          | array                              
                                                                                
                     |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | sortOrder             | no       | Changes the order of sorting. 
Either ascending (default or "asc") or descending ("desc")                      
                          |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | limit                 | no       | Choose the maximum number of 
results to return                                                               
                           |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | offset                | no       | The number of results to skip 
before beginning to return results. Must use in conjunction with limit          
                          |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | page                  | no       | Return the n\ :sup:`th` page of 
results, where "n" is the value of this parameter, pages are ``limit`` long and 
the first page is 1.    |
+       |                       |          | If ``offset`` was defined, this 
query parameter has no effect. ``limit`` must be defined to make use of 
``page``.                       |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
+       | active                | no       | Show only the :term:`Delivery 
Services` that have :ref:`ds-active` set or not based on this boolean (whether 
or not they are active)    |
+       
+-----------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------+
 
 .. code-block:: http
        :caption: Request Example
diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/deliveryservices.go 
b/traffic_ops/traffic_ops_golang/deliveryservice/deliveryservices.go
index 3318ae0660..4eee1fdd74 100644
--- a/traffic_ops/traffic_ops_golang/deliveryservice/deliveryservices.go
+++ b/traffic_ops/traffic_ops_golang/deliveryservice/deliveryservices.go
@@ -1443,10 +1443,10 @@ func readGetDeliveryServices(h http.Header, params 
map[string]string, tx *sqlx.T
                "profile":          {Column: "ds.profile", Checker: api.IsInt},
                "type":             {Column: "ds.type", Checker: api.IsInt},
                "logsEnabled":      {Column: "ds.logs_enabled", Checker: 
api.IsBool},
-               "tenant":           {Column: "ds.tenant_id", Checker: 
api.IsInt},
                "signingAlgorithm": {Column: "ds.signing_algorithm"},
-               "topology":         {Column: "ds.topology"},
                "serviceCategory":  {Column: "ds.service_category"},
+               "tenant":           {Column: "ds.tenant_id", Checker: 
api.IsInt},
+               "topology":         {Column: "ds.topology"},
        }
 
        where, orderBy, pagination, queryValues, errs := 
dbhelpers.BuildWhereAndOrderByAndPagination(params, queryParamsToSQLCols)
@@ -1491,6 +1491,11 @@ func readGetDeliveryServices(h http.Header, params 
map[string]string, tx *sqlx.T
                where += " AND ds.tenant_id = ANY(CAST(:accessibleTo AS 
bigint[])) "
                queryValues["accessibleTo"] = pq.Array(accessibleTenants)
        }
+
+       if reqCap, ok := params["requiredCapability"]; ok {
+               where += " AND '" + reqCap + "'=ANY(ds.required_capabilities)"
+       }
+
        query := SelectDeliveryServicesQuery + where + orderBy + pagination
        log.Debugln("generated deliveryServices query: " + query)
        log.Debugf("executing with values: %++v\n", queryValues)
diff --git a/traffic_portal/app/src/common/api/DeliveryServiceService.js 
b/traffic_portal/app/src/common/api/DeliveryServiceService.js
index f3d76db18d..fe5137840d 100644
--- a/traffic_portal/app/src/common/api/DeliveryServiceService.js
+++ b/traffic_portal/app/src/common/api/DeliveryServiceService.js
@@ -26,6 +26,7 @@
  * @property {string[]} [exampleURLs]
  * @property {number} [id]
  * @property {string} [lastUpdated]
+ * @property {string[]} requiredCapabilities
  * @property {string} routingName
  * @property {boolean} signed
  * @property {null|number} [sslKeyVersion]
@@ -157,10 +158,10 @@ class DeliveryServiceService {
         * Gets the server capabilities required by the identified Delivery 
Service.
         *
         * @param {number} deliveryServiceID The ID of the Delivery Service in 
question.
-        * @returns {Promise<DSRequiredCapability[]>} The Server Capabilities 
required by the DS with the given ID.
+        * @returns {Promise<DeliveryService[]>} The Server Capabilities 
required by the DS with the given ID.
         */
        async getServerCapabilities(deliveryServiceID) {
-               const result = await 
this.$http.get(`${this.ENV.api.unstable}deliveryservices_required_capabilities`,
 { params: { deliveryServiceID } });
+               const result = await 
this.$http.get(`${this.ENV.api.unstable}deliveryservices`, { params: { 
deliveryServiceID } });
                return result.data.response;
        };
 
@@ -191,25 +192,6 @@ class DeliveryServiceService {
                }
        }
 
-       /**
-        * Removes the requirement of a particular Capability from the 
identified Delivery Service.
-        *
-        * @param {number} deliveryServiceID The ID of the Delivery Service 
from which a Capability requirement will be removed.
-        * @param {string} requiredCapability The name of the Capability being 
removed as a requirement.
-        * @returns {Promise<{alerts: {text: string; level: string}[]}>} The 
full API response.
-        */
-       async removeServerCapability(deliveryServiceID, requiredCapability) {
-               try {
-                       const result = await 
this.$http.delete(`${this.ENV.api.unstable}deliveryservices_required_capabilities`,
 { params: { deliveryServiceID, requiredCapability } });
-                       return result.data;
-               } catch (err) {
-                       if (err.data && err.data.alerts) {
-                               this.messageModel.setMessages(err.data.alerts, 
false);
-                       }
-                       throw err;
-               }
-       }
-
        /**
         * Get the Delivery Service for which the identified server is 
responsible for serving content.
         *
diff --git a/traffic_portal/app/src/common/api/ServerCapabilityService.js 
b/traffic_portal/app/src/common/api/ServerCapabilityService.js
index 4fd95ff856..fe5cbae560 100644
--- a/traffic_portal/app/src/common/api/ServerCapabilityService.js
+++ b/traffic_portal/app/src/common/api/ServerCapabilityService.js
@@ -133,7 +133,7 @@ var ServerCapabilityService = function($http, ENV, 
locationUtils, messageModel)
        };
 
        this.getServerCapabilityDeliveryServices = function(capabilityName) {
-               return $http.get(ENV.api.unstable + 
'deliveryservices_required_capabilities', { params: { requiredCapability: 
capabilityName } }).then(
+               return $http.get(ENV.api.unstable + 'deliveryservices', { 
params: { requiredCapability: capabilityName } }).then(
                        function (result) {
                                return result.data.response;
                        },
diff --git 
a/traffic_portal/app/src/common/modules/table/cdnFederations/table.cdnFederations.tpl.html
 
b/traffic_portal/app/src/common/modules/table/cdnFederations/table.cdnFederations.tpl.html
index 78b07be352..8775057e07 100644
--- 
a/traffic_portal/app/src/common/modules/table/cdnFederations/table.cdnFederations.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/table/cdnFederations/table.cdnFederations.tpl.html
@@ -46,7 +46,7 @@ under the License.
                 <td data-search="^{{::fed.cname}}$">{{::fed.cname}}</td>
                 <td data-search="^{{::fed.ttl}}$">{{::fed.ttl}}</td>
                 <td 
data-search="^{{::fed.description}}$">{{::fed.description}}</td>
-                <td 
data-search="^{{::fed.deliveryService.xmlId}}$">{{::fed.deliveryService.xmlId}}</td>
+                <td 
data-search="^{{::fed.deliveryService.xmlID}}$">{{::fed.deliveryService.xmlID}}</td>
             </tr>
             </tbody>
         </table>
diff --git 
a/traffic_portal/app/src/common/modules/table/deliveryServices/TableDeliveryServicesController.js
 
b/traffic_portal/app/src/common/modules/table/deliveryServices/TableDeliveryServicesController.js
index 7493cea334..5903a9ae10 100644
--- 
a/traffic_portal/app/src/common/modules/table/deliveryServices/TableDeliveryServicesController.js
+++ 
b/traffic_portal/app/src/common/modules/table/deliveryServices/TableDeliveryServicesController.js
@@ -319,6 +319,11 @@ function TableDeliveryServicesController(tableName, 
deliveryServices, steeringTa
                        field: "remapText",
                        hide: true
                },
+               {
+                       headerName: "Required Capability(ies)",
+                       field: "requiredCapabilities",
+                       hide: true
+               },
                {
                        headerName: "Routing Name",
                        field: "routingName",
@@ -652,14 +657,14 @@ function TableDeliveryServicesController(tableName, 
deliveryServices, steeringTa
 
        $scope.contextMenuOptions = [
                {
-                       getHref: ds => 
`/delivery-services/${ds.id}?dsType=${ds.type}`,
+                       getHref: ds => 
`#!/delivery-services/${ds.id}?dsType=${ds.type}`,
                        getText: ds => `Open ${ds.xmlId} in a new tab`,
                        newTab: true,
                        type: 2
                },
                {type: 0},
                {
-                       getHref: ds => 
`/delivery-services/${ds.id}?dsType=${ds.type}`,
+                       getHref: ds => 
`#!/delivery-services/${ds.id}?dsType=${ds.type}`,
                        text: "Edit",
                        type: 2
                },
diff --git 
a/traffic_portal/app/src/common/modules/table/serverCapabilities/TableServerCapabilitiesController.js
 
b/traffic_portal/app/src/common/modules/table/serverCapabilities/TableServerCapabilitiesController.js
index 746874df2d..0d7eac9d92 100644
--- 
a/traffic_portal/app/src/common/modules/table/serverCapabilities/TableServerCapabilitiesController.js
+++ 
b/traffic_portal/app/src/common/modules/table/serverCapabilities/TableServerCapabilitiesController.js
@@ -83,13 +83,13 @@ var TableServerCapabilitiesController = 
function(serverCapabilities, $scope, $st
                {
                        text: 'View Delivery Services',
                        click: function ($itemScope) {
-                               
locationUtils.navigateToPath('/server-capabilities/' + $itemScope.sc.name + 
'/delivery-services');
+                               
locationUtils.navigateToPath('/server-capabilities/delivery-services?name=' + 
$itemScope.sc.name);
                        }
                },
                {
                        text: 'View Servers',
                        click: function ($itemScope) {
-                               
locationUtils.navigateToPath('/server-capabilities/' + $itemScope.sc.name + 
'/servers');
+                               
locationUtils.navigateToPath('/server-capabilities/servers?name=' + 
$itemScope.sc.name );
                        }
                }
        ];
diff --git 
a/traffic_portal/app/src/common/modules/table/serverCapabilityDeliveryServices/TableServerCapabilityDeliveryServicesController.js
 
b/traffic_portal/app/src/common/modules/table/serverCapabilityDeliveryServices/TableServerCapabilityDeliveryServicesController.js
index c806b729ef..36ae586f49 100644
--- 
a/traffic_portal/app/src/common/modules/table/serverCapabilityDeliveryServices/TableServerCapabilityDeliveryServicesController.js
+++ 
b/traffic_portal/app/src/common/modules/table/serverCapabilityDeliveryServices/TableServerCapabilityDeliveryServicesController.js
@@ -49,13 +49,6 @@ var TableServerCapabilityDeliveryServicesController = 
function(serverCapability,
        $scope.deliveryServices = deliveryServices;
 
        $scope.contextMenuItems = [
-               {
-                       text: 'Remove Capability from Delivery Service',
-                       click: function ($itemScope) {
-                               $scope.confirmRemoveCapability($itemScope.ds);
-                       }
-               },
-               null, // Divider
                {
                        text: 'Edit Delivery Service',
                        click: function ($itemScope) {
@@ -66,32 +59,8 @@ var TableServerCapabilityDeliveryServicesController = 
function(serverCapability,
 
        $scope.navigateToPath = (path, unsavedChanges) => 
locationUtils.navigateToPath(path, unsavedChanges);
 
-       $scope.confirmRemoveCapability = function(ds, $event) {
-               if ($event) {
-                       $event.stopPropagation(); // this kills the click event 
so it doesn't trigger anything else
-               }
-
-               const params = {
-                       title: 'Remove Required Server Capability from Delivery 
Service?',
-                       message: 'Are you sure you want to remove the ' + 
serverCapability.name + ' server capability requirement from the ' + ds.xmlID + 
' delivery service?'
-               };
-               const modalInstance = $uibModal.open({
-                       templateUrl: 
'common/modules/dialog/confirm/dialog.confirm.tpl.html',
-                       controller: 'DialogConfirmController',
-                       size: 'md',
-                       resolve: {
-                               params: function () {
-                                       return params;
-                               }
-                       }
-               });
-               modalInstance.result.then(function() {
-                       removeCapability(ds.deliveryServiceID);
-               });
-       };
-
        $scope.editDeliveryService = function(ds) {
-               deliveryServiceService.getDeliveryService(ds.deliveryServiceID)
+               deliveryServiceService.getDeliveryService(ds.id)
                        .then(function(result) {
                                let path = '/delivery-services/' + result.id + 
'?dsType=' + result.type;
                                locationUtils.navigateToPath(path);
diff --git 
a/traffic_portal/app/src/common/modules/table/serverCapabilityDeliveryServices/table.serverCapabilityDeliveryServices.tpl.html
 
b/traffic_portal/app/src/common/modules/table/serverCapabilityDeliveryServices/table.serverCapabilityDeliveryServices.tpl.html
index 43079c3d72..aaeed988d1 100644
--- 
a/traffic_portal/app/src/common/modules/table/serverCapabilityDeliveryServices/table.serverCapabilityDeliveryServices.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/table/serverCapabilityDeliveryServices/table.serverCapabilityDeliveryServices.tpl.html
@@ -35,15 +35,11 @@ under the License.
             <thead>
             <tr>
                 <th>XML ID (Key)</th>
-                <th></th>
             </tr>
             </thead>
             <tbody>
             <tr ng-click="editDeliveryService(ds)" ng-repeat="ds in 
::deliveryServices" context-menu="contextMenuItems">
-                <td data-search="^{{::ds.xmlID}}$">{{::ds.xmlID}}</td>
-                <td style="text-align: right;">
-                    <a class="link action-link" title="Remove Required 
Capability from Delivery Service" ng-click="confirmRemoveCapability(ds, 
$event)"><i class="fa fa-sm fa-chain-broken"></i></a>
-                </td>
+                <td data-search="^{{::ds.xmlId}}$">{{::ds.xmlId}}</td>
             </tr>
             </tbody>
         </table>
diff --git 
a/traffic_portal/app/src/common/modules/table/serverCapabilityServers/TableAssignServersPerCapabilityController.js
 
b/traffic_portal/app/src/common/modules/table/serverCapabilityServers/TableAssignServersPerCapabilityController.js
index 925fed3db9..3ad17a42dd 100644
--- 
a/traffic_portal/app/src/common/modules/table/serverCapabilityServers/TableAssignServersPerCapabilityController.js
+++ 
b/traffic_portal/app/src/common/modules/table/serverCapabilityServers/TableAssignServersPerCapabilityController.js
@@ -41,7 +41,7 @@ var TableAssignServersPerCapabilityController = 
function(servers, serverCapabili
         },
         {
             headerName: "CDN",
-            field: "cdnName",
+            field: "cdn",
             hide: false
         }
     ];
diff --git 
a/traffic_portal/app/src/common/modules/table/topologyCacheGroupServers/table.topologyCacheGroupServers.tpl.html
 
b/traffic_portal/app/src/common/modules/table/topologyCacheGroupServers/table.topologyCacheGroupServers.tpl.html
index 4100591d33..a4ac7513a7 100644
--- 
a/traffic_portal/app/src/common/modules/table/topologyCacheGroupServers/table.topologyCacheGroupServers.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/table/topologyCacheGroupServers/table.topologyCacheGroupServers.tpl.html
@@ -37,7 +37,7 @@ under the License.
         <tr ng-repeat="s in ::cacheGroupServers">
             <td data-search="^{{::s.hostName}}$">{{::s.hostName}}</td>
             <td data-search="^{{::s.domainName}}$">{{::s.domainName}}</td>
-            <td data-search="^{{::s.cdnName}}$">{{::s.cdnName}}</td>
+            <td data-search="^{{::s.cdn}}$">{{::s.cdn}}</td>
             <td data-search="^{{::s.status}}$">{{::s.status}}</td>
         </tr>
         </tbody>
diff --git a/traffic_portal/test/integration/Data/deliveryservices.ts 
b/traffic_portal/test/integration/Data/deliveryservices.ts
index a0e8607549..8a47ba03f6 100644
--- a/traffic_portal/test/integration/Data/deliveryservices.ts
+++ b/traffic_portal/test/integration/Data/deliveryservices.ts
@@ -350,7 +350,7 @@ export const deliveryservices = {
                        assignServer: [
                                {
                                        serverHostname: "DSTest",
-                                       xmlID: "TPServiceNew1",
+                                       xmlId: "TPServiceNew1",
                                        validationMessage: "server assignments 
complete"
                                }
                        ],
@@ -394,7 +394,7 @@ export const deliveryservices = {
                        assignServer: [
                                {
                                        serverHostname: "DSTest",
-                                       xmlID: "dstestro1",
+                                       xmlId: "dstestro1",
                                        validationMessage: "missing required 
Permissions: SERVER:UPDATE, DELIVERY-SERVICE:UPDATE"
                                }
                        ],
@@ -444,7 +444,7 @@ export const deliveryservices = {
                        assignServer: [
                                {
                                        serverHostname: "DSTest",
-                                       xmlID: "opTPServiceNew1",
+                                       xmlId: "opTPServiceNew1",
                                        validationMessage: "server assignments 
complete"
                                }
                        ],
diff --git a/traffic_portal/test/integration/specs/DeliveryServices.spec.ts 
b/traffic_portal/test/integration/specs/DeliveryServices.spec.ts
index 20fd8c39cb..443fb0ec1e 100644
--- a/traffic_portal/test/integration/specs/DeliveryServices.spec.ts
+++ b/traffic_portal/test/integration/specs/DeliveryServices.spec.ts
@@ -67,9 +67,9 @@ describe("Delivery Services", () => {
                                });
                        }
 
-                       for (const {serverHostname, xmlID, validationMessage} 
of data.assignServer){
+                       for (const {serverHostname, xmlId, validationMessage} 
of data.assignServer){
                                it("assigns servers to a Delivery Service", 
async () => {
-                                       await 
deliveryservicesPage.SearchDeliveryService(xmlID);
+                                       await 
deliveryservicesPage.SearchDeliveryService(xmlId);
                                        expect(await 
deliveryservicesPage.AssignServerToDeliveryService(serverHostname)).toBe(validationMessage);
                                });
                        }

Reply via email to