rob05c opened a new pull request, #7021: URL: https://github.com/apache/trafficcontrol/pull/7021
Currently, the cache config doesn't do any insight into the Delivery Service OrgServerFQDN field, and simply injects it as if it were a URI with an FQDN. This causes issues as a parent.config `dest_domain=x` with an IP address is silently ignored by ATS, causing the corresponding remap.config line to either fall through to the `dest_domain=.` default rule, or to not use parent.config at all and go direct if no default rule exists in parent.config. ATC cache config should always create a default rule, with default parents. But these parents won't be the parents specifically assigned to that service, and won't contain any custom rules like retry codes and number of retries. This fixes the cache config to generate ``dest_ip=x` instead of `dest_domain=x` if the DS OrgServerFQDN is an IP address. * I tested, and this is not an issue with strategies.yaml * I tested both IPv4 an IPv6 addresses, both work correctly with this change * Note this will _not_ send any proper hostname in the `Host` header of the request. If the origin requires a particular host be requested, it must be in the DS Origin. ATC simply lacks the data otherwise, and moreover ATS itself will always use the remap target as the host header, ATC doesn't have the ability to change that. ## Which Traffic Control components are affected by this PR? - Traffic Control Cache Config (`t3c`, formerly ORT) ## What is the best way to verify this PR? Run tests. Set an IP as an origin on a Delivery Service that uses cache parents, generate config, verify parent.config `dest_ip` is set, verify a request uses the parents specified on the line and not the parents specified in the default rule and doesn't go direct. * note the DS OrgServerFQDN must be a URI, not an FQDN, contrary to the field name. I.e. `http://192.0.2.1` not simply `192.0.2.1`. ## If this is a bugfix, which Traffic Control versions contained the bug? All prior versions. ## PR submission checklist - [x] This PR has tests <!-- If not, please delete this text and explain why this PR does not need tests. --> - ~[x] This PR has documentation~ no docs, no interface change <!-- If not, please delete this text and explain why this PR does not need documentation. --> - [x] This PR has a CHANGELOG.md entry <!-- A fix for a bug from an ATC release, an improvement, or a new feature should have a changelog entry. --> - [x] This PR **DOES NOT FIX A SERIOUS SECURITY VULNERABILITY** (see [the Apache Software Foundation's security guidelines](https://apache.org/security) for details) -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
