From 9c8a827576c36575cedd2efd52b5c60375a3a3b5 Mon Sep 17 00:00:00 2001 From: Periklis Tsirakidis Date: Sun, 16 Oct 2022 22:57:12 +0200 Subject: [PATCH] Fix enable of internal server for modules (#7423) **What this PR does / why we need it**: Makes adding the internal server modules to the module map more robust. The previous implementation accidentally dropped other modules. **Which issue(s) this PR fixes**: Fixes # **Special notes for your reviewer**: **Checklist** - [x] Reviewed the `CONTRIBUTING.md` guide - [ ] Documentation added - [x] Tests updated - [ ] `CHANGELOG.md` updated - [ ] Changes that require user attention or interaction to upgrade are documented in `docs/sources/upgrading/_index.md` --- pkg/loki/loki.go | 19 ++++++++++--------- pkg/loki/loki_test.go | 6 ------ 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/pkg/loki/loki.go b/pkg/loki/loki.go index 5af8a13e8fa6..7adaa56ec0a9 100644 --- a/pkg/loki/loki.go +++ b/pkg/loki/loki.go @@ -571,23 +571,24 @@ func (t *Loki) setupModuleManager() error { } if t.Cfg.InternalServer.Enable { - depsToUpdate := []string{Distributor, Ingester, Querier, QueryFrontendTripperware, QueryScheduler, Ruler, TableManager, Compactor, IndexGateway} - - for _, dep := range depsToUpdate { - var idx int - for i, v := range deps[dep] { + for key, ds := range deps { + idx := -1 + for i, v := range ds { if v == Server { idx = i break } } - lhs := deps[dep][0 : idx+1] - rhs := deps[dep][idx+2:] + if idx == -1 { + continue + } - deps[dep] = append(lhs, InternalServer) - deps[dep] = append(deps[dep], rhs...) + a := append(ds[:idx+1], ds[idx:]...) + a[idx] = InternalServer + deps[key] = a } + } for mod, targets := range deps { diff --git a/pkg/loki/loki_test.go b/pkg/loki/loki_test.go index b85abf84b722..da5ee0e66acb 100644 --- a/pkg/loki/loki_test.go +++ b/pkg/loki/loki_test.go @@ -112,12 +112,6 @@ func TestLoki_AppendOptionalInternalServer(t *testing.T) { var tests []string for target, deps := range fake.deps { - switch target { - // Blacklist these targets for using the internal server - case IndexGatewayRing, MemberlistKV, OverridesExporter, Ring, Embededcache, Server: - continue - } - for _, dep := range deps { if dep == Server { tests = append(tests, target)