mirror of
https://github.com/tendermint/tendermint.git
synced 2026-02-08 13:00:08 +00:00
switch exec compose to docker pkg
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
||||
"text/template"
|
||||
|
||||
e2e "github.com/tendermint/tendermint/test/e2e/pkg"
|
||||
"github.com/tendermint/tendermint/test/e2e/pkg/exec"
|
||||
"github.com/tendermint/tendermint/test/e2e/pkg/infra"
|
||||
)
|
||||
|
||||
@@ -93,3 +94,22 @@ services:
|
||||
}
|
||||
return buf.Bytes(), nil
|
||||
}
|
||||
|
||||
// ExecCompose runs a Docker Compose command for a testnet.
|
||||
func ExecCompose(dir string, args ...string) error {
|
||||
return exec.Command(context.Background(), append(
|
||||
[]string{"docker-compose", "-f", filepath.Join(dir, "docker-compose.yml")},
|
||||
args...)...)
|
||||
}
|
||||
|
||||
// ExecComposeVerbose runs a Docker Compose command for a testnet and displays its output.
|
||||
func ExecComposeVerbose(dir string, args ...string) error {
|
||||
return exec.CommandVerbose(context.Background(), append(
|
||||
[]string{"docker-compose", "-f", filepath.Join(dir, "docker-compose.yml")},
|
||||
args...)...)
|
||||
}
|
||||
|
||||
// ExecDocker runs a Docker command.
|
||||
func ExecDocker(args ...string) error {
|
||||
return exec.Command(context.Background(), append([]string{"docker"}, args...)...)
|
||||
}
|
||||
|
||||
@@ -211,7 +211,7 @@ func NewCLI() *CLI {
|
||||
Short: "Stops the Docker testnet",
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
logger.Info("Stopping testnet")
|
||||
return execCompose(cli.testnet.Dir, "down")
|
||||
return docker.ExecCompose(cli.testnet.Dir, "down")
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"github.com/tendermint/tendermint/libs/log"
|
||||
rpctypes "github.com/tendermint/tendermint/rpc/core/types"
|
||||
e2e "github.com/tendermint/tendermint/test/e2e/pkg"
|
||||
"github.com/tendermint/tendermint/test/e2e/pkg/infra/docker"
|
||||
)
|
||||
|
||||
// Perturbs a running testnet.
|
||||
@@ -40,26 +41,26 @@ func PerturbNode(node *e2e.Node, perturbation e2e.Perturbation) (*rpctypes.Resul
|
||||
|
||||
case e2e.PerturbationKill:
|
||||
logger.Info("perturb node", "msg", log.NewLazySprintf("Killing node %v...", node.Name))
|
||||
if err := execCompose(testnet.Dir, "kill", "-s", "SIGKILL", node.Name); err != nil {
|
||||
if err := docker.ExecCompose(testnet.Dir, "kill", "-s", "SIGKILL", node.Name); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := execCompose(testnet.Dir, "start", node.Name); err != nil {
|
||||
if err := docker.ExecCompose(testnet.Dir, "start", node.Name); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
case e2e.PerturbationPause:
|
||||
logger.Info("perturb node", "msg", log.NewLazySprintf("Pausing node %v...", node.Name))
|
||||
if err := execCompose(testnet.Dir, "pause", node.Name); err != nil {
|
||||
if err := docker.ExecCompose(testnet.Dir, "pause", node.Name); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
time.Sleep(10 * time.Second)
|
||||
if err := execCompose(testnet.Dir, "unpause", node.Name); err != nil {
|
||||
if err := docker.ExecCompose(testnet.Dir, "unpause", node.Name); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
case e2e.PerturbationRestart:
|
||||
logger.Info("perturb node", "msg", log.NewLazySprintf("Restarting node %v...", node.Name))
|
||||
if err := execCompose(testnet.Dir, "restart", node.Name); err != nil {
|
||||
if err := docker.ExecCompose(testnet.Dir, "restart", node.Name); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
|
||||
"github.com/tendermint/tendermint/libs/log"
|
||||
e2e "github.com/tendermint/tendermint/test/e2e/pkg"
|
||||
"github.com/tendermint/tendermint/test/e2e/pkg/infra/docker"
|
||||
)
|
||||
|
||||
func Start(testnet *e2e.Testnet) error {
|
||||
@@ -43,7 +44,7 @@ func Start(testnet *e2e.Testnet) error {
|
||||
for len(nodeQueue) > 0 && nodeQueue[0].StartAt == 0 {
|
||||
node := nodeQueue[0]
|
||||
nodeQueue = nodeQueue[1:]
|
||||
if err := execCompose(testnet.Dir, "up", "-d", node.Name); err != nil {
|
||||
if err := docker.ExecCompose(testnet.Dir, "up", "-d", node.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := waitForNode(node, 0, 15*time.Second); err != nil {
|
||||
@@ -97,7 +98,7 @@ func Start(testnet *e2e.Testnet) error {
|
||||
|
||||
logger.Info("Starting catch up node", "node", node.Name, "height", node.StartAt)
|
||||
|
||||
if err := execCompose(testnet.Dir, "up", "-d", node.Name); err != nil {
|
||||
if err := docker.ExecCompose(testnet.Dir, "up", "-d", node.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
status, err := waitForNode(node, node.StartAt, 3*time.Minute)
|
||||
|
||||
Reference in New Issue
Block a user