Move specific errors to their respective packages

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
Michael Crosby
2019-07-15 20:21:11 +00:00
parent abc152d14c
commit 61d930ad5b
9 changed files with 118 additions and 37 deletions

View File

@@ -0,0 +1,32 @@
/*
Copyright The containerd Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package command
import (
"github.com/pkg/errors"
)
var (
// ErrUnknownLevel is returned when an unknown debugging level is encountered
ErrUnknownLevel = errors.New("unknown level")
// ErrRegisterAndUnregisterService is returned when both register and unregister flags are specified
ErrRegisterAndUnregisterService = errors.New("--register-service and --unregister-service cannot be used together")
// ErrEmptyTopic is returned when no topic is provided
ErrEmptyTopic = errors.New("topic required to publish event")
// ErrEmptyGRCPAddress is returned when the grpc address is empty
ErrEmptyGRCPAddress = errors.New("grpc address cannot be empty")
)

View File

@@ -27,7 +27,6 @@ import (
"runtime"
"time"
"github.com/containerd/containerd/errdefs"
"github.com/containerd/containerd/log"
"github.com/containerd/containerd/mount"
"github.com/containerd/containerd/services/server"
@@ -153,7 +152,7 @@ func App() *cli.App {
ttrpcAddress = fmt.Sprintf("%s.ttrpc", config.GRPC.Address)
)
if address == "" {
return errdefs.ErrEmptyGRCPAddress
return ErrEmptyGRCPAddress
}
log.G(ctx).WithFields(logrus.Fields{
"version": version.Version,

View File

@@ -51,7 +51,7 @@ var publishCommand = cli.Command{
ctx := namespaces.WithNamespace(gocontext.Background(), context.String("namespace"))
topic := context.String("topic")
if topic == "" {
return errdefs.ErrEmptyTopic
return ErrEmptyTopic
}
payload, err := getEventPayload(os.Stdin)
if err != nil {

View File

@@ -27,7 +27,6 @@ import (
"time"
"unsafe"
"github.com/containerd/containerd/errdefs"
"github.com/containerd/containerd/services/server"
"github.com/sirupsen/logrus"
"github.com/urfave/cli"
@@ -162,7 +161,7 @@ func (h *etwHook) Fire(e *logrus.Entry) error {
etype = windows.EVENTLOG_INFORMATION_TYPE
eid = eventDebug
default:
return errdefs.ErrUnknownLevel
return ErrUnknownLevel
}
// If there is additional data, include it as a second string.
@@ -311,7 +310,7 @@ func registerUnregisterService(root string) (bool, error) {
if unregisterServiceFlag {
if registerServiceFlag {
return true, errdefs.ErrRegisterAndUnregisterService
return true, ErrRegisterAndUnregisterService
}
return true, unregisterService()
}

View File

@@ -28,7 +28,6 @@ import (
"github.com/containerd/containerd/cmd/ctr/commands"
"github.com/containerd/containerd/cmd/ctr/commands/run"
"github.com/containerd/containerd/containers"
"github.com/containerd/containerd/errdefs"
"github.com/containerd/containerd/log"
"github.com/containerd/typeurl"
"github.com/urfave/cli"
@@ -65,17 +64,17 @@ var createCommand = cli.Command{
if config {
id = context.Args().First()
if context.NArg() > 1 {
return errdefs.ErrArgConfigFile
return commands.ErrArgConfigFile
}
} else {
id = context.Args().Get(1)
ref = context.Args().First()
if ref == "" {
return errdefs.ErrUnprovidedImageRef
return commands.ErrUnprovidedImageRef
}
}
if id == "" {
return errdefs.ErrEmptyContainerID
return commands.ErrEmptyContainerID
}
client, ctx, cancel, err := commands.NewClient(context)
if err != nil {
@@ -168,7 +167,7 @@ var deleteCommand = cli.Command{
}
if context.NArg() == 0 {
return errdefs.ErrDeleteNoneContainer
return commands.ErrDeleteNoneContainer
}
for _, arg := range context.Args() {
if err := deleteContainer(ctx, client, arg, deleteOpts...); err != nil {
@@ -214,7 +213,7 @@ var setLabelsCommand = cli.Command{
Action: func(context *cli.Context) error {
containerID, labels := commands.ObjectWithLabelArgs(context)
if containerID == "" {
return errdefs.ErrEmptyContainerID
return commands.ErrEmptyContainerID
}
client, ctx, cancel, err := commands.NewClient(context)
if err != nil {
@@ -250,7 +249,7 @@ var infoCommand = cli.Command{
Action: func(context *cli.Context) error {
id := context.Args().First()
if id == "" {
return errdefs.ErrEmptyContainerID
return commands.ErrEmptyContainerID
}
client, ctx, cancel, err := commands.NewClient(context)
if err != nil {

32
cmd/ctr/commands/error.go Normal file
View File

@@ -0,0 +1,32 @@
/*
Copyright The containerd Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package commands
import (
"github.com/pkg/errors"
)
var (
// ErrArgConfigFile is returned when the configuration for a spec is provided
ErrArgConfigFile = errors.New("with spec config file, only container id should be provided")
// ErrUnprovidedImageRef is returned when no image reference is provided
ErrUnprovidedImageRef = errors.New("image ref must be provided")
// ErrEmptyContainerID is returned when no container id is provided
ErrEmptyContainerID = errors.New("container id must be provided")
// ErrDeleteNoneContainer is returned when no container ids are provided for deletion
ErrDeleteNoneContainer = errors.New("must specify at least one container to delete")
)