Loki: Apply the ingester ring config to all other rings (distributor, ruler, query-scheduler) #4546
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
Problem: Loki fails to start when using the default config (specifically any config which doesn't properly set the query-scheduler ring config)
Conceptually it makes sense to me to apply the ring config used in the ingesters to any other rings used by Loki. The likelyhood of someone using multiple ring stores between different components is extremly low.
It seems resonable then to use the ingester ring config for all rings.
Unfortunately the implementation of this is a fairly brittle mapping exercise because each ring uses a different struct for config (even though they are mostly similar and largely the same)
I know this being broken is blocking several things/people so this is my suggested fix.
I have an idea for a test, although it's crude but I don't have any better ideas:
seems better than nothing....
We can merge this PR as is and I'll follow up with the test, I know we are blocked a few places on this so we can merge this first else I'll push more to it tomorrow.
Which issue(s) this PR fixes:
Fixes #4533
Special notes for your reviewer:
Checklist