Skip to content
This repository was archived by the owner on Nov 24, 2025. It is now read-only.

Add Cache Config Generator for All Configs#3917

Closed
rob05c wants to merge 32 commits into
apache:masterfrom
rob05c:to-cache-side-configs-all
Closed

Add Cache Config Generator for All Configs#3917
rob05c wants to merge 32 commits into
apache:masterfrom
rob05c:to-cache-side-configs-all

Conversation

@rob05c

@rob05c rob05c commented Sep 11, 2019

Copy link
Copy Markdown
Member

Add Cache Config Generator for All Configs.

This is an example PR, to allow previewing the cache config generation which is coming. This PR shouldn't be merged as-is; rather, we want to review and merge smaller pieces, just for ease of reviewing, because it's so large.

But if you want to try cache-side config gen now, you can pull this PR and try it out.

What does this PR (Pull Request) do?

  • This PR fixes #REPLACE_ME OR is not related to any Issue

Which Traffic Control components are affected by this PR?

  • CDN in a Box
  • Documentation
  • Grove
  • Traffic Control Client
  • Traffic Monitor
  • Traffic Ops
  • Traffic Ops ORT
  • Traffic Portal
  • Traffic Router
  • Traffic Stats
  • Traffic Vault

What is the best way to verify this PR?

If this is a bug fix, what versions of Traffic Control are affected?

The following criteria are ALL met by this PR

  • This PR includes tests OR I have explained why tests are unnecessary
  • This PR includes documentation OR I have explained why documentation is unnecessary
  • This PR includes an update to CHANGELOG.md OR such an update is not necessary
  • This PR includes any and all required license headers
  • This PR ensures that database migration sequence is correct OR this PR does not include a database migration
  • This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Adds a client-side ATS config gen interceptor to ORT, with an initial
parent.config gen and passing everything else to TO. Plan is to
add all configs to be client-side generated.
Also adds a client function to specify server and DS IDs, as well as
a missing client func for the existing deliveryservice?cdn param.
For debugging, or emergencies.
Also changes atstccfg to do things ORT needed:

 - changed to return the HTTP code as the exit code, on error
 - added CLI option to return which configs are generated (vs proxied)
 - added retry num option, for failed TO attempts
 - changed to use lib/tc-log, and take args for where to log
 - fixed missing license headers
 - added integrity check via SHA512 or Content-length headers
Adds error logging whenever the config gen inserts multiple cacheurl
or cachekey plugins on the same line.

This isn't supported in ATS, and will usually do the wrong thing.
But, we've always generated config like this, so for now, this
doesn't change the config gen, but it logs the error
Adds a client-side ATS config gen interceptor to ORT, with an initial
parent.config gen and passing everything else to TO. Plan is to
add all configs to be client-side generated.
Adds a client-side ATS config gen interceptor to ORT, with an initial
parent.config gen and passing everything else to TO. Plan is to
add all configs to be client-side generated.
Merging:
to-cache-side-configs-plus-cdns
to-cache-side-configs-plus-to-go-atsconfig-remap
@rob05c rob05c added the WIP "Work-in-Progress" - do not merge! (use 'draft' pull requests from now on) label Sep 11, 2019
@asf-ci

asf-ci commented Sep 11, 2019

Copy link
Copy Markdown
Contributor

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/4236/
Test FAILed.

@rob05c rob05c force-pushed the to-cache-side-configs-all branch from 0aeeacc to 69daa37 Compare September 16, 2019 17:12
@asf-ci

asf-ci commented Sep 16, 2019

Copy link
Copy Markdown
Contributor

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/4261/
Test FAILed.

@rob05c

rob05c commented Oct 25, 2019

Copy link
Copy Markdown
Member Author

This was a demonstration, for anyone interested to try out the configs before.
The individual PRs for all the client-side configs have now been merged into Master, so this no longer serves a purpose.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

abandoned WIP "Work-in-Progress" - do not merge! (use 'draft' pull requests from now on)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants