Skip to content

Commit

Permalink
Merge pull request containerd#9807 from AkihiroSuda/ctr-print-depreca…
Browse files Browse the repository at this point in the history
…tions

ctr: print deprecation warnings on every invocation
  • Loading branch information
AkihiroSuda authored Feb 14, 2024
2 parents a2cf4fb + 468bee9 commit 32169d5
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
20 changes: 20 additions & 0 deletions cmd/ctr/commands/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,13 @@ package commands

import (
gocontext "context"
"os"
"strconv"

containerd "github.com/containerd/containerd/v2/client"
"github.com/containerd/containerd/v2/pkg/epoch"
"github.com/containerd/containerd/v2/pkg/namespaces"
ptypes "github.com/containerd/containerd/v2/protobuf/types"
"github.com/containerd/log"
"github.com/urfave/cli"
)
Expand Down Expand Up @@ -62,5 +65,22 @@ func NewClient(context *cli.Context, opts ...containerd.Opt) (*containerd.Client
return nil, nil, nil, err
}
ctx, cancel := AppContext(context)
var suppressDeprecationWarnings bool
if s := os.Getenv("CONTAINERD_SUPPRESS_DEPRECATION_WARNINGS"); s != "" {
suppressDeprecationWarnings, err = strconv.ParseBool(s)
if err != nil {
log.L.WithError(err).Warn("Failed to parse CONTAINERD_SUPPRESS_DEPRECATION_WARNINGS=" + s)
}
}
if !suppressDeprecationWarnings {
resp, err := client.IntrospectionService().Server(ctx, &ptypes.Empty{})
if err != nil {
log.L.WithError(err).Warn("Failed to check deprecations")
} else {
for _, d := range resp.Deprecations {
log.L.Warn("DEPRECATION: " + d.Message)
}
}
}
return client, ctx, cancel, nil
}
3 changes: 3 additions & 0 deletions cmd/ctr/commands/deprecations/deprecations.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ var listCommand = cli.Command{
},
},
Action: func(context *cli.Context) error {
// Suppress automatic warnings, since we print the warnings by ourselves.
os.Setenv("CONTAINERD_SUPPRESS_DEPRECATION_WARNINGS", "1")

client, ctx, cancel, err := commands.NewClient(context)
if err != nil {
return err
Expand Down

0 comments on commit 32169d5

Please sign in to comment.