rob05c commented on a change in pull request #4790:
URL: https://github.com/apache/trafficcontrol/pull/4790#discussion_r452606961



##########
File path: lib/go-atscfg/remapdotconfig.go
##########
@@ -166,14 +188,20 @@ func GetServerConfigRemapDotConfigForEdge(
        cacheURLConfigParams map[string]string,
        profilesCacheKeyConfigParams map[int]map[string]string,
        serverPackageParamData map[string]string, // map[paramName]paramVal for 
this server, config file 'package'
-       server *ServerInfo,
+       serverInfo *ServerInfo,
        dses []RemapConfigDSData,
        atsMajorVersion int,
        header string,
+       server tc.Server,
+       topologies map[tc.DeliveryServiceName]tc.Topology,
 ) string {
        textLines := []string{}
 
        for _, ds := range dses {
+               topology, hasTopology := 
topologies[tc.DeliveryServiceName(ds.Name)]
+               if hasTopology && !topologyIncludesServer(topology, server) {

Review comment:
       Done

##########
File path: lib/go-atscfg/remapdotconfig.go
##########
@@ -74,28 +75,49 @@ func MakeRemapDotConfig(
        serverPackageParamData map[string]string, // map[paramName]paramVal for 
this server, config file 'package'
        serverInfo *ServerInfo, // ServerInfo for this server
        remapDSData []RemapConfigDSData,
+       topologies []tc.Topology,
 ) string {
-       hdr := GenericHeaderComment(string(serverName), toToolName, toURL)
-       text := ""
+       dsTopologies := makeDSTopologies(remapDSData, topologies)
+       hdr := GenericHeaderComment(server.HostName, toToolName, toURL)
        if tc.CacheTypeFromString(serverInfo.Type) == tc.CacheTypeMid {
-               text = GetServerConfigRemapDotConfigForMid(atsMajorVersion, 
dsProfilesCacheKeyConfigParams, serverInfo, remapDSData, hdr)
-       } else {
-               text = 
GetServerConfigRemapDotConfigForEdge(cacheURLConfigParams, 
dsProfilesCacheKeyConfigParams, serverPackageParamData, serverInfo, 
remapDSData, atsMajorVersion, hdr)
+               return GetServerConfigRemapDotConfigForMid(atsMajorVersion, 
dsProfilesCacheKeyConfigParams, serverInfo, remapDSData, hdr, server, 
dsTopologies)
        }
-       return text
+       return GetServerConfigRemapDotConfigForEdge(cacheURLConfigParams, 
dsProfilesCacheKeyConfigParams, serverPackageParamData, serverInfo, 
remapDSData, atsMajorVersion, hdr, server, dsTopologies)
+}
+
+func makeDSTopologies(dses []RemapConfigDSData, topologies []tc.Topology) 
map[tc.DeliveryServiceName]tc.Topology {
+       dsTops := map[tc.DeliveryServiceName]tc.Topology{}
+       topNames := map[string]tc.Topology{}
+       for _, to := range topologies {
+               topNames[to.Name] = to
+       }
+       for _, ds := range dses {
+               if to, ok := topNames[ds.Topology]; ok {
+                       dsTops[tc.DeliveryServiceName(ds.Name)] = to
+               } else if ds.Topology != "" {
+                       log.Errorln("Making remap.config for Delivery Service 
'" + ds.Name + "': has topology '" + ds.Topology + "', but that topology 
doesn't exist! Treating as if DS has no Topology!")
+               }
+       }
+       return dsTops
 }
 
 func GetServerConfigRemapDotConfigForMid(
        atsMajorVersion int,
        profilesCacheKeyConfigParams map[int]map[string]string,
-       server *ServerInfo,
+       serverInfo *ServerInfo,
        dses []RemapConfigDSData,
        header string,
+       server tc.Server,
+       topologies map[tc.DeliveryServiceName]tc.Topology,
 ) string {
        midRemaps := map[string]string{}
        for _, ds := range dses {
-               if ds.Type.IsLive() && !ds.Type.IsNational() {
-                       continue // Live local delivery services skip mids
+               topology, hasTopology := 
topologies[tc.DeliveryServiceName(ds.Name)]
+               if hasTopology && !topologyIncludesServer(topology, server) {

Review comment:
       Done




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to