Skip to content

Commit

Permalink
fix11
Browse files Browse the repository at this point in the history
  • Loading branch information
庄润梓 committed Jun 21, 2024
1 parent a5d4d42 commit b0232ae
Showing 1 changed file with 21 additions and 32 deletions.
53 changes: 21 additions & 32 deletions tests/e2e/greptimedbcluster_baremetal_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@
package e2e

import (
"context"
"fmt"
"net"
"os"
"os/exec"
"time"
Expand All @@ -30,50 +29,40 @@ import (
var _ = Describe("Basic test of greptimedb cluster", func() {
It("Bootstrap cluster", func() {
var err error
var cmd exec.Cmd

go func() {
err = createClusterinBaremetal()
cmd = newCreateClusterinBaremetalCommand()
err = createClusterinBaremetal(cmd)
Expect(err).NotTo(HaveOccurred(), "failed to create cluster in baremetal")
}()

go func() {
checkInterval := 5 * time.Second
timeout := 100 * time.Second
startTime := time.Now()
for {
if conn, err := net.DialTimeout("Http", "localhost:4000", 2*time.Second); err == nil {
defer conn.Close()
break
}
}

for {
if time.Since(startTime) > timeout {
Expect(fmt.Errorf("failed to get cluster in baremetal")).NotTo(HaveOccurred())
break
}
err = getClusterinBaremetal()
Expect(err).NotTo(HaveOccurred(), "failed to get cluster in baremetal")

err := getClusterinBaremetal()
if err == nil {
break
}
time.Sleep(checkInterval)
}
}()
cmd.Cancel()

go func() {
time.Sleep(100 * time.Second)
err := deleteClusterinBaremetal()
Expect(err).NotTo(HaveOccurred(), "failed to delete cluster in baremetal")
}()
err = deleteClusterinBaremetal()
Expect(err).NotTo(HaveOccurred(), "failed to delete cluster in baremetal")
})
})

func createClusterinBaremetal() error {
ctx, cancel := context.WithTimeout(context.Background(), 100*time.Second)
defer cancel()

cmd := exec.CommandContext(ctx, "../../bin/gtctl", "cluster", "create", "mydb", "--bare-metal")
func newCreateClusterinBaremetalCommand() exec.Cmd {
cmd := exec.Command("../../bin/gtctl", "cluster", "create", "mydb", "--bare-metal")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return *cmd
}
func createClusterinBaremetal(cmd exec.Cmd) error {
if err := cmd.Run(); err != nil {
if ctx.Err() != context.DeadlineExceeded {
return err
}
return err
}
return nil
}
Expand Down

0 comments on commit b0232ae

Please sign in to comment.