@@ -22,6 +22,7 @@ import (
22
22
"fmt"
23
23
"io"
24
24
"log"
25
+ "math/rand"
25
26
"net/http"
26
27
"os"
27
28
"os/exec"
@@ -346,7 +347,8 @@ func (c *LocalCluster) Start() error {
346
347
if err1 := c .Stop (); err1 != nil {
347
348
log .Printf ("[WARNING] error while stopping :%v" , err )
348
349
}
349
- c .Cleanup (false )
350
+ c .Cleanup (true )
351
+ c .conf .prefix = fmt .Sprintf ("dgraphtest-%d" , rand .NewSource (time .Now ().UnixNano ()).Int63 ()% 1000000 )
350
352
if err := c .init (); err != nil {
351
353
c .Cleanup (true )
352
354
return err
@@ -449,11 +451,7 @@ func (c *LocalCluster) HealthCheck(zeroOnly bool) error {
449
451
if ! zo .isRunning {
450
452
break
451
453
}
452
- url , err := zo .healthURL (c )
453
- if err != nil {
454
- return errors .Wrap (err , "error getting health URL" )
455
- }
456
- if err := c .containerHealthCheck (url ); err != nil {
454
+ if err := c .containerHealthCheck (zo .healthURL ); err != nil {
457
455
return err
458
456
}
459
457
log .Printf ("[INFO] container [%v] passed health check" , zo .containerName )
@@ -470,11 +468,7 @@ func (c *LocalCluster) HealthCheck(zeroOnly bool) error {
470
468
if ! aa .isRunning {
471
469
break
472
470
}
473
- url , err := aa .healthURL (c )
474
- if err != nil {
475
- return errors .Wrap (err , "error getting health URL" )
476
- }
477
- if err := c .containerHealthCheck (url ); err != nil {
471
+ if err := c .containerHealthCheck (aa .healthURL ); err != nil {
478
472
return err
479
473
}
480
474
log .Printf ("[INFO] container [%v] passed health check" , aa .containerName )
@@ -486,18 +480,27 @@ func (c *LocalCluster) HealthCheck(zeroOnly bool) error {
486
480
return nil
487
481
}
488
482
489
- func (c * LocalCluster ) containerHealthCheck (url string ) error {
483
+ func (c * LocalCluster ) containerHealthCheck (url func (c * LocalCluster ) (string , error )) error {
484
+ endpoint , err := url (c )
485
+ if err != nil {
486
+ return errors .Wrap (err , "error getting health URL" )
487
+ }
490
488
for i := 0 ; i < 60 ; i ++ {
491
489
time .Sleep (waitDurBeforeRetry )
492
490
493
- req , err := http .NewRequest (http .MethodGet , url , nil )
491
+ endpoint , err = url (c )
492
+ if err != nil {
493
+ return errors .Wrap (err , "error getting health URL" )
494
+ }
495
+
496
+ req , err := http .NewRequest (http .MethodGet , endpoint , nil )
494
497
if err != nil {
495
- log .Printf ("[WARNING] error building req for endpoint [%v], err: [%v]" , url , err )
498
+ log .Printf ("[WARNING] error building req for endpoint [%v], err: [%v]" , endpoint , err )
496
499
continue
497
500
}
498
501
body , err := doReq (req )
499
502
if err != nil {
500
- log .Printf ("[WARNING] error hitting health endpoint [%v], err: [%v]" , url , err )
503
+ log .Printf ("[WARNING] error hitting health endpoint [%v], err: [%v]" , endpoint , err )
501
504
continue
502
505
}
503
506
resp := string (body )
@@ -523,7 +526,7 @@ func (c *LocalCluster) containerHealthCheck(url string) error {
523
526
return nil
524
527
}
525
528
526
- return fmt .Errorf ("health failed, cluster took too long to come up [%v]" , url )
529
+ return fmt .Errorf ("health failed, cluster took too long to come up [%v]" , endpoint )
527
530
}
528
531
529
532
func (c * LocalCluster ) waitUntilLogin () error {
0 commit comments