From 95f0c363bf21733b131699eb35e40bde15e5b3ef Mon Sep 17 00:00:00 2001 From: Jagan Parthiban Date: Mon, 15 May 2023 10:30:33 +0530 Subject: [PATCH 1/8] Fixes Issue: https://github.com/apache/trafficcontrol/issues/7519 --- .../traffic_ops_golang/deliveryservice/servers/servers.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go index 0dc7c0bd13..0de4656ddb 100644 --- a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go +++ b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go @@ -895,7 +895,8 @@ func (dss *TODSSDeliveryService) Read(h http.Header, useIMS bool) ([]interface{} } else { where = "WHERE " } - where += "ds.id in (SELECT deliveryService FROM deliveryservice_server where server = :server)" + + where += "ds.id in (SELECT deliveryService FROM deliveryservice_server WHERE server = :server) OR ds.id in (SELECT id FROM deliveryservice WHERE topology = ( SELECT topology FROM topology_cachegroup WHERE cachegroup = ( SELECT name FROM cachegroup WHERE id = ( SELECT cachegroup FROM server WHERE id = :server ))))" tenantIDs, err := tenant.GetUserTenantIDListTx(tx, user.TenantID) if err != nil { From 5b297f543636b097bd3883fa721dbdd1321e0686 Mon Sep 17 00:00:00 2001 From: Jagan Parthiban Date: Mon, 15 May 2023 10:38:38 +0530 Subject: [PATCH 2/8] Changelog updated for Issue: https://github.com/apache/trafficcontrol/issues/7519 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b0445266ff..f9633ba843 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,6 +56,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Fixed - [#7542](https://github.com/apache/trafficcontrol/pull/7542) *Traffic Ops* Fixed `CDN Locks` documentation to reflect the correct RFC3339 timestamps. - [#6340](https://github.com/apache/trafficcontrol/issues/6340) *Traffic Ops* Fixed alert messages for POST and PUT invalidation job APIs. +- [#7519] (https://github.com/apache/trafficcontrol/issues/7519) *Traffic Ops* Fixed TO API /servers/{id}/deliveryservices endpoint to responding with all DS's on cache that are directly assigned and inherited through topology. - [#7511](https://github.com/apache/trafficcontrol/pull/7511) *Traffic Ops* Fixed the changelog registration message to include the username instead of duplicate email entry. - [#7465](https://github.com/apache/trafficcontrol/issues/7465) *Traffic Ops* Fixes server_capabilities v5 apis to respond with RFC3339 date/time Format - [#7441](https://github.com/apache/trafficcontrol/pull/7441) *Traffic Ops* Fixed the invalidation jobs endpoint to respect CDN locks. From e413966f8adad6d812ee2436055f22a8b3035bbe Mon Sep 17 00:00:00 2001 From: Jagan Parthiban Date: Mon, 15 May 2023 10:47:12 +0530 Subject: [PATCH 3/8] Documentation updated for Issue: https://github.com/apache/trafficcontrol/issues/7519 --- CHANGELOG.md | 1 + docs/source/api/v4/servers_id_deliveryservices.rst | 2 +- docs/source/api/v5/servers_id_deliveryservices.rst | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9633ba843..a36931d85f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,6 +57,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - [#7542](https://github.com/apache/trafficcontrol/pull/7542) *Traffic Ops* Fixed `CDN Locks` documentation to reflect the correct RFC3339 timestamps. - [#6340](https://github.com/apache/trafficcontrol/issues/6340) *Traffic Ops* Fixed alert messages for POST and PUT invalidation job APIs. - [#7519] (https://github.com/apache/trafficcontrol/issues/7519) *Traffic Ops* Fixed TO API /servers/{id}/deliveryservices endpoint to responding with all DS's on cache that are directly assigned and inherited through topology. +- [#7519] (https://github.com/apache/trafficcontrol/issues/7519) *Traffic Ops* Fixed TO API /servers/{id}/deliveryservices endpoint to respond with all DS's on cache that are directly assigned and inherited through topology. - [#7511](https://github.com/apache/trafficcontrol/pull/7511) *Traffic Ops* Fixed the changelog registration message to include the username instead of duplicate email entry. - [#7465](https://github.com/apache/trafficcontrol/issues/7465) *Traffic Ops* Fixes server_capabilities v5 apis to respond with RFC3339 date/time Format - [#7441](https://github.com/apache/trafficcontrol/pull/7441) *Traffic Ops* Fixed the invalidation jobs endpoint to respect CDN locks. diff --git a/docs/source/api/v4/servers_id_deliveryservices.rst b/docs/source/api/v4/servers_id_deliveryservices.rst index 9b5d6adb3e..84515033c4 100644 --- a/docs/source/api/v4/servers_id_deliveryservices.rst +++ b/docs/source/api/v4/servers_id_deliveryservices.rst @@ -21,7 +21,7 @@ ``GET`` ======= -Retrieves all :term:`Delivery Services` assigned to a specific server. +Retrieves all :term:`Delivery Services` assigned to a specific server either directly or inherited from topology. :Auth. Required: Yes :Roles Required: None\ [#tenancy]_ diff --git a/docs/source/api/v5/servers_id_deliveryservices.rst b/docs/source/api/v5/servers_id_deliveryservices.rst index 4db5c7d845..d62b6516d6 100644 --- a/docs/source/api/v5/servers_id_deliveryservices.rst +++ b/docs/source/api/v5/servers_id_deliveryservices.rst @@ -21,7 +21,7 @@ ``GET`` ======= -Retrieves all :term:`Delivery Services` assigned to a specific server. +Retrieves all :term:`Delivery Services` assigned to a specific server either directly or inherited from topology. :Auth. Required: Yes :Roles Required: None\ [#tenancy]_ From bdd96b143c6acbcccbc23c385c57364022df54bd Mon Sep 17 00:00:00 2001 From: Jagan Parthiban Date: Fri, 19 May 2023 23:21:52 +0530 Subject: [PATCH 4/8] Updated Integration tests for https://github.com/apache/trafficcontrol/issues/7519 --- .../v4/servers_id_deliveryservices_test.go | 33 +++++++++++++++---- .../v5/servers_id_deliveryservices_test.go | 33 +++++++++++++++---- .../deliveryservice/servers/servers.go | 2 +- 3 files changed, 55 insertions(+), 13 deletions(-) diff --git a/traffic_ops/testing/api/v4/servers_id_deliveryservices_test.go b/traffic_ops/testing/api/v4/servers_id_deliveryservices_test.go index 190f5db6a8..89602868bd 100644 --- a/traffic_ops/testing/api/v4/servers_id_deliveryservices_test.go +++ b/traffic_ops/testing/api/v4/servers_id_deliveryservices_test.go @@ -57,7 +57,13 @@ func TestServersIDDeliveryServices(t *testing.T) { "replace": true, }, Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), - validateServersDeliveryServicesPost(totest.GetServerID(t, TOSession, "atlanta-edge-01")(), totest.GetDeliveryServiceId(t, TOSession, "ds1")())), + validateServersDeliveryServicesPost( + totest.GetServerID(t, TOSession, "atlanta-edge-01")(), + []int{ + totest.GetDeliveryServiceId(t, TOSession, "ds1")(), + totest.GetDeliveryServiceId(t, TOSession, "ds-based-top-with-no-mids")(), + }, + 2)), }, "OK when ASSIGNING EDGE to TOPOLOGY BASED DELIVERY SERVICE": { EndpointID: totest.GetServerID(t, TOSession, "atlanta-edge-03"), @@ -67,7 +73,12 @@ func TestServersIDDeliveryServices(t *testing.T) { "replace": true, }, Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), - validateServersDeliveryServicesPost(totest.GetServerID(t, TOSession, "atlanta-edge-03")(), totest.GetDeliveryServiceId(t, TOSession, "top-ds-in-cdn1")())), + validateServersDeliveryServicesPost( + totest.GetServerID(t, TOSession, "atlanta-edge-03")(), + []int{ + totest.GetDeliveryServiceId(t, TOSession, "top-ds-in-cdn1")(), + }, + 1)), }, "OK when ASSIGNING ORIGIN to TOPOLOGY BASED DELIVERY SERVICE": { EndpointID: totest.GetServerID(t, TOSession, "denver-mso-org-01"), @@ -77,7 +88,14 @@ func TestServersIDDeliveryServices(t *testing.T) { "replace": true, }, Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), - validateServersDeliveryServicesPost(totest.GetServerID(t, TOSession, "denver-mso-org-01")(), totest.GetDeliveryServiceId(t, TOSession, "ds-top")())), + validateServersDeliveryServicesPost( + totest.GetServerID(t, TOSession, "denver-mso-org-01")(), + []int{ + totest.GetDeliveryServiceId(t, TOSession, "ds-top")(), + totest.GetDeliveryServiceId(t, TOSession, "ds-top-req-cap2")(), + totest.GetDeliveryServiceId(t, TOSession, "ds-forked-topology")(), + }, + 3)), }, "CONFLICT when SERVER NOT IN SAME CDN as DELIVERY SERVICE": { EndpointID: totest.GetServerID(t, TOSession, "cdn2-test-edge"), @@ -171,11 +189,14 @@ func validateServersDeliveryServices(expectedDSID int) utils.CkReqFunc { } } -func validateServersDeliveryServicesPost(serverID int, expectedDSID int) utils.CkReqFunc { +func validateServersDeliveryServicesPost(serverID int, expectedDSID []int, expectedDSCount int) utils.CkReqFunc { return func(t *testing.T, _ toclientlib.ReqInf, resp interface{}, _ tc.Alerts, _ error) { serverDeliveryServices, _, err := TOSession.GetServerIDDeliveryServices(serverID, client.RequestOptions{}) assert.RequireNoError(t, err, "Error getting Server Delivery Services: %v - alerts: %+v", err, serverDeliveryServices.Alerts) - assert.RequireEqual(t, 1, len(serverDeliveryServices.Response), "Expected one Delivery Service returned Got: %d", len(serverDeliveryServices.Response)) - validateServersDeliveryServices(expectedDSID)(t, toclientlib.ReqInf{}, serverDeliveryServices.Response, tc.Alerts{}, nil) + assert.RequireEqual(t, expectedDSCount, len(serverDeliveryServices.Response), "Expected Two Delivery Service returned Got: %d", len(serverDeliveryServices.Response)) + for i := 0; i < len(expectedDSID); i++ { + validateServersDeliveryServices(expectedDSID[i])(t, toclientlib.ReqInf{}, serverDeliveryServices.Response, tc.Alerts{}, nil) + + } } } diff --git a/traffic_ops/testing/api/v5/servers_id_deliveryservices_test.go b/traffic_ops/testing/api/v5/servers_id_deliveryservices_test.go index 212593cc6d..5dbc59c275 100644 --- a/traffic_ops/testing/api/v5/servers_id_deliveryservices_test.go +++ b/traffic_ops/testing/api/v5/servers_id_deliveryservices_test.go @@ -56,7 +56,13 @@ func TestServersIDDeliveryServices(t *testing.T) { "replace": true, }, Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), - validateServersDeliveryServicesPost(GetServerID(t, "atlanta-edge-01")(), GetDeliveryServiceId(t, "ds1")())), + validateServersDeliveryServicesPost( + GetServerID(t, "atlanta-edge-01")(), + []int{ + GetDeliveryServiceId(t, "ds1")(), + GetDeliveryServiceId(t, "ds-based-top-with-no-mids")(), + }, + 2)), }, "OK when ASSIGNING EDGE to TOPOLOGY BASED DELIVERY SERVICE": { EndpointID: GetServerID(t, "atlanta-edge-03"), @@ -66,7 +72,12 @@ func TestServersIDDeliveryServices(t *testing.T) { "replace": true, }, Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), - validateServersDeliveryServicesPost(GetServerID(t, "atlanta-edge-03")(), GetDeliveryServiceId(t, "top-ds-in-cdn1")())), + validateServersDeliveryServicesPost( + GetServerID(t, "atlanta-edge-03")(), + []int{ + GetDeliveryServiceId(t, "top-ds-in-cdn1")(), + }, + 1)), }, "OK when ASSIGNING ORIGIN to TOPOLOGY BASED DELIVERY SERVICE": { EndpointID: GetServerID(t, "denver-mso-org-01"), @@ -76,7 +87,14 @@ func TestServersIDDeliveryServices(t *testing.T) { "replace": true, }, Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), - validateServersDeliveryServicesPost(GetServerID(t, "denver-mso-org-01")(), GetDeliveryServiceId(t, "ds-top")())), + validateServersDeliveryServicesPost( + GetServerID(t, "denver-mso-org-01")(), + []int{ + GetDeliveryServiceId(t, "ds-top")(), + GetDeliveryServiceId(t, "ds-top-req-cap2")(), + GetDeliveryServiceId(t, "ds-forked-topology")(), + }, + 3)), }, "CONFLICT when SERVER NOT IN SAME CDN as DELIVERY SERVICE": { EndpointID: GetServerID(t, "cdn2-test-edge"), @@ -170,11 +188,14 @@ func validateServersDeliveryServices(expectedDSID int) utils.CkReqFunc { } } -func validateServersDeliveryServicesPost(serverID int, expectedDSID int) utils.CkReqFunc { +func validateServersDeliveryServicesPost(serverID int, expectedDSID []int, expectedDSCount int) utils.CkReqFunc { return func(t *testing.T, _ toclientlib.ReqInf, resp interface{}, _ tc.Alerts, _ error) { serverDeliveryServices, _, err := TOSession.GetServerIDDeliveryServices(serverID, client.RequestOptions{}) assert.RequireNoError(t, err, "Error getting Server Delivery Services: %v - alerts: %+v", err, serverDeliveryServices.Alerts) - assert.RequireEqual(t, 1, len(serverDeliveryServices.Response), "Expected one Delivery Service returned Got: %d", len(serverDeliveryServices.Response)) - validateServersDeliveryServices(expectedDSID)(t, toclientlib.ReqInf{}, serverDeliveryServices.Response, tc.Alerts{}, nil) + assert.RequireEqual(t, expectedDSCount, len(serverDeliveryServices.Response), "Expected Two Delivery Service returned Got: %d", len(serverDeliveryServices.Response)) + for i := 0; i < len(expectedDSID); i++ { + validateServersDeliveryServices(expectedDSID[i])(t, toclientlib.ReqInf{}, serverDeliveryServices.Response, tc.Alerts{}, nil) + + } } } diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go index 0de4656ddb..f2a5b7778d 100644 --- a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go +++ b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go @@ -896,7 +896,7 @@ func (dss *TODSSDeliveryService) Read(h http.Header, useIMS bool) ([]interface{} where = "WHERE " } - where += "ds.id in (SELECT deliveryService FROM deliveryservice_server WHERE server = :server) OR ds.id in (SELECT id FROM deliveryservice WHERE topology = ( SELECT topology FROM topology_cachegroup WHERE cachegroup = ( SELECT name FROM cachegroup WHERE id = ( SELECT cachegroup FROM server WHERE id = :server ))))" + where += "ds.id in (SELECT deliveryService FROM deliveryservice_server WHERE server = :server) OR ds.id in (SELECT id FROM deliveryservice WHERE topology in ( SELECT topology FROM topology_cachegroup WHERE cachegroup = ( SELECT name FROM cachegroup WHERE id = ( SELECT cachegroup FROM server WHERE id = :server ))))" tenantIDs, err := tenant.GetUserTenantIDListTx(tx, user.TenantID) if err != nil { From 10e2ff81704f6eecb0cb07365c6ab7d33e4a1684 Mon Sep 17 00:00:00 2001 From: Jagan Parthiban Date: Sun, 28 May 2023 19:11:33 +0530 Subject: [PATCH 5/8] CHANGELOG.md Update --- CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a36931d85f..c82f9a7aca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,8 +56,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Fixed - [#7542](https://github.com/apache/trafficcontrol/pull/7542) *Traffic Ops* Fixed `CDN Locks` documentation to reflect the correct RFC3339 timestamps. - [#6340](https://github.com/apache/trafficcontrol/issues/6340) *Traffic Ops* Fixed alert messages for POST and PUT invalidation job APIs. -- [#7519] (https://github.com/apache/trafficcontrol/issues/7519) *Traffic Ops* Fixed TO API /servers/{id}/deliveryservices endpoint to responding with all DS's on cache that are directly assigned and inherited through topology. -- [#7519] (https://github.com/apache/trafficcontrol/issues/7519) *Traffic Ops* Fixed TO API /servers/{id}/deliveryservices endpoint to respond with all DS's on cache that are directly assigned and inherited through topology. +- [#7519] (https://github.com/apache/trafficcontrol/issues/7519) *Traffic Ops* Fixed TO API /servers/{id}/deliveryservices endpoint to responding with all DS's on cache that are directly assigned and inherited through topology. - [#7511](https://github.com/apache/trafficcontrol/pull/7511) *Traffic Ops* Fixed the changelog registration message to include the username instead of duplicate email entry. - [#7465](https://github.com/apache/trafficcontrol/issues/7465) *Traffic Ops* Fixes server_capabilities v5 apis to respond with RFC3339 date/time Format - [#7441](https://github.com/apache/trafficcontrol/pull/7441) *Traffic Ops* Fixed the invalidation jobs endpoint to respect CDN locks. From bc5feddc23c7d870b12f4179fc12ce26933d1542 Mon Sep 17 00:00:00 2001 From: Jagan Parthiban Date: Fri, 2 Jun 2023 16:37:42 +0530 Subject: [PATCH 6/8] Updated V3 integration tests for this change. --- .../api/v3/servers_id_deliveryservices.rst | 2 +- .../v3/servers_id_deliveryservices_test.go | 32 +++++++++++++++---- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/docs/source/api/v3/servers_id_deliveryservices.rst b/docs/source/api/v3/servers_id_deliveryservices.rst index 4d404857b6..511f6b5cce 100644 --- a/docs/source/api/v3/servers_id_deliveryservices.rst +++ b/docs/source/api/v3/servers_id_deliveryservices.rst @@ -21,7 +21,7 @@ ``GET`` ======= -Retrieves all :term:`Delivery Services` assigned to a specific server. +Retrieves all :term:`Delivery Services` assigned to a specific server either directly or inherited from topology. :Auth. Required: Yes :Roles Required: None\ [#tenancy]_ diff --git a/traffic_ops/testing/api/v3/servers_id_deliveryservices_test.go b/traffic_ops/testing/api/v3/servers_id_deliveryservices_test.go index 30646f414d..267cf989c9 100644 --- a/traffic_ops/testing/api/v3/servers_id_deliveryservices_test.go +++ b/traffic_ops/testing/api/v3/servers_id_deliveryservices_test.go @@ -55,7 +55,13 @@ func TestServersIDDeliveryServices(t *testing.T) { "replace": true, }, Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), - validateServersDeliveryServicesPost(GetServerID(t, "atlanta-edge-01")(), GetDeliveryServiceId(t, "ds1")())), + validateServersDeliveryServicesPost( + GetServerID(t, "atlanta-edge-01")(), + []int{ + GetDeliveryServiceId(t, "ds1")(), + GetDeliveryServiceId(t, "ds-based-top-with-no-mids")(), + }, + 2)), }, "OK when ASSIGNING EDGE to TOPOLOGY BASED DELIVERY SERVICE": { EndpointID: GetServerID(t, "atlanta-edge-03"), @@ -65,7 +71,12 @@ func TestServersIDDeliveryServices(t *testing.T) { "replace": true, }, Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), - validateServersDeliveryServicesPost(GetServerID(t, "atlanta-edge-03")(), GetDeliveryServiceId(t, "top-ds-in-cdn1")())), + validateServersDeliveryServicesPost( + GetServerID(t, "atlanta-edge-03")(), + []int{ + GetDeliveryServiceId(t, "top-ds-in-cdn1")(), + }, + 1)), }, "OK when ASSIGNING ORIGIN to TOPOLOGY BASED DELIVERY SERVICE": { EndpointID: GetServerID(t, "denver-mso-org-01"), @@ -75,7 +86,14 @@ func TestServersIDDeliveryServices(t *testing.T) { "replace": true, }, Expectations: utils.CkRequest(utils.NoError(), utils.HasStatus(http.StatusOK), - validateServersDeliveryServicesPost(GetServerID(t, "denver-mso-org-01")(), GetDeliveryServiceId(t, "ds-top")())), + validateServersDeliveryServicesPost( + GetServerID(t, "denver-mso-org-01")(), + []int{ + GetDeliveryServiceId(t, "ds-top")(), + GetDeliveryServiceId(t, "ds-top-req-cap2")(), + GetDeliveryServiceId(t, "ds-forked-topology")(), + }, + 3)), }, "CONFLICT when SERVER NOT IN SAME CDN as DELIVERY SERVICE": { EndpointID: GetServerID(t, "cdn2-test-edge"), @@ -160,11 +178,13 @@ func validateServersDeliveryServices(expectedDSID int) utils.CkReqFunc { } } -func validateServersDeliveryServicesPost(serverID int, expectedDSID int) utils.CkReqFunc { +func validateServersDeliveryServicesPost(serverID int, expectedDSID []int, expectedDSCount int) utils.CkReqFunc { return func(t *testing.T, _ toclientlib.ReqInf, resp interface{}, _ tc.Alerts, _ error) { serverDeliveryServices, _, err := TOSession.GetServerIDDeliveryServicesWithHdr(serverID, nil) assert.RequireNoError(t, err, "Error getting Server Delivery Services: %v", err) - assert.RequireEqual(t, 1, len(serverDeliveryServices), "Expected one Delivery Service returned Got: %d", len(serverDeliveryServices)) - validateServersDeliveryServices(expectedDSID)(t, toclientlib.ReqInf{}, serverDeliveryServices, tc.Alerts{}, nil) + assert.RequireEqual(t, expectedDSCount, len(serverDeliveryServices), "Expected one Delivery Service returned Got: %d", len(serverDeliveryServices)) + for i := 0; i < len(expectedDSID); i++ { + validateServersDeliveryServices(expectedDSID[i])(t, toclientlib.ReqInf{}, serverDeliveryServices, tc.Alerts{}, nil) + } } } From 3d6e141f114ce66c28baf2390fedc8c8cbe4b56d Mon Sep 17 00:00:00 2001 From: Jagan Parthiban Date: Fri, 2 Jun 2023 21:43:18 +0530 Subject: [PATCH 7/8] Fixed PR review comments --- .../deliveryservice/servers/servers.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go index f2a5b7778d..f0028bb338 100644 --- a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go +++ b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go @@ -896,7 +896,19 @@ func (dss *TODSSDeliveryService) Read(h http.Header, useIMS bool) ([]interface{} where = "WHERE " } - where += "ds.id in (SELECT deliveryService FROM deliveryservice_server WHERE server = :server) OR ds.id in (SELECT id FROM deliveryservice WHERE topology in ( SELECT topology FROM topology_cachegroup WHERE cachegroup = ( SELECT name FROM cachegroup WHERE id = ( SELECT cachegroup FROM server WHERE id = :server ))))" + where += ` + ds.id in ( + SELECT deliveryService FROM deliveryservice_server WHERE server = :server + ) OR ds.id in ( + SELECT id FROM deliveryservice + WHERE topology in ( + SELECT topology FROM topology_cachegroup + WHERE cachegroup = ( + SELECT name FROM cachegroup + WHERE id = ( + SELECT cachegroup FROM server WHERE id = :server + )))) + ` tenantIDs, err := tenant.GetUserTenantIDListTx(tx, user.TenantID) if err != nil { From c85c093b5617b536b16bda534e5c8240d1e5543b Mon Sep 17 00:00:00 2001 From: Jagan Parthiban Date: Fri, 2 Jun 2023 21:53:16 +0530 Subject: [PATCH 8/8] Fixed PR review comments --- .../deliveryservice/servers/servers.go | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go index f0028bb338..21556bd7de 100644 --- a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go +++ b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go @@ -897,18 +897,18 @@ func (dss *TODSSDeliveryService) Read(h http.Header, useIMS bool) ([]interface{} } where += ` - ds.id in ( - SELECT deliveryService FROM deliveryservice_server WHERE server = :server - ) OR ds.id in ( - SELECT id FROM deliveryservice - WHERE topology in ( - SELECT topology FROM topology_cachegroup - WHERE cachegroup = ( - SELECT name FROM cachegroup - WHERE id = ( - SELECT cachegroup FROM server WHERE id = :server - )))) - ` +ds.id in ( + SELECT deliveryService FROM deliveryservice_server WHERE server = :server +) OR ds.id in ( + SELECT id FROM deliveryservice + WHERE topology in ( + SELECT topology FROM topology_cachegroup + WHERE cachegroup = ( + SELECT name FROM cachegroup + WHERE id = ( + SELECT cachegroup FROM server WHERE id = :server + )))) +` tenantIDs, err := tenant.GetUserTenantIDListTx(tx, user.TenantID) if err != nil {