feat(helm): allow external memcached setup - #17432
Conversation
0414044 to
e06b294
Compare
Starefossen
left a comment
There was a problem hiding this comment.
Looks good to me provided the suggestions are followed up and the tests pass.
e06b294 to
667701f
Compare
thanks for the feedback. Fixed it and rebased it. |
|
Hi, waiting for the new version of the chart with this fix here as well :) |
|
@Starefossen I don't know why tests are not running. |
|
We need to ping the official maintainers to get them running. |
Can you share there usernames, I will ping them. |
loki/production/helm/loki/Chart.yaml Lines 30 to 31 in 667701f |
|
We've started a new Loki maintainers group, and while I was triaging Helm charts PRs, I went ahead and ran the CI for you. I'll flag this for the team to look at. |
|
@abenbachir it seems there are some helm linting issues - do you have cycles to look at? if not I can try take a look |
jkroepke
left a comment
There was a problem hiding this comment.
Hey @abenbachir
I'm part of a new maintainers group.
I looked through your PR and ask myself, if this can be simplified.
Do we really need to expose host and clientService? addresses also should cover most use-cases and I feel that expose just addresses is enough. Is there a use-case where addresses can't be used?
And here is why: Your example
memcached:
enabled: false # <- setting false here
resultsCache:
host: 'my-resultsCache-memcached-host' # <- setting custom host here
clientService: 'my-memcached-svc'
chunksCache:
host: 'my-chunksCache-memcached-host' # <- setting custom host here
clientService: 'my-memcached-svc'Will not work. Because in that scenario, addresses is still set. If addresses and host is set, loki takes addresses over host. Ref:
loki/pkg/storage/chunk/cache/memcached_client.go
Lines 276 to 292 in 8fed2c9
Based on that, the user experience would be not great, because end-user have to set explicit addresses to an empty value to force loki pick addresses.
then I will only expose memcached:
enabled: false # <- setting false here
resultsCache:
addresses: 'my-resultsCache-memcached-address' # <- setting custom address here
chunksCache:
addresses: 'my-chunksCache-memcached-address' # <- setting custom address here |
|
Thanks, please take now of the failing jobs. |
cfe5dc4 to
a5179de
Compare
b6efaa2 to
c924722
Compare
|
@jkroepke thanks for the feedback, I have updated the PR with all suggestions. |
a4a499a to
681ced9
Compare
jkroepke
left a comment
There was a problem hiding this comment.
Generally, this LGTM. However, I found this sections in value.yaml
loki/production/helm/loki/values.yaml
Lines 460 to 474 in 95095ba
This is a documented, but not implemented section in values.
@JStickler I'm not sure how we should proceed here. I recommend removing the section from the values file, as it confuses end users by presenting two configurations for the same functionality, even though only one of them actually works.
However, I'm not sure if this would count as a breaking change from your point of view, since it involves a documented (but non-functional) feature.
Add config support for external memcache cluster by setting the following config
memcached:
enabled: false # <- setting false here
resultsCache:
addresses: 'my-resultsCache-memcached-address' # <- setting custom address here
chunksCache:
addresses: 'my-chunksCache-memcached-address' # <- setting custom address here
681ced9 to
f22417c
Compare
yeah, that section is an old config, I removed it. |
|
Hey @jkroepke, @Starefossen |
|
I scrape through the helm chart and to my best knowledge, the removed lines from the values.yaml are not used anywhere. They are untouched for 3 years as well. They doesn't have any effect. If customers blame for breaking changes, they should consult that the changes did not have any effect. |
What this PR does / why we need it:
allow external memcached setup, with overriding addresses.
Which issue(s) this PR fixes:
Fixes #12559
Special notes for your reviewer:
the old config loki.memcached does't work anymore.
New way of setting up external memcache is with:
Checklist
CONTRIBUTING.mdguide (required)