Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix t3c Capability to not continue on error #6626

Merged
merged 1 commit into from
Mar 9, 2022

Conversation

rob05c
Copy link
Member

@rob05c rob05c commented Mar 9, 2022

This bug causes catastrophic config gen errors if the TO request
for ds_required_caps fails but server_reqs succeeds,
because then no servers have required caps, causing remap lines
for all DSes with required caps to be omitted.

This fixes it by making capability failures fail, rather than
continuing.

It formerly continued, because when capabilities were introduced,
it was necessary to continue if TO was older than t3c/ORT. But
now, the fallback API major version is 3.0, which has Capabilities.

If this bug wasn't fixed by simply always failing, it would have to
be fixed by making a server_caps error also set ds_req_caps to nil.

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?

Verify t3c fails when it fails to get server_capabilities or delivery_service_required_capabilities, rather than continuing.

If this is a bugfix, which Traffic Control versions contained the bug?

  • 4.0 thru 6.1

PR submission checklist

  • [x] This PR has tests no tests, unfortunately the t3c integration test framework isn't capable of simulating TO failures, it would require considerable extension to do so, and this is a TO request so it can't be unit tested.
  • [x] This PR has documentation no docs, no interface change
  • This PR has a CHANGELOG.md entry
  • This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

@rob05c rob05c added bug something isn't working as intended cache-config Cache config generation labels Mar 9, 2022
This bug causes catastrophic config gen errors if the TO request
for ds_required_caps fails but server_reqs succeeds,
because then no servers have required caps, causing remap lines
for all DSes with required caps to be omitted.

This fixes it by making capability failures fail, rather than
continuing.

It formerly continued, because when capabilities were introduced,
it was necessary to continue if TO was older than t3c/ORT. But
now, the fallback API major version is 3.0, which has Capabilities.

If this bug wasn't fixed by simply always failing, it would have to
be fixed by making a server_caps error also set ds_req_caps to nil.
@rob05c rob05c force-pushed the fix-t3c-capability-fallback branch from e0d70f1 to 6e79e86 Compare March 9, 2022 18:26
@mitchell852 mitchell852 merged commit c6d7a51 into apache:master Mar 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug something isn't working as intended cache-config Cache config generation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants