-
Notifications
You must be signed in to change notification settings - Fork 560
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 discrepancies between YAML property names and CLI argument names #901
Comments
I did a quick hack into the doc-generator to find our discrepancies in the last part of the CLI flags vs YAML field name. I've used this code:
And I've run it like this:
The following is a list of discrepancies found:
|
Thanks Marco, that's very useful. If you only compared the last node of the names and you already found so many discrepancies, I suspect that if we'd compare the full paths there would be way more discrepancies. In order to fix this I think we should decided whether we want to:
If we'd have to consider the upgrade path from previous versions to the next version of Mimir, then 1) or 2) would be better because each would only affect a subset of the users. But since we don't need to worry about the upgrade path I think 3) would be the best in this case. |
I confirm there are more if we compare the full path. |
If we'll address this and we aim for cleanup + clarify, I would decide on a case-by-case basis. |
How valuable is fixing this? I think it's a nice to have but I've the feeling the additional burden on the upgrade math may not be worth it. I'm just dubious, not opposed to it. |
I think in a perfect world a user could look at a cli flag, for example when running Whether this is worth it compared to the pain which it introduces when upgrading from an older GEM version to a new one is hard to judge for me... Assuming that in the future we will have many new GEM and Mimir users which will benefit from the easier configurability I'd say its worth it, as long as this isn't fixed the life of existing users is a bit easier because their upgrade path is easier while the life of new users is a bit harder because the configuration is less intuitive, assuming that in the future we will reach a point where the majority of users have started using GEM/Mimir at a time which is later than now it makes sense to do this now because by then the larger number of users will have benefited. What do you think @09jvilla |
I'm in favor of doing it for the reasons @replay outlined. I'm ok with some one time pain to people migrating over to serve the future happiness/ease-of-use of all the new folks coming on, especially as that happiness will be paid forward in perpetuity. That being said, we're getting down to crunch time on what we can realistically get done before launch, and I would put this after all the docs work we need to help out on, as well as all the other existing default updates and code changes we are working on. So my vote is that we add it to the 'would be great to have it before launch', but if we don't get to it with the existing folks we have on this work, we can live without it. If we do have some cycles to get to it, can we maybe just focus on the flags from the list above that we would consider 'basic' and not 'advanced'? Presumably those are the flags that more people would interact with, and therefore its higher value to align them. As an aside: |
Not your question, but just to clarify: I would keep support for both (not remove CLI flags from code). In my experience, CLI flags are more flexible than YAML config (you can easily specify different config to different services when deploying in microservices mode) but they're also targetting an advances usage. For a basic usage, I agree YAML config is better. It's also easier to specify the whole config in a single place (a single file) and just share it with others (eg. customers, colleagues, ...). |
cc @chri2547 and @KMiller-Grafana |
@osg-grafana -- Just to be clear, this ticket is out of scope for the Mimir launch |
Removed the docs label cause it's not about docs, but code. |
Context
Describe the bug
There are cases where cli flags are very similar but slightly different to the properties in the yaml config.
This can confuse users, so we should fix these discrepancies.
Before the Mimir launch it is easier to make such breaking changes than it will be after the launch, so we should do that now.
One example:
We should come up with a way to automatically detect these discrepancies and then fix them.
Then we should add that tool which detects the discrepancies to the CI to prevent that more get introduced.
The text was updated successfully, but these errors were encountered: