Skip to content

Commit

Permalink
Enable compactor and alertmanager in target all
Browse files Browse the repository at this point in the history
Signed-off-by: SungJin1212 <[email protected]>
  • Loading branch information
SungJin1212 committed Sep 10, 2024
1 parent d0f253c commit 6913d2b
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 9 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## master / unreleased

* [CHANGE] Enable Compactor and Alertmanager in target all. #6204
* [FEATURE] Ruler: Experimental: Add `ruler.frontend-address` to allow query to query frontends instead of ingesters. #6151
* [FEATURE] Ruler: Minimize chances of missed rule group evaluations that can occur due to OOM kills, bad underlying nodes, or due to an unhealthy ruler that appears in the ring as healthy. This feature is enabled via `-ruler.enable-ha-evaluation` flag. #6129
* [ENHANCEMENT] Query Frontend: Add peakSample in query stats response. #6188
Expand Down
30 changes: 23 additions & 7 deletions pkg/cortex/cortex_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@ import (
"testing"
"time"

"github.com/cortexproject/cortex/pkg/cortex/storage"
"github.com/cortexproject/cortex/pkg/ruler/rulestore"
"github.com/cortexproject/cortex/pkg/ruler/rulestore/local"

"github.com/prometheus/client_golang/prometheus"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
Expand All @@ -24,14 +20,20 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"

"github.com/cortexproject/cortex/pkg/alertmanager"
"github.com/cortexproject/cortex/pkg/alertmanager/alertstore"
"github.com/cortexproject/cortex/pkg/cortex/storage"
"github.com/cortexproject/cortex/pkg/frontend/v1/frontendv1pb"
"github.com/cortexproject/cortex/pkg/ingester"
"github.com/cortexproject/cortex/pkg/ring"
"github.com/cortexproject/cortex/pkg/ring/kv"
"github.com/cortexproject/cortex/pkg/ruler/rulestore"
"github.com/cortexproject/cortex/pkg/ruler/rulestore/local"
"github.com/cortexproject/cortex/pkg/scheduler/schedulerpb"
"github.com/cortexproject/cortex/pkg/storage/bucket"
"github.com/cortexproject/cortex/pkg/storage/bucket/s3"
"github.com/cortexproject/cortex/pkg/storage/tsdb"
"github.com/cortexproject/cortex/pkg/util/flagext"
"github.com/cortexproject/cortex/pkg/util/services"
)

Expand Down Expand Up @@ -92,10 +94,23 @@ func TestCortex(t *testing.T) {
Directory: os.TempDir(),
},
},

Target: []string{All, Compactor},
AlertmanagerStorage: alertstore.Config{
Config: bucket.Config{
Backend: "local",
},
},
Target: []string{All},
}

externalURL := flagext.URLValue{}
err := externalURL.Set("http://localhost/api/prom")
require.NoError(t, err)

multiAlertmanagerCfg := &alertmanager.MultitenantAlertmanagerConfig{}
flagext.DefaultValues(multiAlertmanagerCfg)
multiAlertmanagerCfg.ExternalURL = externalURL
cfg.Alertmanager = *multiAlertmanagerCfg

c, err := New(cfg)
require.NoError(t, err)

Expand All @@ -114,8 +129,9 @@ func TestCortex(t *testing.T) {
require.NotNil(t, serviceMap[Ring])
require.NotNil(t, serviceMap[DistributorService])

// check that compactor is configured which is not part of Target=All
// check compactor and alertmanager are configured.
require.NotNil(t, serviceMap[Compactor])
require.NotNil(t, serviceMap[AlertManager])
}

func TestConfigValidation(t *testing.T) {
Expand Down
5 changes: 3 additions & 2 deletions pkg/cortex/modules.go
Original file line number Diff line number Diff line change
Expand Up @@ -646,7 +646,8 @@ func (t *Cortex) initAlertManager() (serv services.Service, err error) {
return
}

t.API.RegisterAlertmanager(t.Alertmanager, t.Cfg.isModuleEnabled(AlertManager), t.Cfg.Alertmanager.EnableAPI)
apiEnabled := t.Cfg.isModuleEnabled(AlertManager) || t.Cfg.isModuleEnabled(All)
t.API.RegisterAlertmanager(t.Alertmanager, apiEnabled, t.Cfg.Alertmanager.EnableAPI)
return t.Alertmanager, nil
}

Expand Down Expand Up @@ -788,7 +789,7 @@ func (t *Cortex) setupModuleManager() error {
TenantDeletion: {API, Overrides},
Purger: {TenantDeletion},
TenantFederation: {Queryable},
All: {QueryFrontend, Querier, Ingester, Distributor, Purger, StoreGateway, Ruler},
All: {QueryFrontend, Querier, Ingester, Distributor, Purger, StoreGateway, Ruler, Compactor, AlertManager},
}
if t.Cfg.ExternalPusher != nil && t.Cfg.ExternalQueryable != nil {
deps[Ruler] = []string{Overrides, RulerStorage}
Expand Down

0 comments on commit 6913d2b

Please sign in to comment.