github.com/grafana/pyroscope@v1.18.0/pkg/metastore/discovery/kuberesolver_test.go (about) 1 package discovery 2 3 import ( 4 "fmt" 5 "testing" 6 "time" 7 8 "github.com/hashicorp/raft" 9 "github.com/stretchr/testify/require" 10 11 "github.com/grafana/pyroscope/pkg/metastore/discovery/kuberesolver" 12 "github.com/grafana/pyroscope/pkg/test" 13 ) 14 15 func TestDebugLocalhost(t *testing.T) { 16 t.Skip() 17 client := kuberesolver.NewInsecureK8sClient("http://localhost:8080") 18 target := "kubernetes:///pyroscope-metastore-headless.pyroscope-test:9095" 19 20 discovery, err := NewKubeResolverDiscovery(test.NewTestingLogger(t), target, client) 21 require.NoError(t, err) 22 discovery.Subscribe(UpdateFunc(func(servers []Server) { 23 fmt.Printf("servers: %+v\n", servers) 24 })) 25 26 defer discovery.Close() 27 time.Sleep(555 * time.Second) 28 29 } 30 31 func TestConvert(t *testing.T) { 32 e := kuberesolver.Endpoints{ 33 Kind: "Endpoints", 34 ApiVersion: "v1", 35 Metadata: kuberesolver.Metadata{ 36 Name: "pyroscope-metastore-headless", 37 Namespace: "pyroscope-test", 38 ResourceVersion: "1013720", 39 Labels: map[string]string{}, 40 }, 41 Subsets: []kuberesolver.Subset{ 42 { 43 Addresses: []kuberesolver.Address{ 44 { 45 IP: "10.244.1.5", 46 TargetRef: &kuberesolver.ObjectReference{ 47 Kind: "Pod", 48 Name: "pyroscope-metastore-0", 49 Namespace: "pyroscope-test", 50 }, 51 }, 52 { 53 IP: "10.244.2.7", 54 TargetRef: &kuberesolver.ObjectReference{ 55 Kind: "Pod", 56 Name: "pyroscope-metastore-1", 57 Namespace: "pyroscope-test", 58 }, 59 }, 60 { 61 IP: "10.244.3.7", 62 TargetRef: &kuberesolver.ObjectReference{ 63 Kind: "Pod", 64 Name: "pyroscope-metastore-2", 65 Namespace: "pyroscope-test", 66 }, 67 }, 68 }, 69 Ports: []kuberesolver.Port{ 70 { 71 Name: "http2", 72 Port: 4040, 73 }, 74 { 75 Name: "raft", 76 Port: 9099, 77 }, 78 { 79 Name: "grpc", 80 Port: 9095, 81 }, 82 }, 83 }, 84 }, 85 } 86 87 servers := convertEndpoints(e, targetInfo{ 88 namespace: "pyroscope-test", 89 service: "pyroscope-metastore-headless", 90 port: "9095", 91 }) 92 expected := []Server{ 93 { 94 ResolvedAddress: "10.244.1.5:9095", 95 Raft: raft.Server{ 96 ID: raft.ServerID("pyroscope-metastore-0.pyroscope-metastore-headless.pyroscope-test.svc.cluster.local.:9095"), 97 Address: raft.ServerAddress("pyroscope-metastore-0.pyroscope-metastore-headless.pyroscope-test.svc.cluster.local.:9095"), 98 }, 99 }, 100 { 101 ResolvedAddress: "10.244.2.7:9095", 102 Raft: raft.Server{ 103 ID: raft.ServerID("pyroscope-metastore-1.pyroscope-metastore-headless.pyroscope-test.svc.cluster.local.:9095"), 104 Address: raft.ServerAddress("pyroscope-metastore-1.pyroscope-metastore-headless.pyroscope-test.svc.cluster.local.:9095"), 105 }, 106 }, 107 { 108 ResolvedAddress: "10.244.3.7:9095", 109 Raft: raft.Server{ 110 ID: raft.ServerID("pyroscope-metastore-2.pyroscope-metastore-headless.pyroscope-test.svc.cluster.local.:9095"), 111 Address: raft.ServerAddress("pyroscope-metastore-2.pyroscope-metastore-headless.pyroscope-test.svc.cluster.local.:9095"), 112 }, 113 }, 114 } 115 require.Equal(t, expected, servers) 116 117 }