github.com/grafana/pyroscope@v1.18.0/pkg/test/integration/cluster/cluster_v1.go (about) 1 package cluster 2 3 import ( 4 "context" 5 "fmt" 6 "os" 7 "path/filepath" 8 ) 9 10 func WithV1() ClusterOption { 11 return func(c *Cluster) { 12 c.v2 = false 13 c.expectedComponents = []string{ 14 "distributor", 15 "distributor", 16 "querier", 17 "querier", 18 "ingester", 19 "ingester", 20 "ingester", 21 "store-gateway", 22 "store-gateway", 23 "store-gateway", 24 } 25 } 26 } 27 28 func WithSymbolizer(debuginfodURL string) ClusterOption { 29 return func(c *Cluster) { 30 c.debuginfodURL = debuginfodURL 31 } 32 } 33 34 func (c *Cluster) v1ReadyCheckComponent(ctx context.Context, t *Component) (bool, error) { 35 switch t.Target { 36 case "querier": 37 return true, t.querierReadyCheck(ctx, len(c.perTarget["ingester"]), len(c.perTarget["store-gateway"])) 38 case "distributor": 39 return true, t.distributorReadyCheck(ctx, len(c.perTarget["ingester"]), len(c.perTarget["distributor"]), 0) 40 } 41 return false, nil 42 } 43 44 func (c *Cluster) v1Prepare(_ context.Context, memberlistJoin []string) error { 45 for _, comp := range c.Components { 46 dataDir := c.dataDir(comp) 47 compactorDir := filepath.Join(dataDir, "..", "data-compactor") 48 syncDir := filepath.Join(dataDir, "..", "pyroscope-sync") 49 50 for _, dir := range []string{compactorDir, syncDir} { 51 if err := os.MkdirAll(dir, 0o755); err != nil { 52 return err 53 } 54 } 55 56 comp.flags = c.commonFlags(comp) 57 comp.flags = append(comp.flags, 58 fmt.Sprintf("-blocks-storage.bucket-store.sync-dir=%s", syncDir), 59 fmt.Sprintf("-compactor.data-dir=%s", compactorDir), 60 fmt.Sprintf("-pyroscopedb.data-path=%s", dataDir), 61 "-distributor.replication-factor=3", 62 "-store-gateway.sharding-ring.replication-factor=3", 63 "-query-scheduler.ring.instance-id="+comp.nodeName(), 64 "-query-scheduler.ring.instance-addr="+listenAddr, 65 "-store-gateway.sharding-ring.instance-id="+comp.nodeName(), 66 "-store-gateway.sharding-ring.instance-addr="+listenAddr, 67 "-compactor.ring.instance-addr="+listenAddr, 68 "-compactor.ring.instance-id="+comp.nodeName(), 69 "-ingester.lifecycler.addr="+listenAddr, 70 "-ingester.lifecycler.ID="+comp.nodeName(), 71 "-ingester.min-ready-duration=0", 72 ) 73 74 // handle memberlist join 75 for _, m := range memberlistJoin { 76 comp.flags = append(comp.flags, fmt.Sprintf("-memberlist.join=%s", m)) 77 } 78 } 79 return nil 80 }