@@ -28,7 +28,6 @@ import (
2828 "syscall"
2929 "time"
3030
31- "github.com/stretchr/testify/require"
3231 gopkgyaml "gopkg.in/yaml.v3"
3332
3433 "k8s.io/apimachinery/pkg/util/wait"
@@ -66,6 +65,13 @@ func scrapeMetricsForServer(t TestingT, srv RunningServer) {
6665 t .Logf ("PROMETHEUS_URL environment variable unset, skipping Prometheus scrape config generation" )
6766 return
6867 }
68+
69+ caFile := filepath .Join (srv .CADirectory (), "apiserver.crt" )
70+ if _ , err := os .Stat (caFile ); os .IsNotExist (err ) {
71+ t .Logf ("CA file %s does not exist, skipping Prometheus scrape config for server %s" , caFile , srv .Name ())
72+ return
73+ }
74+
6975 jobName := fmt .Sprintf ("kcp-%s-%s" , srv .Name (), t .Name ())
7076 labels := map [string ]string {
7177 "server" : srv .Name (),
@@ -75,8 +81,14 @@ func scrapeMetricsForServer(t TestingT, srv RunningServer) {
7581 ctx , cancel := context .WithTimeout (context .Background (), wait .ForeverTestTimeout )
7682 defer cancel ()
7783 repoDir , err := kcptestinghelpers .RepositoryDir ()
78- require .NoError (t , err )
79- require .NoError (t , ScrapeMetrics (ctx , srv .RootShardSystemMasterBaseConfig (t ), promUrl , repoDir , jobName , filepath .Join (srv .CADirectory (), "apiserver.crt" ), labels ))
84+ if err != nil {
85+ t .Logf ("error getting repository directory for server %s: %v" , srv .Name (), err )
86+ return
87+ }
88+
89+ if err := ScrapeMetrics (ctx , srv .RootShardSystemMasterBaseConfig (t ), promUrl , repoDir , jobName , caFile , labels ); err != nil {
90+ t .Logf ("error configuring Prometheus scraping for server %s: %v" , srv .Name (), err )
91+ }
8092}
8193
8294func ScrapeMetrics (ctx context.Context , cfg * rest.Config , promUrl , promCfgDir , jobName , caFile string , labels map [string ]string ) error {
0 commit comments