Skip to content

Commit b04db5e

Browse files
committed
diagnostic logs
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
1 parent afb40fb commit b04db5e

2 files changed

Lines changed: 19 additions & 4 deletions

File tree

pkg/compose/plan_executor.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
"github.com/containerd/errdefs"
3131
containerType "github.com/moby/moby/api/types/container"
3232
"github.com/moby/moby/client"
33+
"github.com/sirupsen/logrus"
3334
"go.opentelemetry.io/otel"
3435
"go.opentelemetry.io/otel/attribute"
3536
"go.opentelemetry.io/otel/codes"
@@ -163,6 +164,7 @@ func (s *composeService) ExecutePlan(ctx context.Context, project *types.Project
163164
if _, err := topologicalSort(plan); err != nil {
164165
return err
165166
}
167+
logrus.Debugf("plan: executing %d operations", len(plan.Operations))
166168

167169
// Pre-populate execution state with existing containers so that
168170
// resolveServiceReferences can find containers for services not
@@ -199,9 +201,11 @@ func (s *composeService) ExecutePlan(ctx context.Context, project *types.Project
199201
for {
200202
select {
201203
case <-ctx.Done():
204+
logrus.Debugf("plan: consumer exiting on context cancellation, %d operations remaining", expect)
202205
return nil
203206
case doneOp := <-opCh:
204207
expect--
208+
logrus.Debugf("plan: operation %s completed, %d remaining", doneOp.ID, expect)
205209
if expect == 0 {
206210
return nil
207211
}
@@ -211,6 +215,7 @@ func (s *composeService) ExecutePlan(ctx context.Context, project *types.Project
211215
depCount[depID]--
212216
if depCount[depID] == 0 {
213217
depOp := plan.Operations[depID]
218+
logrus.Debugf("plan: scheduling %s (%s) — all dependencies satisfied", depOp.ID, depOp.Type)
214219
eg.Go(func() error {
215220
if err := s.executeOperation(ctx, project, depOp, state); err != nil {
216221
return err
@@ -226,6 +231,7 @@ func (s *composeService) ExecutePlan(ctx context.Context, project *types.Project
226231

227232
// Launch root operations
228233
for _, op := range plan.Roots() {
234+
logrus.Debugf("plan: launching root operation %s (%s)", op.ID, op.Type)
229235
eg.Go(func() error {
230236
if err := s.executeOperation(ctx, project, op, state); err != nil {
231237
return err
@@ -254,6 +260,7 @@ func (s *composeService) executeOperation(ctx context.Context, project *types.Pr
254260

255261
err := s.dispatchOperation(ctx, project, op, state)
256262
if err != nil {
263+
logrus.Debugf("plan: operation %s failed: %v", op.ID, err)
257264
span.SetStatus(codes.Error, err.Error())
258265
span.RecordError(err)
259266
} else {

pkg/e2e/compose_up_test.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,19 @@ func TestLoggingDriver(t *testing.T) {
104104
host = "HOST=host.docker.internal"
105105
}
106106

107-
cmd := c.NewDockerComposeCmd(t, "-f", "fixtures/logging-driver/compose.yaml", "--project-name", projectName, "up", "-d")
107+
cmd := c.NewDockerComposeCmd(t, "--verbose", "-f", "fixtures/logging-driver/compose.yaml", "--project-name", projectName, "up", "-d")
108108
cmd.Env = append(cmd.Env, host, "BAR=foo")
109-
icmd.RunCmd(cmd).Assert(t, icmd.Success)
109+
cmd.Timeout = 60 * time.Second
110+
res = icmd.RunCmd(cmd)
111+
t.Logf("first up stdout:\n%s", res.Stdout())
112+
t.Logf("first up stderr:\n%s", res.Stderr())
113+
res.Assert(t, icmd.Success)
110114

111-
cmd = c.NewDockerComposeCmd(t, "-f", "fixtures/logging-driver/compose.yaml", "--project-name", projectName, "up", "-d")
115+
cmd = c.NewDockerComposeCmd(t, "--verbose", "-f", "fixtures/logging-driver/compose.yaml", "--project-name", projectName, "up", "-d")
112116
cmd.Env = append(cmd.Env, host, "BAR=zot")
113-
icmd.RunCmd(cmd).Assert(t, icmd.Success)
117+
cmd.Timeout = 60 * time.Second
118+
res = icmd.RunCmd(cmd)
119+
t.Logf("second up stdout:\n%s", res.Stdout())
120+
t.Logf("second up stderr:\n%s", res.Stderr())
121+
res.Assert(t, icmd.Success)
114122
}

0 commit comments

Comments
 (0)